8086指令系统详解:加法、除法等算术运算与寻址方式

需积分: 41 2 下载量 115 浏览量 更新于2024-08-21 收藏 598KB PPT 举报
本课件主要讲解了8086微处理器的加法、减法、乘法和除法等算术运算指令,以及该处理器的寻址方式。8086指令系统由92种基本指令组成,分为数据传送、算术运算、逻辑运算和移位、串操作、控制转移和处理器控制六类。在指令结构方面,每条指令通常包含操作码和至少一个操作数,操作数可以是立即数、寄存器操作数或存储器操作数,其中寄存器操作数执行最快,存储器操作数最慢。 算术运算指令如ADD(加法)、ADC(带进位加法)、INC(无符号加1)、DAA(调整十进制补码)、AAA(调整ASCII码)等,用于执行基本的数值计算。除法指令包括DIV(标准除法)、IDIV(无符号除法)、AAD(加法调整溢出)、CBW(转换到16位宽度)、CWD(转换到双字宽)等,支持复杂的算术运算。 8086的寻址方式是理解指令执行过程的关键。主要有以下几种: 1. 立即寻址:操作数直接作为指令的一部分,无需访问存储器,例如`MOVAL,11001010B`,操作数是常量11001010B。 2. 寄存器寻址:操作数存储在指定的寄存器中,如`MOVAH,BL`,指令通过指定寄存器来获取数据,无需存储器访问,提高了效率。 3. 直接寻址:操作数位于指令地址加上一个固定的偏移量,但未提及具体例子。 4. 寄存器间接寻址:通过一个寄存器来间接引用存储器中的地址。 5. 变址寻址:操作数基于一个基址寄存器加上另一个相对的偏移量。 6. 基址变址寻址:结合了基址和变址寻址,通过两个寄存器来动态生成地址。 这些寻址方式对于确定操作数的有效地址至关重要,不同的寻址方式会影响指令的执行速度和内存访问模式。理解这些概念有助于深入学习8086微处理器的编程和性能优化。在实际编程中,选择正确的寻址方式可以显著提高程序的效率。