assembly 不确定AT&T语法中的cmp/jg行为

a0zr77ik  于 5个月前  发布在  其他
关注(0)|答案(2)|浏览(58)

我有一些汇编代码没有按照预期的方式运行,特别是下面这些行:

cmp $0x5, %eax
jg

字符串
我正在单步执行gdb,并使用cmp在该行上放置一个断点。
因此,0x5大于0x1,所以它应该跳转。然而代码没有跳转。
我错过了什么简单的东西吗?

falq053o

falq053o1#

我认为你的困惑是由&#^?%*$!AT&T语法引起的:)
在英特尔自己的语法中,

cmp eax, 5
jg

字符串
这(恕我直言)使得如果eax的值大于5则进行跳转更加明显。

相关问题