Java教程

“21天养成好习惯”第一期—11

本文主要是介绍“21天养成好习惯”第一期—11,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

cpu

指令系统——指令中的寻址方式

寻址方式:指形成操作数地址或寻找操作数的方式

1条指令,可能会涉及多种寻址方式

1.常见的寻址方式

(1)立即寻址

指令中直接包含了操作数

用来提供偏移量、常数、设置初值等

 

指令功能: 

取指令后,直接截取指令中的低16位代码,就能立即得到真值为5的操作数。因此,得到5的方式就是立即寻址。

(2)直接寻址

指令中直接给出操作数的地址码。

存储单元地址(数在M中)

寄存器编号(数在R中)

主存直接寻址(绝对寻址)

 操作数:s=(D)

寄存器直接寻址

针对操作数在寄存器中的情况

 

(3)间接寻址

指令给出操作数的间接地址

存储单元地址(数在M中)

寄存器编号(数在M中)

一般只在CISC中使用,RISC中一般不用;

主存间接寻址

 

寄存器间接寻址

 

R的地址位数少,R可提供全字长地址码,修改R内容比M快。

指针不变(由指令指定),指针内容可变,使同一指令可指向不同存储单元,以实现程序的循环,共享,并提供转移地址。

堆栈间接寻址

 

(4)变址、基址寻址及其变化

变址寻址

指令给出一个寄存器号和一个地址量寄存器,内容与地址量之和为有效地址。

格式 

基址寻址

指令给出一个计算器号和一个地址量,寄存器内容与地址量之和为有效地址(二维数组的读写)

 

变址与基址的区别

有效地址=寄存器中的内容(R)+指令中的立即数(M)

 变址寻址:指令提供基准量,寄存器提供偏移量

基址寻址:指令提供偏移量,寄存器提供基准量

 基址+变址

指令给出两个计算器号和你的地址量,计算机内容与地址量之和为有效地址(处理三维数组)

便于处理三维数组

(5)pc相对寻址

指令给出偏移量,pc当前值与偏移量相加得到有效地址。

 

是一种特殊的基址寻址方式

有效地址相对于pc浮动,编程方便

(6)页面寻址

 

这篇关于“21天养成好习惯”第一期—11的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!