Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Architecture 间接寻址方式_Architecture_Mode_Operand_Addressing - Fatal编程技术网

Architecture 间接寻址方式

Architecture 间接寻址方式,architecture,mode,operand,addressing,Architecture,Mode,Operand,Addressing,我目前正试图解决一个问题,我被赋予以下标准: 我相信我有一些答案是正确的,但我感到困惑,因为问题没有提到地址存储在地址10,那么间接寻址怎么可能发生呢 问题:在以下寻址模式下,对应的操作数在哪里 假设指令的地址字段包含十进制10。 其中是给定以下地址的相应操作数 模式 立即寻址:操作数-10 直接寻址:操作数-10->地址 间接寻址:10->地址->地址 寄存器地址: 寄存器间接寻址: 有人能帮我吗 下面是我正在使用的图表: 更新位置: 即时寻址:对应的操作数位于给定内存的地址字段中。在所有

我目前正试图解决一个问题,我被赋予以下标准:

我相信我有一些答案是正确的,但我感到困惑,因为问题没有提到地址存储在地址10,那么间接寻址怎么可能发生呢

问题:在以下寻址模式下,对应的操作数在哪里

假设指令的地址字段包含十进制10。 其中是给定以下地址的相应操作数 模式

  • 立即寻址:操作数-10
  • 直接寻址:操作数-10->地址
  • 间接寻址:10->地址->地址
  • 寄存器地址:
  • 寄存器间接寻址:
  • 有人能帮我吗

    下面是我正在使用的图表:

    更新位置:

    • 即时寻址:对应的操作数位于给定内存的地址字段中。在所有情况下,操作数都只是给定内存位置的地址字段中的值。所以在这种情况下,操作数的值应该是10

    • 直接寻址:在直接寻址中,地址字段包含操作数的地址。因此,对应的操作数将是存储在内存地址10的操作数的任何值

    • 间接寻址:在间接寻址中,内存地址10的内容是操作数的地址。因此,位置10的地址字段包含在其地址字段中保存操作数的位置的地址

    • 寄存器寻址:在寄存器寻址中,存储器位置10的地址字段保存一个寄存器地址,而不是另一个存储器地址。在寄存器的内容中可以找到相应的操作数

    • 寄存器间接寻址:寄存器间接寻址与寄存器寻址非常相似,因为内存位置10也包含一个指向包含其操作数的位置的地址;区别在于地址可以是寄存器或内存位置


    就问题而言,假设一个地址存储在内存位置10中。毕竟,这是真正的CPU所做的。如果地址无效,CPU可能会发送一个信号或终止有问题的进程

    假设内存包含:

    10: 100
    20: 200
    100: 1000
    
    寄存器#10包含:
    20

    答案是:

  • 10:操作数包含在指令本身中
  • 一百
  • 一千
  • 20:寄存器本身包含操作数。寄存器编号在指令中进行编码
  • 200:寄存器包含操作数的地址

  • 所以,当回答这些问题时,我想寻找更多的答案,比如“记忆位置10的地址”。请通过编辑你的问题帖子来澄清你真正想要回答的问题。我刚才已经回答了。谢谢。我的问题是在哪里,而不是什么;您是否只是根据内存地址选择任意数字?给定“what”(我给出的),您可以确定“where”,因为每个值都位于唯一的位置。