为什么 JB 没有做准确的 CMP
Why JB isn't doing accurate CMP
在emu8086中,我写了这段代码
include 'emu8086.inc'
org 100h
MOV AX,-1
CMP AX,0
JB case1
case2:
printn 'This line should not be displayed'
case1:
print 'I want this line'
ret
应该只打印案例 1,但在本例中输出显示了两种情况。我做错了什么?
JB
(低于则跳转)用于无符号整数,类似于JNAE
(不高于或等于则跳转)。
因此,如果您想与有符号整数(在您的情况下为 -1)进行比较,则必须使用 JL
(如果小于则跳转)或 JNGE
(如果不大于则跳转或等于)
在emu8086中,我写了这段代码
include 'emu8086.inc'
org 100h
MOV AX,-1
CMP AX,0
JB case1
case2:
printn 'This line should not be displayed'
case1:
print 'I want this line'
ret
应该只打印案例 1,但在本例中输出显示了两种情况。我做错了什么?
JB
(低于则跳转)用于无符号整数,类似于JNAE
(不高于或等于则跳转)。
因此,如果您想与有符号整数(在您的情况下为 -1)进行比较,则必须使用 JL
(如果小于则跳转)或 JNGE
(如果不大于则跳转或等于)