x86 彙編/X86 指令
外觀
< X86 彙編
這些頁面將詳細討論基本 x86 指令集中提供的不同指令。為了方便起見,並減少頁面大小,不同的指令將被分成組,並分別討論。
有關更多資訊,請參閱 資源 部分。
以下模板將用於不接受運算元的指令
Instr
以下模板將用於接受 1 個運算元的指令
Instr arg
以下模板將用於接受 2 個運算元的指令。注意不同彙編器指令格式的不同。
| Instr src, dest | GAS 語法 |
| Instr dest, src | 英特爾語法 |
以下模板將用於接受 3 個運算元的指令。注意不同彙編器指令格式的不同。
| Instr aux, src, dest | GAS 語法 |
| Instr dest, src, aux | 英特爾語法 |
某些指令,特別是在為非 Windows 平臺(即 Unix、Linux 等)構建時,需要使用字尾來指定將作為操作物件的資料的大小。一些可能的字尾是
b(位元組) = 8 位。w(字) = 16 位。l(長) = 32 位。q(四字) = 64 位。
在 32 位體系結構上使用 mov 指令的示例,GAS 語法
movl $0x000F, %eax # Store the value F into the eax register
在英特爾語法中,您不必使用字尾。根據暫存器名稱和使用的立即數,編譯器知道要使用哪種資料大小。
MOV EAX, 0x000F