赞
踩
x86架构的处理器的汇编指令一般使用有两种:
ATT
汇编Intel
汇编常用的汇编器:
MS VC
编译器:只支持 Intel 格式GNU CC
编译器:支持 ATT 格式和 Intel 格式,一般从 gcc 的上层开始调用像cc、ar 等工具。ATT 与 Intel 汇编代码格式区别如下:
- Intel 代码省略了指示大小的后缀。我们看到指令 push 和 mov,而不是 pushq 和 movq
- Intel 代码省略了寄存器名字前面的 ‘ % ’ 符号,用的是 rbx,而不是 %rbx
- Intel 代码用不同的方式来描述内存中的位置,例如是 ‘ QWORD PTR [rbx] ’ 而不是 ‘ (%rbx) ’
- 在带有多个操作数的指令情况下,列出操作数的顺序相反。例如,ATT格式:mov 源操作数, 目的操作数;Intel格式:mov 目的操作数, 源操作数
- ATT 注释使用 ’ # ',Intel 注释使用 ’ ; ’
详细的区别参考:AT&T与Intel格式的汇编语法
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。