永发信息网

这个汇编程序为什么运行出来不对?

答案:2  悬赏:70  手机版
解决时间 2021-07-30 09:02
DATA SEGMENT
NUM DB 09H,16H,04H,17H,05H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AL,[NUM+2]
IMUL [NUM+3]
MOV BL,AL
MOV AL,[NUM]
ADD AL,[NUM+1]
SUB AL,BL
CBW
IDIV [NUM+4]
MOV BL,AL
MOV CL,4
SHR AL,CL
MOV CL,0AH
DIV CL
ADD DL,30H
MOV AH,02H
INT 21H
MOV AL,BL
MOV CL,4
SHL AL,CL
SHR AL,CL
MOV CL,0AH
DIV CL
ADD DL,30H
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
最佳答案
你这程序的目的是什么呢?
全部回答

算法错了!不知道你是想输出16进制还是10进制,

1.移4位通常然后调用2号中断就可以输出16进制,

但你后面除10貌似又想输出10进制,

2.输出10进制的做法应该是除10取余进栈计数到余数为0止,

然后再调用2号中断出栈输出该10进制数

此算法还存在一个重大的错误,就是在除05H之前算出来的结果就是负数

所以不能直接除,还应该判断一下是否是负数,是则输出负号且neg一下得到它的相反数也就是取绝对值,

把符号位置0,否则符号位会参与运算,导致结果出错!!

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
石首市荆州绿叶生活连锁超市我想知道这个在什
爱真的可以挽回吗?
喝水都牙痛怎么好啊
励志文艺小清新句子,亲爱的电影达人帮忙~必重
被人误会了怎么办呀?
男生怎么练劈腿
南乐县濮阳荣城普域网咖地址在什么地方,想今
有没有不是品冠唱的那些女孩教我的事啊
哪个网站的书比较好看?
冬天要吃什么最养胃
郑和下西洋,到达最远的地方是哪里?
网络里的爱情会有结果吗?
真正对你好的人会怎么对待你?
000796(7.00买进) 000005 (5.00买进)有机
低音炮发出‘呲呲’的声音
推荐资讯
在一台电脑上可以同时挂2个qq吗?
大悟县孝感可可平价便利店地址在哪,我要去那
檗璺戕黹 是什么意思
建议在U盘里储存什么比较好
戏闹的反义词和潜的多音字。
泰来县齐齐哈尔好口味熟食怎么去啊,谁知道地
平桥区信阳王二水饺我想知道这个在什么地方
DNF无限连接问题
小刀现在多少钱一瓶了?
临颍县漯河汇丰机电商行地址是什么,有没有知
柯南第13部剧场版的问题
高中生每天最少要休息几小时?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?