十进制数调整指令对二进制运算的结果进行十进制调整,以得到十进制的运算结果
2.分成压缩BCD码和非压缩BCD码调整
简而言之:
以前的时候你有个手表,里面的数字是九,如果加一个1就是0...)
al = 68h + 28h = 90h
但是因为daa了,所以是十进制进位 是96
简单理解就是,本来16进制 9+1 = A的,但是十进制调整,就不能是A了,需要变为0,结果是10了
DAA的内部原理就是遇到...2.AND指令设置CF = OF = 0,根据结果设置SF、ZF和PF状态,而对AF未定义
AND 就是C语言的与运算,1 & 1 = 1 1&0 = 0
2.逻辑指令 OR(或运算)
作用:
1...)
作用:
将操作数移动一位或多位,分成逻辑移位和算术移位,分别具有左移或右移操作
操作指令:
SHL reg/mem,1/CL (其中CL是次数,在8086的中,移动一次可以直接写,但是移动多次比如放到计数器中...逻辑右移SHR 值CF位补零
SAR则补符号位
移位指令对标志的影响
按照移入的位设置进位标志CF
根据移位后的结果影响SF、ZF、PF
对AF没有定义
如果进行一位移动,则按照操作数的最高符号位是否改变