Loading

汇编

第一种汇编格式,称之为Intel汇编格式,而第二种称之为AT&T汇编格式。

比较明显的差异有

源操作数和和目的操作数的不同: 在Intel汇编格式中,目标操作数在源操作数的左边;而在AT&T汇编格式中,目标操作数在源操作数的右边。

AT&T的立即数前要加$, 寄存器前要加%,而Intel不需要

功能:给eax寄存器赋值1

Intel:
      add eax, 1

AT&T:
      addl $1, %eax

在AT&T汇编格式中,操作数的字长由操作符的最后一个字母决定,后缀'b'、'w'、'l'分别表示操作数为字节(byte,8比特)、字(word,16比特)和长字(long,32比特);

而在Intel汇编格式中,操作数的字长是用"byte ptr"和"word ptr"等前缀来表示的

Intel:   
      mov al, byte ptr val

AT&T:
      movb val, %al 

 

posted @ 2022-11-10 20:52  KairusZhang  阅读(191)  评论(0编辑  收藏  举报