2.8086的指令系统 数据传送指令 算术指令 逻辑指令 串处理指令 控制转移指令 处理机控制与杂项操作指令
1 • 数据传送指令 • 算术指令 • 逻辑指令 • 串处理指令 • 控制转移指令 • 处理机控制与杂项操作指令 2. 8086 的指令系统
重点关注 指令的汇编格式 指令的基本功能 指令支持的寻址方式 指令的执行对标志位的影响 指令的特殊要求
2 重点关注: • 指令的汇编格式 • 指令的基本功能 • 指令支持的寻址方式 • 指令的执行对标志位的影响 • 指令的特殊要求
数据传送指令 通用数据传送指令 MoV、PUSH、POP、ⅩCHG 累加器专用传送指令 IN、OUT、ⅩLAT 地址传送指令 LEA、LDS、LES 标志寄存器传送指令 LAHF、SAHF、 PUSHF、POPF 类型转换指令 CBW、CwD
3 数据传送指令: • 通用数据传送指令 MOV、PUSH、POP、XCHG • 累加器专用传送指令 IN、OUT、XLAT • 地址传送指令 LEA、LDS、LES • 标志寄存器传送指令 LAHF、SAHF、PUSHF、POPF • 类型转换指令 CBW、CWD
通用数据传送指令 传送指令: MOV DST,SRC 执行操作:(DST)←(SRC) 注意 *DST不能是CS *DST、SRC不能同时为段寄存器 MOV DS,ES *立即数不能直接送段寄存器 MOV DS,2000H *DST不能是立即数 *DST、SRC不能同时为存储器寻址
4 传送指令: MOV DST , SRC 执行操作: ( DST ) ( SRC ) 注意: * DST 不能是 CS * DST、SRC 不能同时为段寄存器 MOV DS, ES * 立即数不能直接送段寄存器 MOV DS, 2000H * DST 不能是立即数 * DST、SRC 不能同时为存储器寻址 • 通用数据传送指令
进栈指令: PUSH SRC 执行操作 (SP)←(SP) ((SP)+1,(SP))←(SRC) 出栈指令 POP DST 执行操作: (DST)←((SP)+1,(SP)) SP)←(SP)+2 堆栈:‘先进后出′的存储区,存在于堆栈段,任何时候SP都指向栈 顶 注意: *堆栈操作必须以字为单位 *不影响标志位 *不能用立即寻址方式PUSH1234H *DST不能是CS POP CS 5
5 进栈指令: PUSH SRC 执行操作: ( SP ) ( SP ) – 2 ( ( SP ) + 1 , ( SP ) ) ( SRC ) 出栈指令: POP DST 执行操作: ( DST ) ( ( SP ) + 1 , ( SP ) ) ( SP ) ( SP ) + 2 堆栈:‘先进后出’的存储区,存在于堆栈段,任何时候SP都指向栈 顶。 注意: * 堆栈操作必须以字为单位 * 不影响标志位 * 不能用立即寻址方式 PUSH 1234H * DST 不能是 CS POP CS