我目前正在尝试解决一个问题,我给出了这些标准:
我相信我的答案是正确的,但我感到困惑,因为问题没有提到地址存储在地址10,所以间接寻址怎么可能发生呢?
问题:给定以下寻址模式的相应操作数在哪里?
假设指令的地址字段包含小数10。 给出以下寻址的相应操作数在哪里 模式?
有人可以帮帮我吗?
这是我使用的图表:
更新了哪里:
立即寻址:相应的操作数位于给定内存的地址字段中。在所有情况下,操作数只是给定内存位置的地址字段中的值。因此,在这种情况下,操作数值将为10.
直接寻址:在直接寻址中,地址字段包含操作数的地址。因此,相应的操作数将是为存储器地址10处的操作数存储的任何操作数。
间接寻址:在间接寻址中,存储器地址10的内容是操作数的地址。因此,位置10的地址字段包含保存操作数的位置的地址。
寄存器寻址:在寄存器寻址中,存储器位置10的地址字段保存寄存器的地址而不是另一个存储器地址。相应的操作数位于寄存器的内容中。
寄存器间接寻址:寄存器间接寻址与寄存器寻址非常相似,因为存储器位置10也将地址保存到包含其操作数的位置;区别在于地址可以是寄存器或存储位置。
答案 0 :(得分:0)
出于问题的目的,假设地址 存储在内存位置10.毕竟,这就是真正的CPU所做的事情。如果地址证明无效,CPU可能会发送信号或终止违规过程。
假设记忆包含:
10: 100
20: 200
100: 1000
并且注册#10包含:20
答案是: