第三节 寻址方式
一、基本概念
1.定义:确定本条指令的地址及下一条要执行的指令地址的方法。
2.优点:缩短指令长度、扩大寻址空间、提高编程灵活性。
3.分类:指令的寻址方式、操作数的寻址方式。
二、指令的寻址
1.顺序寻址方式:使用程序计数器将指令地址在内存中按顺序安排。
2.跳跃寻址方式:下一条指令的地址是由本条指令给出的,与操作数的相对寻址方式相同。
三、操作数的寻址
1.立即(数)寻址方式:指令中直接给出操作数的寻址方式。
特点:速度快,不需要访问存储器,操作数不能修改。
应用:适于操作数固定的情况,常用于设置固定值或初始值。
2.直接寻址方式:指令的地址码给出的是操作数在内存中的地址。
特点:简单、直观,硬件实现比较容易。
应用:用于访问固定的存储单元。
3.寄存器寻址方式:指令的地址码给出的是存放操作数的寄存器地址,所需操作数在寄存器中。
特点:指令简单,执行速度快,节省存储空间。
4.存储器间接寻址方式:指令的地址码给出的是操作数地址的存储单元的地址。
特点:操作数在内存中,需要访问两次存储器。
5.寄存器间接寻址方式:指令中给出存放操作数地址的寄存器号,操作数在内存中。
特点:需要访问一次寄存器,一次存储器。
6.变址寻址方式:操作数地址为变址寄存器内容加地址偏移量。
组成:SI为源变址寄存器,DI为目标变址寄存器。
应用:为数组等数据结构提供支持。
7.基址寻址方式:操作数地址为基址寄存器提供的基准值加指令中的偏移量。
8.相对寻址方式:程序计数器的当前值与指令中的地址码(偏移量)之和作为操作数地址。
应用:对实现程序控制转移特别有利。