8051 汇编中的 JL 等效项

JL equivalent in 8051 assembly

我正在寻找 8051 汇编中的 JL(如果少则跳转)等价物。我想出的最接近的解决方案是

CJNE A,#42,DUMMY
DUMMY: JC IS_LESS ; jump to IS_LESS if A<42

有没有更优雅的方式?我的意思是没有那个 DUMMY 标签。我想执行类似 CMP 指令的操作。我可以简单地 SUB,但我只想对值进行非破坏性测试。

正确阅读the manual后,CJNE的语法在这种情况下是CJNE A,#data,rel,其中rel被引用为

Signed (two’s complement) 8-bit offset byte. Used by SJMP and all conditional jumps. Range is -128 to +127 bytes relative to first byte of the following instruction.

因此,“JL”指令可以编码为

CJNE A, #42, 0 ; 0 = do not jump
JC IS_LESS     ; jump to IS_LESS if A<42