What does cmp %eax,0x80498d4(,%ebx,4) mean?
我知道还有其他一些与此类似的问题,但是我仍然很难理解它的()部分。有人可以帮我拼一下这个语法吗?谢谢。
1 | cmp %eax,0x80498d4(,%ebx,4) |
cmp是比较汇编指令。它通过从左减去右参数进行有符号运算来执行两个参数之间的比较,并设置CPU EFLAGS寄存器。然后可以使用此EFLAGS寄存器进行条件分支/移动等。
第一个参数:`x(x寄存器中的值)
第二个参数:0x80498d4(,x,4)。在您的示例中,第二个参数的值是内存位置偏移量
注意:我相信这里的基为空,默认值为0。
您可以查看http://docs.oracle.com/cd/E19120-01/open.solaris/817-5477/ennby/index.html,以获取有关Intel x86汇编指令语法的更多信息。