11.9 检测比较结果的条件转移指令
“转移”指它能修改IP,而“条件”指的是它可以根据某种条件,决定是否修改IP。
因为cmp指令可以同时进行两种比较,无符号数和有符号数比较。所以根据cmp指令的比较结果进行转移的指令也分为两张,即根据无符号数的比较结果进行转移的条件转移指令(它们检测zf、cf的值)和根据有符号数的比较结果进行转移的条件转移指令(它们检测sf、of和zf的值)


例:编程实现以下功能
如果(ah)=(bh)则(ah)=(ah)+(ah),否则(ah)=(ah)+(bh)
cmp ah,bh
je s
add ah,bh
jmp short ok
s: add ah,ah
ok:
练习:data段中数据

编程:统计data段中等于8的字节个数
mov ax,data
mov ds,ax
mov bx,0
mov ax,0
mov cx,8
s: cmp byte ptr [bx],8
jne next
inc ax
next:inc bx
loop s
编程:统计data段中数值大于8的字节个数
mov ax,0
mov cx,8
s: push cx
cmp byte ptr ds:[si],8
ja s1
jmp short s2
s1: inc ax
s2: inc si
pop cx
loop s
有符号数判断条件:
