不确定程序集中的cmp / jg行为

时间:2014-04-02 14:16:11

标签: assembly

我有一些组件代码没有按预期运行,特别是这些行:

cmp $0x5, %eax
jg 

我正在逐步完成gdb,并在cmp上使用断点。 在那个时间点,eax保持值0x1

因此,0x5大于0x1,所以应该跳转。但是代码没有跳跃。

我在这里错过了一些简单的东西吗?

2 个答案:

答案 0 :(得分:1)

我认为你的困惑是由&#^?%* $引起的! AT& T语法:)

在英特尔自己的语法中,它将是

cmp eax, 5
jg

如果eax的值大于5,那么(恕我直言)会更明显地进行跳转。

答案 1 :(得分:0)

查看文档。英特尔语法更清晰:http://en.wikibooks.org/wiki/X86_Assembly/Control_Flow