这个x86指令发生了什么?

时间:2014-10-01 20:11:27

标签: assembly x86

cmp    %eax,0x80498d4(,%ebx,4)

我知道eax寄存器正在与某些东西进行比较,但我不知道与哪些eax进行比较。

换句话说,

是什么
x80498d4 (,%ebx,4)

意思?

2 个答案:

答案 0 :(得分:5)

它将eax与地址[0x80498d4 +(4 * ebx)]

的内容进行比较

来源:http://cs.nyu.edu/courses/spring12/CSCI-GA.1144-001/addressing_modes.pdf

答案 1 :(得分:0)

它取EBX的值,乘以4,向其添加常量0x80498d4。该值将被解释为一个地址,该值的内容将与寄存器eax的值进行比较。 最后,cmp指令将设置EEFLAG寄存器。