x86汇编有两种主要语法:

  • Intel语法: 被 NASM, FASM, MASM, TASM, YASM 及 GAS采用
  • AT&T语法: GAS默认语法, 用.intel_syntax指示Intel语法.

FASM采用Intel语法:

  • 命令参数顺序: 右至左.
    命令 靶, 
    
  • 参数尺寸: 由暂存器名字决定.
    mov eax, 0x11223344
    
  • AT&T语法用特殊记号如前缀$表立即数及%表暂存器. 而Intel语法采用不同名字来区分暂存器, 恒数等.
  • 有效地址.
    mov eax, [ebx+ecx*4+内存地址]