开发者

The priority of operator * in AT&T assembly language

Here I have a question. What is the priority of the operator * in assembly language?

For example:

*0x804983c(,%eax,4)

Does it开发者_StackOverflow中文版 mean ( %eax * 4 ) + *0x804983c or *( %eax * 4 + 0x804983c )?

Thanks!


* is not an operator. There is no operator in assembly as such (operators are a concept only present in higher level languages).

In AT&T syntax, * is what denotes a register or memory branch target.

You're not showing the complete instruction, but assuming it was a jmp, this will jump to what is stored at 0 + %eax * 4 + 0x804983c (following the standard memory reference of offset(base,index,scale))

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜