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 に格納されます。