美文网首页AT&T 汇编语言
AT&T 风格汇编语言(chapter3 寻址方式指令表示)

AT&T 风格汇编语言(chapter3 寻址方式指令表示)

作者: 李2牛 | 来源:发表于2018-05-07 10:25 被阅读0次

寻址方式表达通用表达式

ADDRESS_OR_OFFSET(%BASE_OR_OFFSET,%INDEX,MULTIPLIER)
地址或偏移(%基址寄存器,%索引寄存器,%比例因子) #所有字段都是可选的
地址和偏移以及比例因子必须是常量,其余的两个必须是寄存器,如果省略任何一项将会默认为0.

BTW:

Intel风格汇编 mov destination,operand

AT&T风格汇编 movl operand,destination

  • 直接寻址方式:
 movl  address, %eax  #在Intel风格汇编中,address 和%eax相反而且地址寄存器无需使用% 标识
  • 索引寻址方式:
movl string_start(,%ecx,1), %eax #该指令中将string_start+1 * %ecx得到的数值加载到 %eax 中
  • 间接寻址方式 注意: 将地址中的数值加载到寄存器中
movl (%ecx) %eax  
  • 基址寻址方式
movl 4(%eax) %ebx  #该指令将eax寄存器的后四个字节地址中的数值加载到ebx中
  • 立即寻址
movl $12, %eax #这里将数字12 加载到eax寄存器,与intel风格不同的是,intel直接可以用12无需$.

如果不加$ 将会变成直接寻址

  • 寄存器寻址方式
    寄存器寻址是将寄存器中的数据移入和移出.


    寄存器 %eax 布局

相关文章

网友评论

    本文标题:AT&T 风格汇编语言(chapter3 寻址方式指令表示)

    本文链接:https://www.haomeiwen.com/subject/elrerftx.html