【发布时间】:2023-03-14 04:31:01
【问题描述】:
Intel instruction set reference 的第 3-431 页提到了两条不同的指令:
7C cb JL rel8 Jump short if less (SF ≠ OF).
7C cb JNGE rel8 Jump short if not greater or equal (SF ≠ OF).
同一指令有两个名称的原因是什么?在任何情况下,我使用JL 还是JNGE 都很重要?
【问题讨论】:
-
我怀疑这很重要,因为汇编程序将为两者生成相同的机器代码,因此在逻辑上完全相同的效果。不过有趣的怪癖
-
@geedubb 好吧,my 和 your 汇编器产生相同的结果,但也许有些汇编器没有?
-
@HansPassant
JL与JNGE相同,都已签名。您可能会想到JB和JNAE,它们是未签名的对应对象。 -
@phihag 那将是一个损坏的汇编程序!