指令寻址,也就是如何找出下一条指令的地址。首先回顾一下数据在存储器中是如何存放的。这里虽然说的是数据,但指令也是类似的。他们都是一串二进制编码。首先我们先准备好一个存储器。这里的一个格子代表一个字节的空间。一行代表一个存储字。存储字这个概念是认为可以一次性取出来。而我们非常喜欢使用字节这样的空间。我们既想用字节这个大小也想用存储字这个大小。为了积分可以把这样的成为一个字节,存储单元嗯嗯。字存储单元。要使用这¥1空间,首先必须给这些单元都编上号。那我们先按字节来编号。按字节编址:每个字节存储单元都有一个地址编号。

接下来按字节地址寻址的概念,给出一个字节的地址,可以取出长度为一个字节的数据。假设某数据长度为4B则需要给出四个字节地址。

按字地址寻址:给出一个字地址可以取出长度为一个字的数据。

子地址:0-3为一个字,4-7为一个字….每个字中最小的字节地址为字地址

假设某数据长度为4B,则需要给出1个字地址。按字节编址的好处是可以直接取出某个字节。按字节编址只能取出一个字,没办法取出一个字节。拆出某一个字节的话,应该是要用软件来实现的。

存放4B的数据12345678H,大端模式是高位数据在低地址。

三个字长:

机器字长:CPU一次能处理的二进制数据位数,主要受寄存器二进制能存放的位数的限制。

指令字长:一个指令字中,包含二进制代码的位数。

存储字长:一个存储单元存储二进制代码的长度。

需要注意的是这些长度都是字节的整数倍。

单字长指令:指令长度=机器字长

半字长指令,双字长指令。

寻址方式包含指令寻址和数据寻址

指令寻址:下一条欲执行指令的指令地址

数据寻址:确定本条指令的操作数地址

我们先看一下如何定位下一条指令,这个核心是始终有程序计数器PC给出。

顺序寻址 (PC) 1——->PC

跳跃寻址 由转移指令指出,有转移指令来修改P C。

计算机的寻址方式(计算机原理-指令寻址)(1)

,