关于汇编AAA指令

关于汇编AAA指令,第1张

首先你得知道什么是BCD码,因为人们习惯使用10进制,所以计算机如果能按照十进制计算就更直观方便,为此就要对数进行编码,即BCD码。BCD码的运算规则为逢十进一,而计算机实际上是按照二进制进行计算的,所以必须对结果进行调整。而BCD码又分为压缩和非压缩,它们的调整又是不同的。对于压缩BCD码而言,低四位二进制结果如果大于9,就要加6调整;高四位二进制如果大于9,就要进行加60h调整。你问的AAA为非压缩BCD码调整,即如果al低四位大于9,就将al加6,ah加一,al高四位清零,cf、af置1。

你问aaa的用法,简单的说就是用于非压缩BCD码加法调整。就是经过AAA指令后结果假如是24h,那么他表示的是24。就是把结果转换成直观的十进制。

指令功能:对2个《未组合的BCD码》相加后的结果(必须在AL中)进行调整,产生一个正确的BCD码。

要注意,条件是:未组合的BCD码。

……

mov ax,0efh --这不是未组合的BCD码

add al,0eh --这不是未组合的BCD码

aaa应用条件,并不具备,其结果,就不必费心来讨论了

……

加法的非压缩BCD码调整指令AAA

AAA AL←将AL中的加和调整为非压缩BCD码,AH←AH+调整产生的进位

该指令跟在以AL为目的 *** 作数的ADD或ADC指令之后,对AL进行非压缩BCD码调整;如果调整中产生了进位,则将进位1加到AH中,同时CF=AF=1否则CF=AF=0。AAA指令对其他标志无定义。使AL的高4位清0。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11830374.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存