AT&T汇编格式

 一.汇编语言

(1) 指令

   伪指令

(2)常量

    表达式[常量 寄存器 标号 变量]

二. AT&T 与 Intel 格式相比应注意的地方

1、寄存器引用 mov %eax,%ebx

2、操作数顺序 mov %eax(source),%ebx(destination)

3、立即数 (前加$) mov $4,%ebx

   符号常数 mov value,%ebx

   引用符号常数地址 mov $value,%ebx 其中$value表示value所在地址

4、操作数长度 b(byte) 8 ,w(word) 16 ,l(long) 32    movw %ax,%bx

5、绝对跳转 (jmp/call)的操作数前加上 “*”作前缀

6、远跳转指令和远调用指令的操作码为:ljump, lcall 而 Intel 格式的是 jmp far, call far

7、远程返回指令 lret $stack_adjust 而 Intel 格式是 ret far stack_adjust

8、寻址方式 表示地址:base + index*scale + disp

      at&t  section:disp(base,index,scale)

      Intel  section:[base + index*scale + disp]

9、嵌入汇编 

原文地址:https://www.cnblogs.com/youngvoice/p/5080653.html