1.数据传送指令
通用数据传送指令
MOV、PUSH、POP、XCHG
累加器专用传送指令
IN、OUT、XLAT
地址传送指令
LEA、LDS、LES
标志寄存器传送指令
LAHF、SAHF、PUSHF、POPF
类型转换指令
CBW、CWD
2.通用数据传送指令 2.1 传送指令MOV
传送指令: MOV DST, SRC
执行操作: (DST) ← (SRC)
注意:
* DST、SRC 不能同时为段寄存器
MOV DS, ES //F
* 立即数不能直接送段寄存器
MOV DS, 2000H //F
* DST 不能是立即数和CS
* DST、SRC 不能同时为存储器寻址
* 不影响标志位
进栈指令: PUSH SRC
执行操作:
(SP) ← (SP) – 2
( (SP)+1, (SP) ) ← (SRC)
出栈指令:
POP DST
执行操作:
(DST) ← ( (SP)+1, (SP) )
(SP) ← (SP) + 2
堆栈:‘先进后出’的存储区,段地址存放在SS中,SP在任何时候都指向栈顶,进出栈后自动修改SP。
注意:
* 堆栈操作必须以字为单位。
* 不影响标志位
* 不能用立即寻址方式
PUSH 1234H //F
* DST不能是CS
POP CS //F
例:假设 (AX) = 2107 H , 执行 PUSH AX
POP BX
例: PUSH DS SUB AX, AX PUSH AX …… …… RET 例: PUSH AX PUSH BX PUSH CX …… ;其间用到AX、BX、CX POP CX ; 后进先出 POP BX POP AX