汇编语言题目 求解 10

DA1DB56H,78H,67H,78HDA2DB2DUP(?)MOVAL,DA1ADDAL,DA1+2DAAMOVDA2,ALMOVAL,DA1十1ADCAL,DA1+... DA1 DB 56H,78H,67H,78H
DA2 DB 2 DUP(?)
MOV AL,DA1
ADD AL,DA1+2
DAA
MOV DA2, AL
MOV AL,DA1十1
ADC AL,DA1+3
DAA
MOV DA2+1,AL

(DA2)=?
(DA2+1)=?
CF=?
展开
 我来答
汤旺河边
推荐于2021-02-20 · TA获得超过2.9万个赞
知道大有可为答主
回答量:2675
采纳率:0%
帮助的人:2964万
展开全部
MOV AL,DA1 ;56H→AL,AF=0,CF=0
ADD AL,DA1+2 ;56H+67H=BDH→AL,AF=0,CF=0
DAA ;BDH→23H→AL,AF=1,CF=1
MOV DA2,AL ;AL→DA2,AF=1,CF=1
MOV AL,DA1+1 ;78H→AL,AF=1,CF=1
ADC AL,DA1+3 ;78H+78H+CF=F1H→AL,AF=1,CF=0
DAA ;F1H→57H→AL,AF=1,CF=1
MOV DA2+1,AL ;AL→DA2+1,AF=1,CF=1

(DA2)=23H
(DA2+1)=57H
CF=1

十进制数加调整指令DAA(Decimal Adjust After Addition),该指令用于调整AL的值,该值是由指令ADD或ADC运算二个压缩型BCD码所得到的结果。压缩型BCD码是一个字节存放二个BCD码,低四位和高四位都是一个BCD码。

调整规则如下:
如果AL的低四位大于9,或标志位AF=1,那么,AL=AL+6,并置AF=1;
如果AL的高四位大于9,或CF=1,那么,AL=AL+60H,并置CF=1;
如果以上两点都不成立,则,清除标志位AF和CF。

经过调整后,AL的值仍是压缩型BCD码,即:二个压缩型BCD码相加,并进行调整后,得到的结果还是压缩型BCD码。

指令格式:DAA
受影响的标志位:AF、CF、PF、SF和ZF(OF无定义)
神牧林
2010-03-03 · TA获得超过360个赞
知道小有建树答主
回答量:544
采纳率:0%
帮助的人:307万
展开全部
(DA2)=BDH
(DA2+1)=F0H
CF=0
应该是这个吧.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式