我在 x86 汇编语言中有以下行,我不知道它的作用...
cmp %eax,0x80498d4(,%ebx,4)
Run Code Online (Sandbox Code Playgroud)
我知道它正在比较语句的两半,但我不知道地址在其中的作用以及括号的作用。一些澄清将不胜感激!
在 AT&T 语法中,这种形式表示
偏移量(基本寄存器、索引寄存器、索引刻度)
所以表示的地址是BASE REGISTER(如果存在)+ INDEX * SCALE(如果存在)+ OFFSET的值,所以
EBX*4 + 0x80498d4 在你的情况下。