1

我试图理解一些跳转命令

edx 有 -126 而 eax 有 +127

cmp edx, eax
ja short <offset>

它说明了跳转,现在我明白它基于设置的标志,我不明白数学是如何有意义的,例如,如果我们有一个 JZ 命令并且结果相等,那么显然会跳转。据我了解, cmp 命令从源中减去目标,在这种情况下,它将是 -126 加上 127,结果为 1,我只是没有得到什么 MATH 结果触发标志?我只想知道

4

1 回答 1

2

ja表示如果在 (和)之上无符号则跳转。有符号值的相应指令是。CF=0ZF=0jg

32 位值 -126 为 0xFFFFFF82,当视为无符号值时,显然大于 127 (0x7F)。

于 2013-08-27T16:33:31.293 回答