计算机组成--指令和数据的寻址方式

指令寻址方式

顺序寻址方式
通过使用 程序计数器PC 来进行指令寻址

跳跃寻址方式
当程序需要进行跳转(如循环,条件分支),下条指令的地址码不是由程序计数器给出,而是由本条指令给出,随后程序计数器也要改变,因为程序计数器的地址总是指向当前指令地址的下一条指令地址

数据寻址方式

隐含寻址
指令中不明显地给出操作数的地址,而是这种指令设定为使用某个地址
立即寻址
指令的地址字段(某几位)指出的不是操作数的地址,而是操作数的值
直接寻址
指令中的地址字段直接给出操作数在内存中的地址,这种方式比较不灵活
间接寻址
指令地址字段给出的地址不是操作数真正的地址,而是内存中一个区域,这个区域给出的才是操作数真正的地址,类似于指针
寄存器寻址
指令中的地址字段给出的是寄存器的编号,然后访问这个寄存器的内容才是操作数的
寄存器间接寻址
指令中的地址字段给出的也是寄存器的编号,然后访问这个寄存器的内容是操作数的地址
偏移寻址分成三种
1.相对寻址:指令中给出的A+寄存器(特指PC)中给出的地址就是有效地址
2.基址寻址:指令中的A+寄存器(不是特指PC),寄存器存的是基址,所以这种方式是面向操作系统的,因为基址经常在变,也就是程序的重定位
3.变址寻址:指令中的A+寄存器中的地址,寄存器中存的是偏移值,而A才是基址,这种方式是面向用户的,用于成块数据的访问
段寻址方式
用于微型机中,通过段寄存器中的偏移地址+基址,实质是基址寻址
堆栈寻址
依据栈的原理,FILO

你可能感兴趣的:(计算机组成原理)