| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1613 人关注过本帖
标题:有懂【【【PCSPIM】】】程序的大虾吗?请进来尝试下...
只看楼主 加入收藏
yanxunhao
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-11-28
收藏
 问题点数:0 回复次数:6 
有懂【【【PCSPIM】】】程序的大虾吗?请进来尝试下...
  bgColor=#ffffff border=1>
最近在学PCSPIM  
自学还是很困难,请懂的大虾赐教.  
如何编译:输入一个数字,如果是正整数,那么结果为百位,十位,个位数字相加之和,如果输入不是正整数,那么输出error.  

例如,输入数字728,那么结果为17.  

懂的大虾请赐教  
我编出来总是不能符合题意


用汇编也行
搜索更多相关主题的帖子: PCSPIM 数字 整数 
2007-11-28 11:27
zhoulikelvjj
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2007-4-10
收藏
得分:0 
判断第一个字符是不是'-',是就输出ERROR
不是再用除10取余法挨个着加
2007-11-28 12:53
yanxunhao
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-11-28
收藏
得分:0 
该怎么做呢?
能不能帮忙大概写下,十分感谢
2007-11-28 15:01
zhoulikelvjj
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2007-4-10
收藏
得分:0 
data segment
prompt1 byte "input a string:",'$'
prompt2 byte "error!",'$'
string byte 100 dup (?)
num    word ?
outstring byte 5 dup (?),'$'
data ends
code segment 'code'
        assume ds:data,cs:code

start:
        mov ax,data
        mov ds,ax
        mov si,0
        mov ah,9
        lea dx,prompt1
        int 21h

    AGN:mov ah,1        ;输入部分,遇回车退出输入
        int 21h
        cmp al,0dh
        jz EXT
        mov string[si],al
        inc si
        jmp AGN

    EXT:mov cx,si
        mov si,0
        cmp string[si],'-'          ;如果是负号就跳到ERR.输入"ERROR!"
        jz ERR
        mov bx,0
        xor ax,ax
   ATOD:mov al,string[si]           ;依次取一个字符,然后转换为整数,加在BX里
        sub al,30h
        add bx,ax
        inc si
        loop ATOD
        mov num,bx                  ;放在num里储存
        jmp OUTP   

    ERR:mov dl,0dh                  ;输出ERROR!
        mov ah,2
        int 21h
        mov dl,0ah
        int 21h
        lea dx,prompt2
        mov ah,9
        int 21h
        jmp EXIT

   OUTP:mov si,4                    ;输出部分
        mov ax,num
        mov bx,10
   AGN1:xor dx,dx                   ;对num除10取余.然后逆序放入outstring变量里
        div bx
        or dl,30h
        mov outstring[si],dl
        dec si
        cmp ax,0
        jnz AGN1
        mov dl,0dh                  ;输出回车换行后输出outstring里的内容
        mov ah,2
        int 21h
        mov dl,0ah
        int 21h
        lea dx,outstring
        mov ah,9
        int 21h
        
   EXIT:mov ah,4ch
        int 21h

code ends
end start
2007-11-28 16:03
yanxunhao
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-11-28
收藏
得分:0 
大虾,真的很谢谢你,但是我执行还是有点错误...
2007-11-28 16:08
zhoulikelvjj
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2007-4-10
收藏
得分:0 
怎么会有错误呢?我运行过好几遍了..
2007-11-28 16:09
yanxunhao
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-11-28
收藏
得分:0 
啊,大虾,那你加我QQ好吗
344346560
2007-11-28 16:10
快速回复:有懂【【【PCSPIM】】】程序的大虾吗?请进来尝试下...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030502 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved