微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

寄存器的基数和偏移量

如何解决寄存器的基数和偏移量

首先,像4($ s3)和$ s3之间有什么区别?据我了解,4($ s3)是一个内存地址,$ s3是一个寄存器。我说得对吗?

接下来,在以下两种情况下,源寄存器是什么:

  1. lw,$ t0,4($ s3)
  2. lw,$ t1,12($ s3)

在我看来,这两种情况下的源寄存器都只是“ $ s3”。有人告诉我这是不正确的,正确答案分别是4($ s3)和12($ s3)?以下哪个答案是正确的,为什么?

解决方法

4($ s3)和$ s3之间的区别在于前者使用间接寻址(即,使用$ s3中的值来计算要从中检索信息的地址)。在您说明的示例中,4($ s3)将指向等于(寄存器$ s3)+ 4中的值的地址。$ s3将仅引用寄存器$ s3本身。

确切地说,通常将其称为“源操作数/地址”而不是“源寄存器”,因为它可能不是寄存器。在这种情况下,它是4($ s3)和12($ s3),因为这是要与之交互的数据的存储位置。我们正在使用$ s3中的值进行间接定位,以找到从哪个地址检索数据(实际源)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。