我有一个问题。运算符*在汇编语言中的优先级是什么?
例如:
*0x804983c(,%eax,4)
是( %eax * 4 ) + *0x804983c
还是*( %eax * 4 + 0x804983c )
?
谢谢!
答案 0 :(得分:1)
*
不是运营商。在程序集中没有运算符(运算符是仅存在于更高级语言中的概念)。
在AT& T语法中,*表示register or memory branch target。
您没有显示完整的指令,但假设它是一个jmp,这将跳转到0 + %eax * 4 + 0x804983c
处存储的内容(遵循offset(base,index,scale)
的标准内存引用)