att格式汇编指令_关于ATT汇编

  • Post author:
  • Post category:其他


ATT 汇编大体格式是: 指令 源操作数 目的操作数 ,比如将 10 移动到 eax 寄存器的写法: movl $10, %eax 。

1.ATT 汇编的源操作数和目的操作数和 Intel 正好相反,也就是数据流向是从左到右;

2.ATT 中立即数前需要加 $ 符号, 寄存器前加 % 符号;

3.ATT 的指令加后缀 b 、 w、 l 、q 表明处理的数据长度,分别是字节、字(2B)、双字(4B)、四字(8B);

4.ATT 以寄存器中的值为地址的内存单元的访问(间接寻址)是加上括号比如 (%eax),而非 Intel 的 [EAX] 。

ATT 常用指令

(1) 移动指令 movN src dst : movl $a, %ebx

(2) 运算指令 加 addN 、 减 subN 、按位与 andN 、按位异或 xorN src dst : xor %eax %eax (将 eax 值置为 0)

(3) 比较指令 cmpN src dst : cmp (%eax) $10

(4) 跳转指令 jmp、大于跳转 jg、小于跳转 jl 、大于等于跳转 jge、 jle、 je、 jne

(5) 函数调用 call 和返回 ret



版权声明:本文为weixin_39923110原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。