为什么 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(如果不大于则跳转或等于)