[计算机组成原理] 以低字节地址为字地址

[计算机组成原理] 以低字节地址为字地址_第1张图片

以低字节地址为字地址,就是小端存储模式:数据低位(或者说低字节)存储在内存低地址;

以高字节地址为字地址,就是大端存储模式:数据低位(或者说高字节)存储在内存高地址。

[计算机组成原理] 以低字节地址为字地址_第2张图片

现在看一个例题:

[计算机组成原理] 以低字节地址为字地址_第3张图片

这个题目有一个需要明确的地方:什么是第一、第二、第三字节? 

对于一个有三个字节的数据来说,第一字节就是其中内存地址最小的那个字节。

因此,对于题目要求的小端模式而言,数据的低字节要存放在内存低地址,而操作码OP是第一字节,因此OP放在内存低地址,有:

[计算机组成原理] 以低字节地址为字地址_第4张图片

容易知道,偏移量为:

290 - (240 + 3) = 47_{(10)} = 2F_{(2)} = 002F_{(2)}

其中,2F是数据低字节,又因为OP已经占了第一字节,因此2F只能放在第二字节,最后:

[计算机组成原理] 以低字节地址为字地址_第5张图片

因此,答案为:第二字节是2F,第三字节是00。

可以发现,如果我们将其写成一个字的形式,是很反直觉的:

[计算机组成原理] 以低字节地址为字地址_第6张图片

如果我们将题目改成“以高字节地址为字地址”呢?

显然因为操作OP码是第一字节,又因为大端存储,有:

[计算机组成原理] 以低字节地址为字地址_第7张图片

你可能感兴趣的:(计算机组成原理,开发语言)