第四章 数据传送类指令
1、80x86的指令系统
80x86的指令系统分为
- 数据传送指令
- 算术指令
- 逻辑指令
- 串处理指令
- 控制转移指令
- 处理机控制与杂项操作指令
2、数据传送指令
(一)通用数据传送指令
1、普通传送指令(不影响标志位)
MOV DST,SRC
把源操作数(SRC)的值传给目的操作数(DST)
2、带符号扩展传送指令(不影响标志位)
MOVSX DST,SRC
SRC符号扩展传给DST(符号扩展就是高8/16位一律补符号位)
3、带零扩展传送指令(不影响标志位)
MOVZX DST SRC
SRC零扩展传给DST(零扩展就是高8/16位一律补0)
4、入栈指令(不影响标志位)
5、出栈指令(不影响标志位)
6、所有通用寄存器入栈指令(不影响标志位)
PUSHA/PUSHAD
7、所有通用寄存器出栈标志(不影响标志位)
POPA/POPAD
8、交换指令(不影响标志位)
XCHG OPR1,OPR2
(二)累加专用传送指令
3条指令,仅限于使用AL,AX,EAX,用于ACC与I/O端口交换数据
1、输入指令
IN 累加器,端口号
2、输出指令
OUT 累加器,端口号
3、换码指令
XLAT OPR 或 XLAT
(三)地址传送指令
1、有效地址传送寄存器指令
LEA REG16/32,SRC
2、指针送通用寄存器和段寄存器
LDS 指针送寄存器和DS
LES 指针送寄存器和ES
LFS 指针送寄存器和FS
LGS 指针送寄存器好GS
LSS 指针送寄存器和SS
(四)标志寄存器传送指令
(五)类型转换指令
4条,不影响标志位