以下哪条指令可以引用指令中 #1000 位置的内存位置?

Which of the following instructions can reference a memory location that is #1000 locations from the instruction?

我正在做一道计算机组织练习题

问题: 以下哪条指令可以引用距指令 #1000 个位置的内存位置?
a.ADD
b.LD
c.STR
d.LEA
e.All 以上
以上f.None

我的思考过程:

我正在使用 LC-3 as a reference to do this problem. I used a synonym of reference, mention from Reference 让问题更清楚。现在我的问题是以下哪一条指令可以提到指令中#1000 位置的内存位置。现在,评估个人选择

根据我上面的理由,我的最终答案是 a.ADD 和 c.STR。大家同意我的回答和理由吗?我错过了一个吗?

我认为 ADD 在 LC-3 中根本不能直接引用内存。我相信它可以在寄存器上工作(即您需要在执行 ADD 之前将内存加载到寄存器中)或立即数。所以:

  • A​​DD:仅立即或寄存器寻址 - 不能直接访问内存
  • LD: 9bit PC-relative only, cannot reach an offset of 1000
  • STR: base+offset only, 可以访问任意地址的内存,有合适的基地址
  • LEA:仅 9 位 PC 相关,无法达到 1000 的偏移量(并且不会真正查看内存)

查看 Cyrus Bazeghi / Andrea di Blas / Alex Holloway 制作的这些幻灯片:https://classes.soe.ucsc.edu/cmpe012/Summer08/notes/06_LC3_ISA_markup.pdf。它们展示了架构中的指令流,这对于理解寻址模式非常有用。