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