Skip to content

2013年 408 计算机组成原理 第 17 题

计算机组成原理2013年选择题2分

题目

假设变址寄存器 R 的内容为 1000H,指令中的形式地址为 2000H;地址 1000H 中的内容为 2000H,地址 2000H 中的内容为 3000H,地址 3000H 的内容为 4000H,则变址寻址方式下访问到的操作数是()。

错因

A

把变址寄存器 R 的"内容"当成了操作数。R 是用来参与计算有效地址的(EA = R + 形式地址),它本身的值不是操作数。选 1000H 的人多半误以为"变址寻址 = 取变址寄存器里的数",混淆了"寄存器寻址"和"变址寻址"。

B

把"形式地址"当成了 EA:直接停在指令里写的 2000H,没做加法。变址寻址的关键正是形式地址 + 变址寄存器,停在形式地址等于退回到了"立即寻址"或"直接寻址"的逻辑。也可能是误把 Mem[1000H] = 2000H 当作答案——同样是少做了加法。

C

只算到了有效地址 EA = R + 形式地址 = 1000H + 2000H = 3000H 就停了,没有再做"取内存内容"那一步。变址寻址的最终操作数是 Mem[EA],而不是 EA 本身。把"地址"当成"数据"是寻址题最高频的错点。

总解析

变址寻址公式

其中 是变址寄存器 R 的内容, 是指令中的形式地址。

两步代入

步骤计算结果
① 求 EA
② 取操作数

完整访存路径(值的流向):

最终答案是 D(4000H)

寻址方式速辨(容易混的几种):

寻址方式操作数位置公式
立即寻址指令内A 本身
直接寻址内存Mem[A]
间接寻址内存(多一次访存)Mem[Mem[A]]
寄存器寻址寄存器(R)
寄存器间接寻址内存Mem[(R)]
变址寻址内存Mem[(R) + A]
基址寻址内存(语义同变址,B 是基址)Mem[(B) + A]

变址寻址记忆要点:先算地址(加法),再访存(取值)——两步都不能漏。

最后更新:

🎬 可视化演示
加载中...

提示:可在可视化区直接操作播放、步进、修改参数