微机原理及应用2-5.ppt

微机原理及应用2-5

8086指令系统按其功能可分为六类: 数据传送类 算术运算类 逻辑运算类 串操作类 控制类 程序转移类(第三章) 2.5.1 数据传送指令 功能: 完成寄存器和寄存器之间、寄存器和存储器之间、寄存器和外设端口之间字节或字的传送。 特点: 除SAHF、POPF外,其它指令的执行不影响标志位。 分类: 通用数据传送类(MOV、PUSH、POP、 XCHG、XLAT) 目标地址传送类(LEA、LDS、LES) 标志位传送类(LAHF、SAHF、PUSHF、 POPF) I/O数据传送类(第6章) 二、目标地址传送指令 功能:用于传送操作数的段地址/偏移地址。 说明:DST≡{16位通用R}, SRC≡{M} 1. 有效地址送寄存器 格式:LEA DST,SRC; 功能:将SRC的有效地址取出送寄存器DST。 2.5.2 算术运算类指令 包括: 加法指令 减法指令 乘法指令 除法指令 十进制调整 一.加法指令 1.加法指令ADD 格式:ADD DST, SRC 功能:DST←DST+SRC,且根据结果置标志位 说明: (1) SRC≡{8/16位的通用R,M,Imm} DST≡{8/16位的通用R,M} (2)SRC,DST数的类型应一致,且不能同时为存储器寻址。 (3)影响全部状态标志 2.带进位加法ADC 格式: ADC DST, SRC 功能: DST←DST+SRC+CF ,且根据结果置标志位 说明: (1) SRC≡{8/16位的通用R,M,Imm} DST≡{8/16位的通用R,M} (2)SRC,DST数的类型应一致,且不能同时为存储器寻址。 (3)影响全部状态标志 用途:实现多字或多字节的加法 举例2.19 3. 加1指令INC 格式: INC DST 功能:DST ← DST+1 说明: (1)DST≡{R,M} (2)影响CF以外的其它状态标志(硬件机制决定) 例如:INC SI; 正确 INC AL;正确 INC 08H; 错误 二. 减法指令 减法指令SUB 格式: SUB DST, SRC 功能: DST←DST -SRC ,且根据结果置标志位 说明: (1) SRC≡{8/16位的通用R,M,Imm} DST≡{8/16位的通用R,M} (2)SRC,DST数的类型应一致,且不能同时为 存储器寻址。 (3)影响全部状态标志 2. 带借位减法SBB 格式: SBB DST, SRC 功能: DST←DST-SRC-CF 说明: (1) SRC≡{8/16位的通用R,M,Imm} DST≡{8/16位的通用R,M} (2)SRC,DST数的类型应一致,且不能同时为 存储器寻址。 (3)影响全部状态标志 应用:用于多字/多字节相减 3. 减1指令DEC 格式: DEC DST 功能: DST ← DST-1 说明: (1)DST≡{8/16位通用R,M} (2)影响CF以外的其它状态标志。 例如:DEC CL; 正确(例2.22) DEC 06H; 错误 4. 求补指令NEG 格式: NEG DST 功能: DST←DST各位取反后末位加1 (DST ← 0 - DST) 说明: (1)DST≡{8/16位通用R,M} (2)影响全部状态标志 例2.23 5.比较指令CMP 格式:CMP DST,SRC ; 功能:DST - SRC,但结果不回送,只根据结果置标志位 说明: (1) DST≡{8/16位通用R,M};SRC≡{8/16位通用R,M,imm} (2) 影响全部状态标志位 (3) DST,SRC不能同时为存储器寻址 例2.24 应用: (1)比较两数是否相等(ZF) ZF=1 → DST = SRC ZF=0 → DST ≠ SRC (2)比较两数的大小 无符号数(CF) CF=1 → DST SRC

文档评论(0)

1亿VIP精品文档

相关文档