CPU > レジスタ

  • 8 ビットレジスタ: A, F, B, C, D, H, L
  • 16 ビットレジスタ: SP, PC
  • 8 ビットレジスタは AF、BC、DE、HL の組み合わせで、16 ビットのペアレジスタとしても扱うことがある

表.レジスタセットと組み合わせ

15..8  7..0 
A F
B C
D E
H L
SP
PC

アキュームレータ (A)


算術演算や論理演算などの演算は、このレジスタが使われ、結果がこれに保存される。
メモリとのやり取りにもこのレジスタが多く使用される。

フラグレジスタ (F)


アキュームレータでは、演算を行うのに使われるが、その結果、どのようなことが起こったかを保存するレジスタ。

表.フラグレジスタ

7 6 5 4 3 2 1 0
Z N H C - - - -

  • ゼロフラグ(Z): 演算結果がセロであることを示すフラグ。
    結果がゼロの時、1となり、そうでないときは、0となる。

  • サブトラクトフラグ(N): 直前に実行された命令が、減算命令であったことを示すフラグ。
    減算命令であったとき、1となり、加算命令であったときは、0となる。

  • ハーフキャリーフラグ(H): 演算の結果、下位4ビットから上位4ビットに対して、キャリー(桁上がり)またはボロー(桁下がり)があったことを示すフラグ
    下位4ビットからのキャリーまたはボローがあったとき、1となり、そうではなかったときは、0となる。

  • キャリーフラグ(C):加減算の結果、キャリーまたはボローがあったことを示すフラグ。
    キャリーまたは、ボローがあったとき、1となり、そうでなかったときは、0となる。
    また、ビット・シフト/ローテート命令で、最上位または最下位ビットからあふれたビットをキャリーとして扱う。

汎用レジスタ (B, C, D, E, H, L)


一時的な記憶場所として、いろいろな目的で使用できるレジスタ。
2つずつペアとして、BC、DE、HLのペア・レジスタとして使用できる。
完全な汎用ではなく、各命令で、特殊な意味を持たせている。

スタックポインタ (SP)


16ビットのレジスタで、メモリー上のスタックエリアのアドレスを記憶している。
レジスタの値を一時的に退避(PUSH命令)したり、復帰(POP命令)したりするために利用される。

プログラムカウンタ (PC)


16 ビットのレジスタで、次に実行する命令のアドレスを保持している。
命令を 1 バイト読み込む毎に加算される。
最終更新:2017年08月28日 12:27