目次PIC入門873ハードSFR

PIC16F873のSFR説明(3)

PCLATH(プログラムカウンタ上位レジスタ) 0Ah,8Ah,10Ah,18Ah
    このレジスタはプログラム実行カウンタ(プログラム実行アドレス)の上位5ビットを格納するレジスタです。
PIC16シリーズではプログラムエリアは最大8Kワードで13ビットでプログラムアドレスを指定する構成になっています。PCLATHにはそのうちの上位5ビットが格納されます。
PIC16F873ではプログラムメモリの容量は4Kワードです。

GOTO命令またはCALL命令ではプログラムアドレスの下位11ビットは命令のオペランド部で指定されます。ですから、その場合にはプログラムアドレスの上位2ビットがPCLATHで指定されます。

通常の処理ではPCLATHおよびPCLレジスタを意識して設定する必要はありません。自動的に必要な値に設定されます。しかし、RETLW命令を使う場合にはプログラムアドレスを処理で算出します。そのような場合、PCLTAHおよびPCLレジスタは処理で設定する必要があります。