歡迎您光臨本站 註冊首頁

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

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  

在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



[火星人 ] Linux下AT&T語法同Intel語法區別已經有450次圍觀

http://coctec.com/docs/program/show-post-71420.html