2.2 レジスタ
Chip-8は16個の8ビット汎用レジスタを持っており、本ドキュメントではVx
(xは16進数で0からFまで)と表記する、もう一つ16ビットのI
というレジスタがある。I
はメモリアドレスの格納のために使われる。下位12ビットのみ通常使われる。
VF
レジスタはプログラムから通常直接使われず、いくつかの命令のフラグとして使われる。詳しくは3.0 命令を参照のこと。
Chip-8には二つの特別な8ビットレジスタがある、delayとサウンドタイマーである。これらのレジスタがゼロ以外の場合、60Hzの速度で自動的にデクリメントされていく。
また、プログラムからアクセス不可なレジスタ(pseudo-registers)がある。プログラムカウンタPC
は16ビットで現在の実行アドレスを格納する。スタックポインタSP
は8ビットでスタックの先頭のインデックスを表す。
スタックは16個の16ビットの配列で、インタプリタのサブルーチンのリターンアドレスを格納する。Chip-8は16段階のサブルーチンの呼び出しが可能である。