在这里我有一个问题。汇编语言中运算符 * 的优先级是多少?
例如:
*0x804983c(,%eax,4)
( %eax * 4 ) + *0x804983c
是或的意思*( %eax * 4 + 0x804983c )
吗?
谢谢!
在这里我有一个问题。汇编语言中运算符 * 的优先级是多少?
例如:
*0x804983c(,%eax,4)
( %eax * 4 ) + *0x804983c
是或的意思*( %eax * 4 + 0x804983c )
吗?
谢谢!
*
不是运算符。这样的汇编中没有运算符(运算符是仅存在于高级语言中的概念)。
在 AT&T 语法中,* 表示寄存器或内存分支目标。
您没有显示完整的指令,但假设它是一个 jmp,这将跳转到存储的0 + %eax * 4 + 0x804983c
内容(遵循标准内存引用offset(base,index,scale)
)