汇编语法--AT&T VS. intel
X86(32位和64位)都支持两种汇编语法--AT&T、intel。讲道理,学会一种就行了,但是不同的教程常常会使用不同的语法风格,所以两种语法都得学一点咯。另外,intel风格常在DOS和windows上使用,AT&T在Unix类操作系统使用,给linux用的,所以能查到很多资料。
区别在如下表格:
| 风格区别 | intel | AT&T |
|---|---|---|
| 注释 | ; | // |
| 指令 | 无标记:add |
使用标记指定操作数类型:addq |
| 寄存器 | eax,ebx,,, |
%eax, ebx,,, |
| 立即数 | 0x00 | $0x100 |
| 取内容 | [eax] |
(%eax) |
| 间接寻址 | [base + reg + reg * scale + disp] |
disp(reg, reg, scale) |