7.42 王爽汇编语言(三十九)

中间笔记

sbb 指令:带借位减法指令,利用了 CF 位上记录的借位值; 指令格式: sbb 操作对象1, 操作对象2 如 sbb ax, bx 等价于 (ax) = (ax) - (bx) - CF;

其和 adc 指令类似,就不多说了;

cmp 指令:比较指令,cmp 操作对象1, 操作对象2 功能:计算操作对象1 - 操作对象2,但是不保存结果,只影响标志寄存器;

cmp 指令进行无符号数比较时, zf = 1, 说明 (ax) == (bx) zf = 0, 说明 (ax) != (bx) cf = 1, 说明 (ax) < (bx) cf = 0, 说明 (ax) >= (bx) cf = 0 并且 zf = 0, 说明 (ax) > (bx) cf =1 或 zf = 1,说明 (ax) <= (bx)

cmp 指令进行有符号数比较时,参考书 P225; 如 cmp ah, bh sf = 1, of = 0,则 (ah) < (bh),运算结果为负数,但是没有溢出,说明运算结果就是实际结果; sf = 1, of = 1, 则 (ah) > (bh),运算结果为负数,但是溢出,说明运算结果和实际结果相反,实际结果应该是正数; sf = 0, of = 1, 则 (ah) < (bh),运算结果为非负数,但是溢出,说明运算结果和实际结果相反,实际结果应该是负数; sf = 0, of = 0, 则 (ah) >= (bh),运算结果为非负数,没有溢出,说明运算结果和实际结果相同,实际结果应该是正数或者零;

总结

学习到 书 p255 11.9小节;

Last Updated:
Contributors: Hunter-0x07