永发信息网

汇编语言大神速速前来领分

答案:2  悬赏:30  手机版
解决时间 2021-02-14 18:41
【程序】设X和Y均为16位无符号数,写一个求表达式X+Y值的程序。
DSEG SEGMENT ;数据段
X DW 1234H
Y DW 5678H
Z DW ?
DSEG ENDS
CSEG SEGMENT ;代码段
ASSUME CS:CSEG,DS:DSEG
START: MOV AX,DSEG ;段寄存器初值
MOV DS,AX
MOV AX,X
ADD AX,Y ;求x+y和
MOV Z,AX ;保存
MOV AH,4CH
INT 21H ;程序结束退出
CSEG ENDS
END START

【请回答】本程序没有考虑进位的情况。如果考虑可能产生的进位,应该如何修改程序?
最佳答案
DSEG SEGMENT ;数据段
X DW 1234H
Y DW 5678H
Z DW ?, ? ;多留一个字空间
DSEG ENDS
CSEG SEGMENT ;代码段
ASSUME CS:CSEG, DS:DSEG
START:
MOV AX, DSEG ;段寄存器初值
MOV DS, AX
;--------------------------------
MOV AX, X
ADD AX, Y ;求x+y和
MOV Z, AX ;保存
MOV AX, 0
ADC AX, 0 ;0 + 0 + CF
MOV Z + 2, AX ;保存进位
;--------------------------------
MOV AH, 4CH
INT 21H ;程序结束退出
CSEG ENDS
END START
全部回答
如果要考虑进位的情况,那么我们就要用ADC指令   ADC是带进位的加法指令,他利用了CF位上记录的进位制   例如   ADC AX,CX 那么实现的功能是AX = AX + CX + CF   所以楼主你的程序应该改成这样   DSEG SEGMENT ;数据段   X DW 1234H   Y DW 0F678H Z DW 0 ;*改了这里   DSEG ENDS   CSEG SEGMENT ;代码段   ASSUME CS:CSEG,DS:DSEG   START: MOV AX,DSEG ;段寄存器初值   MOV DS,AX   MOV AX,X   ADD AX,Y ;求x+y和 ADC BYTE PTR Z[2],0 ;*改了这里,将进位存到Z:2的内存处   ADD Z,AX ;保存   MOV AH,4CH   INT 21H ;程序结束退出   CSEG ENDS END START PS:若有不明白的地方,可以追问
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
地暖里加防冻液可以吗
蜂涌理财怎么才能收益更多?
京沪高速公路/牛房立交桥(路口)地址有知道的
影居院台球室怎么去啊,我要去那办事
关于补充地面气象观测要求的叙述,说法正确的
谁能给我解释一下表面张力,润湿性,毛细管力
艾莱克台球地址好找么,我有些事要过去
朝阳饭庄地址有知道的么?有点事想过去
下列各项属于法定的涉税鉴证业务的有()。A.
安乡县常德安乡县水利局这个地址在什么地方,
如何加强和改进新形势下大学生思想政治教育工
中国联通(金鸡坡街道秋凤合作厅)我想知道这个
昨天西安天气怎么样?下了一天的雨翻译
桌球好友俱乐部地址在什么地方,想过去办事
什么是不及物动词
推荐资讯
一个直角三角形三条边的长度分别是3分米、4分
朋友是老师,教师节发66,6红包是何寓意
中国银行聪明购苹果台式机最多可用多少积分抵
打群架 叫不了人 单挑 又赢不过 怎么办
海淘3月3日ups显示已经签收,但是12日还未入库
日本短篇推理小说
超级大乐透前区全中其中一位数是后区的中奖数
高音高不上去,低音低不了,我能唱什么歌,求
美利达挑战者320和300到底买哪个好?犹豫中,请
请问,去哪兑换道具啊?,我买了本,里面说可以
站东旅社怎么去啊,有知道地址的么
在字母上面加声调.”我好想你“四个字的拼音
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?