微机原理 14-寻址方式
指令格式
机器指令:指令的二进制代码形式。如:89D8H
汇编指令:助记符形式的指令。如:MOV AX,BX
指令由操作码和操作数两部分组成
操作码:由CPU设计人员定义。每一种操作唯一对应一个操作码。 例:加法操作助记符ADD;数据传送操作助记符MOV; 比较操作助记符CMP;
操作数:可由编程人员采用不同方式给出。
寻址方式
指令中给出操作数所在地址的方法。
- 指令中操作数可能存在的地方:
指令中
寄存器
存储单元
I/O端口 - 对应的寻址方式:
立即寻址
寄存器寻址
存储器寻址:给出EA的方式多样,5种。
1、直接寻址
2、寄存器间接寻址
3、基址加变址寻址
4、寄存器相对寻址
5、相对基址加变址寻址
I/O端口寻址
1、立即寻址
指令中的源操作数是立即数,即源操作数是参加操作的数据本身。
立即数可以是8位或16位的整数
2、寄存器寻址
参加操作的操作数存放在CPU的内部寄存器中。 8/16位。
3、直接寻址方式
- 指令中直接给出操作数的16位偏移地址
- 直接寻址方式下,操作数默认为在数据段,段地址在DS中。
- 但允许段超越。可在指令中增加段超越前缀指出特定段寄存器名。
4、寄存器间接寻址
- 操作数存放在内存中,其偏移地址在指令中指定的寄存器中。
- 存放偏移地址的寄存器可以是:
BX,BP,SI,DI- 操作数的段地址(数据处于哪个段)取决于选择哪一个寄存器:
BX,SI,DI 默认在数据段,DS
BP 默认在堆栈段,SS
均可使用段超越前缀改变
5、寄存器相对寻址
有效地址是基址或变址寄存器的内容再加上一个8/16位的位移量。
7、基址变址寻址
有效地址由基址寄存器(BX或BP)的内容加上变址寄存器(SI或DI)的内容构成:
8、相对基址变址寻址
在基址-变址寻址的基础上再加上一个位移量
存储器操作数寻址时段寄存器的使用约定