1

最近我有一个 8086 组装作业要完成,我尝试使用 CMP 指令,但无法正确使用。代码如下:

MOV AL, 88h
   CMP AL, 24h
   JL  exit
label:
   mov al,4h
exit:
   RET

当我调试它时,在 jl 之后它会直接跳转到exit: 但下面的代码工作正常

MOV AL, 88
   CMP AL, 24
   JL  exit
label:
   mov al,4h
exit:
   RET

为什么会这样?

4

1 回答 1

4

JL 使用有符号条件。从有符号的角度来看,88h 是一个负数。如果您希望 24h 被视为小于 88h,您有几个选择——最明显的是使用无符号条件,这意味着使用jb而不是jl.

于 2011-04-26T13:36:15.700 回答