当采用地址指定方式时形成操作数或指令地址的方式称为寻址方式。寻址方式分为两类: 指令寻址方式和数据寻址方式。
一.指令的寻址方式 {顺序寻址方式和跳跃寻址方式}
1.顺序寻址方式
从存储器取出第一条指令,然后执行这条指令,接着从存储器取出第二条指令,在执行第二条指令,以此类推,我们就称为指令的顺序寻址方式。
PC=程序计数器=指令指针寄存器
2.跳跃寻址方式
下条指令的地址码不是有程序计数器给出的,而是由本条指令给出就叫做跳跃寻址方式。
注:程序跳跃后按新的指令地址开始顺序执行。
二.操作数基本寻址方式(形成操作数的有效地址的方法。)
1.操作数的来源一般有三个: (1)有指令中的地址码部分直接给出操作数,虽然简便快捷,(2)将操作数存放在CPU内的通用数据寄存器中,这样可以很快获取操作数,但是可以存储的操作数的数量有限。(3)更一般化的方式是将操作数存放在内存的数据区中。
2.内存寻址: 既可以在指令中直接给出操作数的实际访存地址(称为有效地址),也可以在指令的地址字段给出所谓的形式地址,在指令执行将行程地址依据某种方式变换为有效地址,再取操作数。
3.操作数的寻址方式:行程操作数的有效地址的方法。
三.基本寻址方式
1.隐含寻址
2.立即寻址
3.直接寻址
特点:在指令格式的地址字段中直接指出操作数在内存的地址。
采用直接寻址方式时,指令字中的形式地址A就是操作数的有效地址EA。
4.间接寻址
5.寄存器寻址
6.寄存器间接寻址
寄存器间接寻址与寄存器寻址的区别在于:指令格式中的寄存器内容不是操作数,而是操作数的地址。
7.偏移地址