简单的8086比较指令问题

时间:2011-04-26 13:31:37

标签: assembly x86-16 cmp

最近我有一个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

为什么会这样?

1 个答案:

答案 0 :(得分:4)

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