历安毛子种牧大” 目录 XIDIAN UNIVERSITY 数据位操作指令与编程 微机原理与系统设计 第四章汇编语言指令与程序设计 葚明皓 minghao@xidian.edu.cn 2
2 1 汇编语言基本概念 2 3 4 8086的六类指令 5 总结 数据运算指令与程序设计 数据位操作指令与编程 目录 微机原理与系统设计 第四章 汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn
历安毛子种枝大多 基础知识导入 XIDIAN UNIVERSITY 指令学习三套路: >指令做什么? > OPR哪里来,哪里去? >对PSW有何影响? 徽机原理与系统设计 8086CPU的指令系统 董明皓 dminghao@xidian.edu.cn
指令学习三套路: 指令做什么? OPR哪里来,哪里去? 对PSW有何影响? 微机原理与系统设计 8086CPU的指令系统 董明皓 dminghao@xidian.edu.cn 基础知识导入
三 历安毛子绑枝大等 基础知识导入 XIDIAN UNIVERSITY ·共同特点: 1.满足通用语法规则; 2.CPU进行运算(算数、逻辑),就会影响状态标识; 3.段REG不能参加运算; 1514131211109 76543 8 210 OF DF IF TFSF ZF AF PF CE 微机原理与系统设计 第四章汇编语言指令与程序设计 葚明皓 minghao@xidian.edu.cn 4
• 共同特点: 1. 满足通用语法规则; 2. CPU进行运算(算数、逻辑),就会影响状态标识; 3. 段REG不能参加运算; OF DF IF TF SF ZF AF PF CF 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 微机原理与系统设计 第四章 汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn 4 基础知识导入
历些毛子代枝大” 基础知识导入 XIDIAN UNIVERSITY CF(Carry Flag)进位标志。如果加法时最高位产生进位或减法 时最高位产生进位或借位,则CF=1,否则CF=O。 AF(Auxiliary Carry Flag)辅助进位标志。如果在加法时D3位 有进位或减法时D3位有借位,则AF=1,否则AF=0。 ZF(亿ero Flag)零标志位。如果运算结果各位都为零,则ZF=l, 否则ZF=0。 SF(Sign Flag)符号标志。运算结果为负时,SF=l,否则SF=0. OF(Overflow Flag)溢出标志。运算中结果超出8位或者16位 有符号数所能表示的数值范围,产生溢出,OF=1,否则 OF=0。 PF(Parity Flag)奇偶标志。如果操作结果的低8位中含有偶数 个1,PF=1,否则PF=0。 微机原理与系统设计 第四章汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn
CF(Carry Flag)进位标志。如果加法时最高位产生进位或减法 时最高位产生进位或借位,则CF=1,否则CF=0。 AF(Auxiliary Carry Flag)辅助进位标志。如果在加法时D3位 有进位或减法时D3位有借位,则AF=1,否则AF=0。 ZF(Zero Flag)零标志位。如果运算结果各位都为零,则ZF=1, 否则ZF=0。 SF(Sign Flag)符号标志。运算结果为负时,SF=1,否则SF=0. OF(Overflow Flag)溢出标志。运算中结果超出8位或者16位 有符号数所能表示的数值范围,产生溢出,OF=1,否则 OF=0。 PF(Parity Flag)奇偶标志。如果操作结果的低8位中含有偶数 个1,PF=1,否则PF=0。 微机原理与系统设计 第四章 汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn 5 基础知识导入
历安毛子代枝大” 8086指令分类(第三版) XIDIAN UNIVERSITY 数据传送指令 通用传送指令、取有效地址指令、取地址指针指令 标志传送指令、数据交换指令、字节转换指令、堆栈操作指令 >数据运算指令 加减法指令、比较指令、增量减量指令、乘除法指令 符号扩展指令、BCD数运算调整指令 数据位操作指令 逻辑运算指令、移位类指令、标志位操作指令 微机原理与系统设计 第四章汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn 6
数据传送指令 • 通用传送指令、取有效地址指令、取地址指针指令 • 标志传送指令、数据交换指令、字节转换指令、堆栈操作指令 数据运算指令 • 加减法指令、比较指令、增量减量指令、乘除法指令 • 符号扩展指令、BCD数运算调整指令 数据位操作指令 • 逻辑运算指令、移位类指令、标志位操作指令 8086指令分类(第三版) 微机原理与系统设计 第四章 汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn 6
历安毛子代技大学 数据位操作指令 XIDIAN UNIVERSITY 完成两个OPR的各种算术运算:加、减、乘、除及其BCD 数运算的调整运算,分为以下子类: 1.逻辑运算指令(AND、OR、XOR、NOT、TEST) 2.移位类指令0 3.标志位操作指令0
数据位操作指令 7 • 完成两个OPR的各种算术运算:加、减、乘、除及其BCD 数运算的调整运算,分为以下子类: 1. 逻辑运算指令(AND、OR、XOR、NOT、TEST) 2. 移位类指令 () 3. 标志位操作指令()
历安毛子种枝大学 4.3.1逻辑运算类指令 XIDIAN UNIVERSITY 助记符格式 功能说明 与 AND DST,SRC (DST)K(DST)∧(SRC) 或 OR DST,SRC (DST)(DST)V(SRC) 异或XOR DST,SRC (DST)K(DST)⊕(SRC) 相同结果为0,不同结果为1 非 NOT DST (DST)中各位取反 测试TEST DST,SRC (DST)∧(SRC) 8086CPU操作对象是字节或字,按位运算。 NOT指令对标志位不产生影响 ,其他逻辑运算指令:CF=OF-O,ZF、SF、PF根据结果改变,AF未定义。 微机原理与系统设计 第四章汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn 8
4.3.1 逻辑运算类指令 微机原理与系统设计 第四章 汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn 8 助记符格式 功能说明 与 AND DST,SRC (DST)( DST) ∧ ( SRC) 或 OR DST,SRC (DST)( DST) ∨ ( SRC) 异或 XOR DST,SRC (DST)( DST) ⊕ ( SRC) 相同结果为0,不同结果为1 非 NOT DST (DST)中各位取反 测试 TEST DST,SRC (DST) ∧ (SRC) •8086CPU操作对象是字节或字,按位运算。 •NOT指令对标志位不产生影响 •其他逻辑运算指令:CF=OF=0,ZF、SF、PF根据结果改变,AF未定义
三 历粤毛子代枝大” 4.3.1逻辑运算类指令 XIDIAN UNIVERSITY 1.逻辑与指令(AND-Byte or Word) AND DST,SRC;(DST)←-(DST)∧(SRC) ;DST:通用REG、MEM单元; ;SRC:通用REG、MEM单元、立即数; ;DST和SRC不能同时为存储单元; ;CF、OF置O,正常设置SF、ZF和PF的状态; ;AF未定义; ;常用于置“0”; 微机原理与系统设计 第四章汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn 9
1.逻辑与指令(AND-Byte or Word) 4.3.1 逻辑运算类指令 9 AND DST, SRC ;(DST)←(DST)∧(SRC) ;DST:通用REG 、MEM单元; ;SRC:通用REG、MEM单元、立即数; ;DST和SRC不能同时为存储单元; ;CF、OF置0,正常设置SF、ZF和PF的状态; ;AF未定义; ;常用于置“0”; 微机原理与系统设计 第四章 汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn
历些毛子种枝大” 4.3.1逻辑运算类指令 XIDIAN UNIVERSITY 1.逻辑与指令(AND-Byte or Word) 求两个操作数的逻辑与,设VAR1为字型变量。 AND AX,BX ;(AX)-(AX)∧(BX) AND AL,156 ;(AL)←-(AL)Λ10011100B(156=10011100B) AND VAR1,78AAH ;(VAR1)(VARI)A78AAH AND CX,[SI] ;(CX)-(CX)∧((SI)) 徽机原理与系统设计 第四章汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn 10
1.逻辑与指令(AND-Byte or Word) 4.3.1 逻辑运算类指令 微机原理与系统设计 第四章 汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn 10 求两个操作数的逻辑与,设VAR1为字型变量。 AND AX,BX AND AL, 156 AND VAR1, 78AAH AND CX, [SI] ;(AX)←(AX)∧(BX) ;(AL)←(AL)∧1001 1100B (156=1001 1100B) ;(VAR1)←(VAR1)∧78AAH ;(CX)←(CX)∧((SI))
历粤毛子代枝大 4.3.1逻辑运算类指令 XIDIAN UNIVERSITY 2.逻辑或指令(OR-Byte or Word) OR DST,SRC (DST)-(DST)V(SRC) ;DST:通用REG、MEM单元; ;SRC:通用REG、MEM单元、立即数 ;DST和SRC不能同时为存储单元。 ;CF、OF置O,正常设置SF、ZF和PF的状态 ;AF未定义; ;常用于置“1”; 微机原理与系统设计 第四章汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn 11
2.逻辑或指令(OR-Byte or Word) 4.3.1 逻辑运算类指令 11 OR DST, SRC ; (DST)←(DST) ∨(SRC) ;DST:通用REG 、MEM单元; ;SRC:通用REG、MEM单元、立即数 ;DST和SRC不能同时为存储单元。 ;CF、OF置0,正常设置SF、ZF和PF的状态 ;AF未定义; ;常用于置“1”; 微机原理与系统设计 第四章 汇编语言指令与程序设计 董明皓 minghao@xidian.edu.cn