R3000
ハードウェアアーキテクチャ上、汎用レジスタの使用に次のような制約がある。
汎用レジスタ $0 は常に内容が 0 であり、何を書き込んでも 0 のままである。
汎用レジスタ $31 はサブルーチンコール時の jump and link 命令でリンクレジスタ(戻りアドレスを格納するレジスタ)として使われる。
HI レジスタと LO レジスタは整数の乗除算の結果を格納する。
これら以外に制約はない。
MIPSの用意したコンパイラなどのツール群は呼出規約の一環としてレジスタの使用法を規定している。これらの規定はハードウェアの制約ではないが、ツール群がこれに従っている関係で、MIPSアーキテクチャを採用したシステムではほぼ間違いなくこの規定に従ってレジスタを使用している。
なお、"Callee must preserve?" とは、あるルーチンの中でそのルーチンに入ってきたときの値を保持した状態で呼び出した側に戻る必要があることを意味する。