美文网首页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