我正在努力寻找一个解释 MIPS 及其工作原理的好网站。
我试图理解的代码是:
SW 7000(R0),R1
我知道 SW 表示保存字,它是将 R1 的值保存到内存地址 7000。(R0)有什么意义?它有什么作用?
对于我遇到的类似问题,是否有很好的资源?
谢谢!
这里 R0 是一个寄存器。将它放在括号中表示您正在使用间接寻址(即:像指针一样):不是存储在 R0 中,而是存储在 R0 中的地址中。
7000 表示偏移量。在这种情况下,您会将地址存储在 R0 + 7000 中。
看起来应该是
SW R1, 7000(R0)
其中 R1 和 R0 是任何 MIPS 寄存器。
它将寄存器 R1 的内容读取为存储到有效内存地址7000+R0
中。例如,如果 R1 包含值 10,而 R0 包含值 1192,则它将值 10 的字(32 位)存储到内存地址 8192 中。