搜索
编程论坛
→
开发语言
→
『 汇编论坛 』
→ 求指点迷津——带进位任意位加法的问题
标题:
求指点迷津——带进位任意位加法的问题
只看楼主
丶wist
等 级:
新手上路
帖 子:12
专家分:5
注 册:2014-10-21
结帖率:
0
楼主
问题点数:0 回复次数:4
求指点迷津——带进位任意位加法的问题
之前已经做过固定两个5位数12345和67890带进位相加,现在深入做由键盘输入要相加的两个数,而且是任意位的,目前是想设置一个段,存放“xx+xxxx=”当判断到为“+”号时第一个数输入完毕,为“=”时第二个数输入完毕,然后相加输出,可是,可是具体操作起来捉襟见肘呀,希望前辈们能指点迷津!
搜索更多相关主题的帖子:
而且
键盘
2014-10-23 09:44
wp231957
来 自:神界
等 级:
版主
威 望:
422
帖 子:13681
专家分:53296
注 册:2012-10-18
第
2
楼
得分:0
这个还是使用高级语言做比较适合
DO IT YOURSELF !
2014-10-23 10:23
丶wist
等 级:
新手上路
帖 子:12
专家分:5
注 册:2014-10-21
第
3
楼
得分:0
回复 2 楼 wp231957
高级语言当然没这么费劲了,可现在在学汇编,得用汇编来的,脑大了
2014-10-23 16:21
hu9jj
来 自:红土地
等 级:
贵宾
威 望:
396
帖 子:11713
专家分:43267
注 册:2006-5-13
第
4
楼
得分:0
从键盘缓冲区中逐个读入字符码,遇到“+”则结束被加数读入,继续读入加数,遇到“=”则进行运算。若读到除0-9,+,-之外的字符则结束程序。
活到老,学到老! http://www. E-mail:hu-jj@
2014-10-23 17:03
丶wist
等 级:
新手上路
帖 子:12
专家分:5
注 册:2014-10-21
第
5
楼
得分: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
5
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-437568-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.104912 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved