微机原理与接口技术_中科大第四版_ppt

1 微型计算机原理及其应用 8086 8088的指令系统 2 第三章 8086 8088的指令系统 寻址方式指令系统 3 第三章 8086 8088的指令系统 寻址方式指令系统 4 第三章 8086 8088的指令系统 寻址方式 什么叫指令 指令系统 寻址方式 指令 计算机提供给用户的硬件命令 指令系统 集 指令的集合 操作码 指计算机所要执行的操作 即指出操作类型 是一种助记符 操作数 指在指令执行操作的过程中所需要的操作数 该字段除可以是操作数本身外 也可以是操作数地址或是地址的一部分 还可以是指向操作数地址的指针或其它有关操作数的信息 寻址方式 就是指令中用于说明操作数所在地址的方法 或者说是寻找操作数有效地址的方法 指令的一般格式 5 第三章 8086 8088的指令系统 寻址方式 什么叫指令 指令系统 寻址方式 例如 ADDCL BH在计算机内部的表示 0000001011001111 6 第三章 8086 8088的指令系统 寻址方式 8086 8088指令系统中有哪些寻址方式 立即寻址方式 ImmediateAddressing 寄存器寻址方式 RegisterAddressing 直接寻址方式 DirectAddressing 寄存器间接寻址方式 RegisterIndirectAddressing 寄存器相对寻址方式 RegisterRelativeAddressing 基址加变址寻址方式 BasedInddAddressing 相对基址加变址寻址方式 RelativeBasedInddAddressing 7 第三章 8086 8088的指令系统 寻址方式 8086 8088指令系统中有哪些寻址方式 立即寻址方式 ImmediateAddressing 寄存器寻址方式 RegisterAddressing 直接寻址方式 DirectAddressing 寄存器间接寻址方式 RegisterIndirectAddressing 寄存器相对寻址方式 RegisterRelativeAddressing 基址加变址寻址方式 BasedInddAddressing 相对基址加变址寻址方式 RelativeBasedInddAddressing 8 第三章 8086 8088的指令系统 寻址方式 立即寻址方式 ImmediateAddressing 操作数作为指令的一部分而直接写在指令中 这种操作数称为立即数 这种寻址方式也就称为立即数寻址方式 MOVAX 3412H 9 第三章 8086 8088的指令系统 寻址方式 立即寻址方式 ImmediateAddressing 立即操作数可以是8位或16位 并且是指令的一部分 立即数据总是紧跟在指令操作码之后并和操作码一起存放在代码段中 因而立即数据总是和操作码一起被放入BIU中的指令队列里 在指令执行时不需再存取存储器 MOVAH 80HADDAX 1234HMOVECX 123456HMOVB1 12HMOVW1 3456HADDD1 32123456H其中 B1 W1和D1分别是字节 字和双字单元 以上指令中的第二操作数都是立即数 在汇编语言中 规定 立即数不能作为指令中的第一操作数 该规定与高级语言中 赋值语句的左边不能是常量 的规定相一致 使用立即寻址的指令主要用来给寄存器赋初值 10 第三章 8086 8088的指令系统 寻址方式 8086 8088指令系统中有哪些寻址方式 立即寻址方式 ImmediateAddressing 寄存器寻址方式 RegisterAddressing 直接寻址方式 DirectAddressing 寄存器间接寻址方式 RegisterIndirectAddressing 寄存器相对寻址方式 RegisterRelativeAddressing 基址加变址寻址方式 BasedInddAddressing 相对基址加变址寻址方式 RelativeBasedInddAddressing 11 第三章 8086 8088的指令系统 寻址方式 寄存器寻址方式 RegisterAddressing 操作数包含在CPU的内部寄存器中 如寄存器AX BX CX DX等 指令指定寄存器号 MOVAX BX 12 第三章 8086 8088的指令系统 寻址方式 寄存器寻址方式 RegisterAddressing 对于16位操作数 寄存器可以是AX BX CX DX SI DI SP或BP 而对8位操作数 寄存器可以是AH AL BH BL CH CL DH或DL 特点 操作数在CPU内 不用通过总线读写 速度快 目的和源操作数均可采用此寻址方式 MOVAX BX MOVCL DL MOVESI EDI INCCX ROLAH 1 13 第三章 8086 8088的指令系统 寻址方式 8086 8088指令系统中有哪些寻址方式 立即寻址方式 ImmediateAddressing 寄存器寻址方式 RegisterAddressing 直接寻址方式 DirectAddressing 寄存器间接寻址方式 RegisterIndirectAddressing 寄存器相对寻址方式 RegisterRelativeAddressing 基址加变址寻址方式 BasedInddAddressing 相对基址加变址寻址方式 RelativeBasedInddAddressing 14 第三章 8086 8088的指令系统 寻址方式 直接寻址方式 DirectAddressing 操作数的有效地址 EffectiveAddress EA 在IBMPC中把操作数的偏移地址称为有效地址 是指令的一部分 它与操作码一起存放在代码段中 但操作数一般是在数据段中 因而这种寻址方式是以DS的内容为基准 MOVAL DS 2000H MOVAL 2000H 15 第三章 8086 8088的指令系统 寻址方式 直接寻址方式 DirectAddressing 若DS 4000H 则此指令式将数据段中物理地址为42000H单元的内容传送AL寄存器 例 MOVAL 2000H DS 10H 2000H 送AL MOVAX 2000H DS 10H 2000H 送AL DS 10H 2000H 1 送AH MOVAL ES 2000H 这里ES是段超越前缀 所以源操作数是在ES 10H 2000H的内存单元中 MOV 3000H AL 目的操作数采用直接寻址 将AL送 DS 10H 3000H 的内存单元 16 第三章 8086 8088的指令系统 寻址方式 8086 8088指令系统中有哪些寻址方式 立即寻址方式 ImmediateAddressing 寄存器寻址方式 RegisterAddressing 直接寻址方式 DirectAddressing 寄存器间接寻址方式 RegisterIndirectAddressing 寄存器相对寻址方式 RegisterRelativeAddressing 基址加变址寻址方式 BasedInddAddressing 相对基址加变址寻址方式 RelativeBasedInddAddressing 17 第三章 8086 8088的指令系统 寻址方式 寄存器间接寻址方式 RegisterIndirectAddressing 操作数的有效地址EA存放在基址寄存器 BX或BP 或变址寄存器 DI或SI 中 MOVAX BX 18 第三章 8086 8088的指令系统 寻址方式 寄存器间接寻址方式 RegisterIndirectAddressing MOVAL BX DS 10H BX 送AL设DS 3000H BX 2000H 32000H 45H 则执行该指令后 AL 45H MOVAL BP SS 10H BP 送AL设DS 2000H SS 1000H BP 0100H 10100H 3BH 20100H 4CH 执行这条指令后 AL 3BH MOVAX BX DS 10H BX 送AL DS 10H BX 1 送AH 19 第三章 8086 8088的指令系统 寻址方式 8086 8088指令系统中有哪些寻址方式 立即寻址方式 ImmediateAddressing 寄存器寻址方式 RegisterAddressing 直接寻址方式 DirectAddressing 寄存器间接寻址方式 RegisterIndirectAddressing 寄存器相对寻址方式 RegisterRelativeAddressing 基址加变址寻址方式 BasedInddAddressing 相对基址加变址寻址方式 RelativeBasedInddAddressing 20 第三章 8086 8088的指令系统 寻址方式 寄存器相对寻址方式 RegisterRelativeAddressing 操作数的有效地址EA是8位或16位的位移量与基址寄存器BX或基址指示器BP或某个变址寄存器 DI或SI 之和 MOVAl BX 5 21 第三章 8086 8088的指令系统 寻址方式 寄存器相对寻址方式 RegisterRelativeAddressing MOVAL 5 BX MOVAL BX 5 COUNTEQU5MOVAL COUNT BX 以上三个例子是等价的 它执行的操作是 DS 10H BX 5 送AL 这里 5称为位移量 displacement 它可以是8位或16位的二进制数 22 第三章 8086 8088的指令系统 寻址方式 8086 8088指令系统中有哪些寻址方式 立即寻址方式 ImmediateAddressing 寄存器寻址方式 RegisterAddressing 直接寻址方式 DirectAddressing 寄存器间接寻址方式 RegisterIndirectAddressing 寄存器相对寻址方式 RegisterRelativeAddressing 基址加变址寻址方式 BasedInddAddressing 相对基址加变址寻址方式 RelativeBasedInddAddressing 23 第三章 8086 8088的指令系统 寻址方式 基址加变址寻址方式 BasedInddAddressing 有效地址EA是由基址寄存器BX 或基址指示器BP 的内容与变址寄存器 DI或SI 的内容之和 MOVAX BX SI 24 第三章 8086 8088的指令系统 寻址方式 8086 8088指令系统中有哪些寻址方式 立即寻址方式 ImmediateAddressing 寄存器寻址方式 RegisterAddressing 直接寻址方式 DirectAddressing 寄存器间接寻址方式 RegisterIndirectAddressing 寄存器相对寻址方式 RegisterRelativeAddressing 基址加变址寻址方式 BasedInddAddressing 相对基址加变址寻址方式 RelativeBasedInddAddressing 25 第三章 8086 8088的指令系统 寻址方式 相对基址加变址寻址方式 RelativeBasedInddAddressing 操作数EA的有效地址是一个基址寄存器和一个变址寄存器的内容和8位或16位位移量之和 例如 MOVAX COUNT BX SI MOVAX COUNT BX SI MOVAX BX SI COUNT 以上三者等价若 DS 3000H BX 2000H SI 1000H COUNT 0250H 则物理地址 16d DS BX SI COUNT 30000 2000 1000 0250 33250H 26 第三章 8086 8088的指令系统 寻址方式 段寄存器使用的基本约定 27 第三章 8086 8088的指令系统 寻址方式指令系统 28