IA-32指令类型
1、传送指令
1.1、常用传送指令
1.1.1、通用数据传送指令
MOV:一般传送,包括movb、movw和movl等
MOVS:符号扩展传送,如movsbw、movswl等
MOVZ:零扩展传送,如movzwl、movzbl等
XCHG:数据交换
PUSH/POP:入栈/出栈,pushl,pushw,popl,popw等。
1.1.2、地址传送指令
LEA:加载有效地址,如leal(%edx,%eax),%eax 的功能为
R[eax]<——R[edx] + R[eax],执行前,若R[edx] = i,R[eax] = j,则指令执行后,R[eax] = i + j;
1.1.3、输入输出指令
IN和OUT:I/O端口与寄存器之间的交换
1.1.4、标志传送指令
PUSHF、POPF:将EFLAG压栈,或将栈顶内容送EFLAG