x86汇编助记符是否标准化?

mam*_*e98 3 x86 assembly standards

x86标准是否包含助记符,还是仅定义操作码?

如果它不包含它们,那么不同的汇编程序是否有另一个标准?

fuz*_*fuz 10

助记符不是标准化的,不同的汇编程序使用不同的助记符.一些例子:

  • AT&T型装配应用b,w,l,和q后缀的所有助记符来表示操作数的大小.英特尔式的装配通常表示这与关键字byte,word,dword,和qword
  • AT&T风格的汇编承认cbtw,cwtl,cltq,和cqto而英特尔式装配识别相同的指令为cbw,cwd,cdq,和cqo
  • AT&T风格的汇编认识movz??movs??地方??两个尺寸大小后缀什么的英特尔式装配打电话movzx,movsxmovsxd
  • 一些英特尔风格的汇编程序只能识别63 /r,movsxd而其他人则认为movsx这是该指令的变体
  • Plan 9风格的汇编程序(例如在Go中使用)只是很奇怪,并且在很多方面都有所不同,例如使用摩托罗拉风格的助记符进行条件跳转
  • 历史上,为NEC V20克隆8086提供的NEC汇编程序带有几乎完全不同的助记符.例如,int被称为brk.