8.adc、sbb、cmp、je、ja、jb指令
1.adc
adc为带进位的加法
mov ax,ffff
mov bx,1
add ax,bx
adc cx,1
可以发现cx多加了1,是因为前面add ax,bx发生了进位
2.sbb
sbb为带借位的减法
mov ax,1
mov bx,2
sub ax,bx
sbb cx,1
可以发现cx多减了1,是因为前面的sub运算发生了借位
3.cmp、je(jz)、ja、jb
cmp用于比较,本质是减法但不保存结果
-
可以配合带条件的跳转使用
-
je (jump if equal) / jz (jump if zero)
- 如果相等(相减等于零)则跳转,ZF=1
-
ja (jump if above)
-
如果大于则跳转,CF=0 and ZF=0
-
jb (jump if below)
-
如果小于则跳转,CF=1