微机原理 14-寻址方式

指令格式

机器指令:指令的二进制代码形式。如:89D8H
汇编指令:助记符形式的指令。如:MOV AX,BX
指令由操作码和操作数两部分组成
微机原理 14-寻址方式
操作码:由CPU设计人员定义。每一种操作唯一对应一个操作码。 例:加法操作助记符ADD;数据传送操作助记符MOV; 比较操作助记符CMP;
操作数:可由编程人员采用不同方式给出。
微机原理 14-寻址方式

寻址方式

指令中给出操作数所在地址的方法。

  • 指令中操作数可能存在的地方:
    指令中
    寄存器
    存储单元
    I/O端口
  • 对应的寻址方式:
    立即寻址
    寄存器寻址
    存储器寻址:给出EA的方式多样,5种。
    1、直接寻址
    2、寄存器间接寻址
    3、基址加变址寻址
    4、寄存器相对寻址
    5、相对基址加变址寻址
    I/O端口寻址

1、立即寻址

指令中的源操作数是立即数,即源操作数是参加操作的数据本身。
立即数可以是8位或16位的整数

微机原理 14-寻址方式

2、寄存器寻址

参加操作的操作数存放在CPU的内部寄存器中。 8/16位。

微机原理 14-寻址方式

3、直接寻址方式

  • 指令中直接给出操作数的16位偏移地址
  • 直接寻址方式下,操作数默认为在数据段,段地址在DS中。
  • 但允许段超越。可在指令中增加段超越前缀指出特定段寄存器名。

微机原理 14-寻址方式
微机原理 14-寻址方式

4、寄存器间接寻址

  • 操作数存放在内存中,其偏移地址在指令中指定的寄存器中。
  • 存放偏移地址的寄存器可以是:
    BX,BP,SI,DI
  • 操作数的段地址(数据处于哪个段)取决于选择哪一个寄存器:
    BX,SI,DI 默认在数据段,DS
    BP 默认在堆栈段,SS
    均可使用段超越前缀改变

微机原理 14-寻址方式
微机原理 14-寻址方式

5、寄存器相对寻址

有效地址是基址或变址寄存器的内容再加上一个8/16位的位移量。
微机原理 14-寻址方式

微机原理 14-寻址方式

7、基址变址寻址

有效地址由基址寄存器(BX或BP)的内容加上变址寄存器(SI或DI)的内容构成:
微机原理 14-寻址方式

微机原理 14-寻址方式

8、相对基址变址寻址

在基址-变址寻址的基础上再加上一个位移量
微机原理 14-寻址方式

微机原理 14-寻址方式
存储器操作数寻址时段寄存器的使用约定
微机原理 14-寻址方式