MIPS CPU にはデータを保持する機構として 32 のレジスタがある。レジスタの 1 ワードは 4 バイト (32 ビット) である。32 個のレジスタの内 $t0 $t7 は一時格納用に、 $s0 $s7 は変数格納用に主に用いられる。残りのレジスタについては随時紹介してゆく。
[ロードとストアの概念]
ロードとストアの概念図を図 1 に示した。 メモリからレジスタに値をロードする際に命令 lw を、 レジスタからメモリに値をストアする際に命令 sw を用いていることがわかる。
これを C 言語に対応させると図 2 のような記述 となるだろう。 つまり、メモリアドレス 0x10010000 に対応する変数 a の値を メモリアドレス 0x10010004 に対応する変数 b にコピーしている.なお、MIPS CPU においてはメモリの 1 ワードは 4 バイトであり、 そのため、メモリアドレスは 4 刻みで増えて行く。
[MIPS CPU のアセンブリ言語の命令]