1.程序转换概述
1.1 机器指令和汇编指令
指令分为微指令、机器指令、汇编指令、伪(宏)指令等指令相关概念
机器指令介于二者之间,处于硬件和软件的交界面
汇编指令是机器指令的汇编表示形式,即符号表示
机器指令和汇编指令一一对应,它们都与具体机器结构有关,都属于机器级指令
2.IA-32 /x86-64指令系统
2.1 传送指令
通用数据传送指令
MOV:一般传送,包括movb、movw和movl等
MOVS:符号扩展传送,如movsbw、movswl等
MOVZ:零扩展传送,如movzwl、movzbl等
XCHG:数据交换
PUSH/POP:入栈/出栈,如pushl,pushw,popl,popw等
地址传送指令
LEA:加载有效地址
如leal (%edx,%eax), %eax”的功能为R[eax]←R[edx]+R[eax],执行前,若R[edx]=i,R[eax]=j,则指令执行后,R[eax]=i+j
输入输出指令
IN和OUT:I/O端口与寄存器之间的交换
标志传送指令
PUSHF、POPF:将EFLAG压栈,或将栈顶内容送EFLAG