| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4664 人关注过本帖
标题:求指点迷津——带进位任意位加法的问题
只看楼主 加入收藏
丶wist
Rank: 1
等 级:新手上路
帖 子:12
专家分:5
注 册:2014-10-21
结帖率:0
收藏
 问题点数:0 回复次数:4 
求指点迷津——带进位任意位加法的问题
之前已经做过固定两个5位数12345和67890带进位相加,现在深入做由键盘输入要相加的两个数,而且是任意位的,目前是想设置一个段,存放“xx+xxxx=”当判断到为“+”号时第一个数输入完毕,为“=”时第二个数输入完毕,然后相加输出,可是,可是具体操作起来捉襟见肘呀,希望前辈们能指点迷津!
搜索更多相关主题的帖子: 而且 键盘 
2014-10-23 09:44
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
这个还是使用高级语言做比较适合

DO IT YOURSELF !
2014-10-23 10:23
丶wist
Rank: 1
等 级:新手上路
帖 子:12
专家分:5
注 册:2014-10-21
收藏
得分:0 
回复 2 楼 wp231957
高级语言当然没这么费劲了,可现在在学汇编,得用汇编来的,脑大了
2014-10-23 16:21
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11771
专家分:43421
注 册:2006-5-13
收藏
得分:0 
从键盘缓冲区中逐个读入字符码,遇到“+”则结束被加数读入,继续读入加数,遇到“=”则进行运算。若读到除0-9,+,-之外的字符则结束程序。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2014-10-23 17:03
丶wist
Rank: 1
等 级:新手上路
帖 子:12
专家分:5
注 册:2014-10-21
收藏
得分:0 
回复 4 楼 hu9jj
DATAS SEGMENT
    X DB 100 DUP(0)
      DB ?
    Y DB 10 DUP(0)      
DATAS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS
START:
    MOV AX,DATAS
    MOV DS,AX
   
    MOV BX,0 ;
    MOV SI,0 ;
   
 X3:  
    MOV AH,01H
    INT 21H
    CMP AL,2BH ;
    JZ X1 ;等于+号时转移到X1
    MOV X[BX],AL
    INC BX
    INC SI
    JMP X3
   
 X1:
    INC SI;加上+号位长度
    MOV AH,01H
    INT 21H
    CMP AL,3DH
    JZ X2 ;等于=号时转移到X2
    MOV X[SI],AL
    INC BX
    INC SI
    JMP X1
   
 X2:
    INC SI; 加上=号位长度        
   
   
   
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START


初步代码如上,但是在做到相加时出现了麻烦,因为位数不一样加起来会比较复杂,设两个数123+45678,于是想到,123放到段底,45678也放到另一个段底,这样其余存储单元都为零之后依次加起来
2014-10-24 16:37
快速回复:求指点迷津——带进位任意位加法的问题
数据加载中...
 
   



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

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