我正在尝试模拟PIC16F84
,现在需要实现PCL
/PCLATH
寄存器。
PIC16F84
有 1K 的程序内存。
PCL
是 8Bit 宽,所以在这种情况下,Bit 0 和 1用于PCLATH
在每个大小为 的四个页面之间切换,256B
到目前为止我是对的吗?
基于此,我不明白以下内容:
数据表说明了GOTO
:
PC 的高位从 PCLATH<4:3> 加载。GOTO 是一个两周期指令。
但是上位是不是PCLATH
太多了?我的意思是只有 4 个页面,每个 256B,因此只PCLATH
需要第 0 位和第 1 位。或者换句话说 - 第 3 位和第 4 位PCLATH
始终为 0 ?为什么我在执行“CALL”或“GOTO”时需要关心“PCLATH”?