-
參考學習:https://blog.csdn.net/happy987818/article/details/51557502
-
Intel就是平時學的windows上的彙編的語法
-
GCC上採用的是AT&T的彙編格式。因此極其有必要了解兩者的不同。
-
寄存器
- AT&T要加上%---->%eax
-
與Intel上指令數的位置相反
- mov edi,esi ----> mov %esi,%edi
-
AT&T的常數加上"$"前綴
-
傳遞不同長度的數的時候
- INTEL中用"word ptr"之類前綴
- AT&T,用特定的後綴
- movl----“雙字”
- movw----“傳遞單字”
- movb-----“傳遞一個字節”
-
尋址方式的區別
-
直接對比理解
mov eax,[esp-8] movl -8(%ebp)
mov fs:eax,8 movb $4,%fs:(%eax)
mov cx,[ebx+4*eax+a] movw array(,%ebx,%eax,4),%cx
英文的註釋:
section:[base + index*scale + disp]
is translated into the AT&T syntax
section:disp(base, index, scale)
mov eax,[eax*4+array] movl array(%eax,4)
-
AT&T 彙編語法與Intel彙編語法 的認識
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.