- 6
- 0
- 约1.71万字
- 约 95页
- 2015-12-09 发布于广东
- 举报
本章教学重点和难点:◆8086/8088 CPU的指令格式和寻址方式。◆8086CPU指令系统中数据传送类、输入输出类、算术运算类指令的功能和使用。 ◆Pentium系列CPU的新增寻址方式和新增指令。 本章教学内容: 4.1 指令格式与寻址方式 (与数据有关、与转移地址有关的寻址方式)4.2 8086 CPU指令系统 (数据传送指令、算术运算指令及逻辑指令) 4.3 Pentium系列CPU的指令系统(Pentium系列CPU的新增寻址方式和新增指令) 4.1.2 寻址方式寻址方式(Addressing Mode):在指令中指定操作数的位置,即给出地址信息,在执行时需要根据这个地址信息找到需要的操作数的方式。 1)与数据有关的寻址方式。 2)与转移地址有关的寻址方式。 1. 数据寻址方式(1)立即寻址方式(Immediate addressing)指令操作数部分直接给出指令的操作数,与指令操作码相接,顺序存放在代码段中。立即数有8/16 位 。注意:① 立即数寻址方式只能用于源操作数,主要用于给寄存器和存储器赋值。② 立即数寻址方式不执行总线周期,执行速度快。③ 立即数为16 位时,存放遵循“低前高后”原则,低位字节存放在存储器低地址单元,高位字节存放在存储器高地址单元。 (2)寄存器寻址方式(Register addressing) 操作数放在寄存器内,由指令直接给出某个寄存器的名字,以寄存器的内容作为操作数。寄存器可以是16位的AX、BX、CX、DX、SI、DI、SP、BP寄存器,也可是8位的AH、AL、BH、BL、CH、CL、DH、DL寄存器。注意:① 寄存器寻址方式的指令操作在CPU内部执行,不需要执行总线周期,执行速度快。② 寄存器寻址方式既适用于指令的源操作数,也适用于目的操作数,且可同时用于源操作数和目的操作数。 4.2 8086 CPU指令系统 4.2.1 数据传送指令 8086的4种数据传送指令 ,用于实现寄存器之间、存储器与寄存器、累加器AX或AL与I/O端口、立即数到寄存器或到存储器的字节或字的传送。 注意,哪些操作数可以作为源操作数,哪些可以作为目的操作数。 (1) CS、IP不能是目的操作数; (2) 默认的段寄存器情况; (3) 不允许堆栈空间变动过程中出现中断; (4) MOV指令不影响标志位; (5) 不允许在两个段寄存器之间直接传送数据,可利用通用寄存器过渡的方法; (6) 两个存储单元之间不能直接传送数据(除了串操作),可利用寄存器过渡的办法。 注意,以上这些规定适用于MOV指令,也适用于所有涉及操作数的指令。 1.通用数据传送指令(MOV DSI,SRC)可实现以下功能: 1)立即数送到通用寄存器或存储单元 MOV MEM/REG, DATA 2)CPU内部寄存器之间的数据传送 MOV REG1/SEG,REG2 或 MOV REG,SEG 3)寄存器与存储器之间的数据传送 MOV REG/SEG,MEM 或 MOV MEM,REG/SEG 4)存储器到累加器的数据传送 MOV AC,MEM 5)累加器到存储器的数据传送 MOV MEM, AC 另外,在使用这些指令时,应注意以下几点: 2)堆栈操作指令 3) 交换指令 格式:XCHG DST,SRC 交换指令的操作数可以是8位也可以是16位。 3.标志寄存器传送指令 1)LAHF 把标志寄存器FLAGS的低8位送AH 格式: LAHF 影响标志位的第0至7位有定义位:SF ZF AF PF CF。 2)SAHF 与LAHF指令相反,是把AH送FLAGS的低字节中 格式: SAHF 3)PUSHF 把FLAGS标志进栈 格式: PUSHF 4)POPF 标志出栈 格式: POPF 6.压缩的BCD码调整指令 十进制数可采用BCD码表示,以压缩格式存放,即一位十进制数对应四位二进制数。 加法的十进制调整指令 DAA 减法的十进制调整指令 DAS 1) DAA (Decimal Adjust for Addition) 功能:将存放在AL中的二进制和数,调整为压缩格式的BCD码。 调整方法: 1若AL中低4位>9或标志AF=1, 则AL+6→AL,1→AF。 2若AL中高4位>9或标志CF=1, 则AL+60H→AL,1→CF。 DAA指令一般紧跟在ADD或ADC指令之后, 影响标志为SF、ZF
原创力文档

文档评论(0)