汇编语法--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) |