att 彙編大體格式是: 指令 源運算元 目的運算元 ,比如將 10 移動到 eax 暫存器的寫法: movl $10, %eax 。
1.att 彙編的源運算元和目的運算元和 intel 正好相反,也就是資料流向是從左到右;
2.att 中立即數前需要加 $ 符號, 暫存器前加 % 符號;
3.att 的指令加字尾 b 、 w、 l 、q 表明處理的資料長度,分別是位元組、字(2b)、雙字(4b)、四字(8b);
4.att 以暫存器中的值為位址的記憶體單元的訪問(間接定址)是加上括號比如 (%eax),而非 intel 的 [eax] 。
att 常用指令
(1) 移動指令 movn src dst : movl $a, %ebx
(2) 運算指令 加 addn 、 減 subn 、按位與 andn 、按位異或 xorn src dst : xor %eax %eax (將 eax 值置為 0)
(3) 比較指令 cmpn src dst : cmp (%eax) $10
(4) 跳轉指令 jmp、大於跳轉 jg、小於跳轉 jl 、大於等於跳轉 jge、 jle、 je、 jne
(5) 函式呼叫 call 和返回 ret
AT T彙編指令總結
記錄一下,方便以後檢視 引用暫存器要在暫存器號前加百分號 如 movl eax,ebx 80386有如下暫存器 8個32 bit暫存器 eax,ebx,ecx,edx,edi,esi,ebp,esp 8個16 bit暫存器 它們事實上是上面8個32 bit暫存器的低16位 ax,bx,cx,dx,d...
AT T彙編指令總結
1.暫存器引用 引用暫存器要在暫存器號前加百分號 如 movl eax,ebx 80386有如下暫存器 8個32 bit暫存器 eax,ebx,ecx,edx,edi,esi,ebp,esp 8個16 bit暫存器 它們事實上是上面8個32 bit暫存器的低16位 ax,bx,cx,dx,di,si...
AT T彙編語法格式
1.暫存器的引用要在暫存器前加 如mov eax,ebx 2.運算元排列是左源右目的,如上例表示把值從eax暫存器mov到ebx暫存器 3.常數 立即數前面要加 如mov 4,ebx 4.對於變數加 表示取位址。如mov value,ebx表示傳值給ebx,而mov value,ebx表示傳位址給e...