运算符*在AT& T汇编语言中的优先级

时间:2010-03-31 15:13:47

标签: assembly operator-precedence

我有一个问题。运算符*在汇编语言中的优先级是什么?

例如:

*0x804983c(,%eax,4)

( %eax * 4 ) + *0x804983c还是*( %eax * 4 + 0x804983c )

谢谢!

1 个答案:

答案 0 :(得分:1)

*不是运营商。在程序集中没有运算符(运算符是仅存在于更高级语言中的概念)。

在AT& T语法中,*表示register or memory branch target

您没有显示完整的指令,但假设它是一个jmp,这将跳转到0 + %eax * 4 + 0x804983c处存储的内容(遵循offset(base,index,scale)的标准内存引用)