ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
内容が常に0であるレジスターのこと。
ソースとして使用した場合は常に0が読み出される。デスティネーションとして使用した場合は、その結果が破棄される。
RISCなど、特に3オペランド命令に対応するマイクロプロセッサーで用意されることの多いレジスターで、一般には汎用レジスターの一つをゼロレジスターとする。
例えば、R0〜R31まで32個用意される汎用レジスターのうち、R0をゼロレジスターとするような製品がある。
こうして、3オペランド命令しかない中でも、オペランドが二つで充分な演算をする際にゼロレジスターを用いることで演算を行なうことができる。
ゼロレジスターを0とすると、例えば、A←Bという代入命令は、A←B+0という加算命令や、A←B Or 0という論理演算で書くことができる。
ビットテスト命令も、0←A And Bという論理演算で書くことができ、結果は従来通りフラグレジスターに得られる。
ゼロレジスターを持たない設計のプロセッサーと比較して、必要となる基本の命令セマンティクスは維持しながら、実際の実装上の命令数を削減することが可能で、もって回路がコンパクトになるため、RISCでよく採用されている。
ゼロレジスターは本来記憶素子があるべきところに0レベルへの配線が付けられているだけで、回路上特別扱いはされていないのが普通である。
読み出せば常に0になり、書き込んでも何も起こらない(記憶素子が無い以上、それは無視される)。
日立(後のルネサス)のSuperHでも、当初はなかったが、SH-5からゼロレジスターが新設された。
ARMでも当初はなかったが、64ビットのAArch64ステートで採用された新命令セット「A64」からゼロレジスターが新設された。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます