歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Linux下AT&T語法同Intel語法區別

Linux下AT&T語法同Intel語法區別

日期:2017/3/1 10:49:53   编辑:Linux編程

在Linux下匯編使用的是AT&T匯編語法,同在windows上的Intel語法有所區別

總結一下AT&T同Intel語法區別

1 AT&T的立即數前面要加上$符號,比如$4

2 AT&T的寄存器前面要加上%符號,比如%eax

3 AT&T源操作數和目標操作數同Intel語法位置相反,例如movl$4, %eax,但是Intel是這樣的格式mov eax, 4

4 AT&T在指令後面加上b,w, l指名操作數據的長度,而在Intel語法是通過byteptr,word ptr和dword ptr指明的,例如movl $test, %eax等價於mov eax, dword ptr test

5長跳轉AT&T使用的是ljmp$section, $offset,而Intel使用的是jmpsection:offset

Copyright © Linux教程網 All Rights Reserved