请问:请简要解释一下汇编指令DAA

两个组合BCD码的加法运算MOVAL,37HMOVBL,35HADDAL,BL;两个16进制数相加,AL此时为37H+35H=6CDAA;DAA调整,这时AL为72H。这... 两个组合BCD码的加法运算
MOV AL,37H
MOV BL,35H
ADD AL,BL ;两个16进制数相加,AL此时为37H+35H=6C
DAA ;DAA调整,这时AL为72H。
这个DAA指令怎么使16进制的加法最终结果却与10进制加法相同,即:37D+35D==72D。
另外,有个说法:汇编语言编写时,如果后面不加字母表示编译器默认它是十进制,所以这个D加与不加没影响,都是十进制,但是我发现在E指令之中并非如此,如果什么都不加,系统实际是按16进制记录的。
展开
 我来答
283802332
推荐于2017-10-07 · TA获得超过3311个赞
知道小有建树答主
回答量:367
采纳率:0%
帮助的人:215万
展开全部

  MOV AL,37H

  MOV BL,35H

  ADD AL,BL ;

       执行以上3步后,AL = 6CH

 

  • DAA的功能:将AL的内容调整为两位组合型的二进制数。DAA的用法: 如果AL的低4位大于9或AF=1,则AL的内容加06H,并将AF置1;然后如果AL的高4位大于9或CF=1,则AL的内容加60H,且将CF置1。如果两个都不满足,则将AF,CF清零。

  首先AL = 6CH = 0110 1100B因为AL的低四位1100B大于9,所以AL = AL+06H = 72H,且AF = 1;

  • 这个DAA指令怎么使16进制的加法最终结果却与10进制加法相同,即:37D+35D==72D。

       这里不明白楼主想表达什么?不好意思了

 

  • 另外,有个说法:汇编语言编写时,如果后面不加字母表示编译器默认它是十进制,所以这个D加与不加没影响,都是十进制

       是的,但是如果程序编译运行后,你编写的十进制在内存中将会被自动转换成十六进制哦

 

  • 但是我发现在E指令之中并非如此,如果什么都不加,系统实际是按16进制记录的。

  首先,楼主的观察力很强,赞一个.

       因为DEBUG XXX.EXE后,程序就载入了内存中,而数据在内存中都是以十六进制数表示的哦;  所以,如果你编写的程序有十进制数的话,程序载入内存后,会自动转换成十六进制数哦

 

      PS:若有不明白的地方,可以追问

来自:求助得到的回答
Sievers分析仪
2025-07-02 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准... 点击进入详情页
本回答由Sievers分析仪提供
新小无1X
2012-09-20 · TA获得超过1.4万个赞
知道大有可为答主
回答量:1436
采纳率:11%
帮助的人:775万
展开全部
MOV AL,37H
MOV BL,35H
ADD AL,BL ;两个16进制数按二进制相加,即ADD是二进制加法指令 AL此时为37H+35H=6C

DAA;调整,根据程序状态字的进位、辅助进位的调整
将 6CH 调整为72H。

呵呵 满意就给加分哦
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5f01cd8
2018-04-11 · TA获得超过195个赞
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

组合(压缩)BCD码的加法调整指令。

格式:DAA

功能:将AL的内容调整为两位组合型的二进制数。调整方法与AAA指令类似,不同的是DAA指令要分别考虑AL的高4位和低4位。

如果AL的低4位大于9或AF=1,则AL的内容加06H,并将AF置1;然后如果AL的高4位大于9或CF=1,则AL的内容加60H,且将CF置1。如果两个都不满足,则将AF,CF清零。

例:

两个组合BCD码的加法运算

MOV AL,37H

MOV BL,35H

ADD AL,BL ;两个16进制数相加,AL此时为37H+35H=6C

DAA ;DAA调整,这时AL为72H。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式