PIC18扩展指令集:数据存储器和寻址模式

需积分: 45 127 下载量 19 浏览量 更新于2024-08-10 收藏 9.91MB PDF 举报
PIC18扩展指令集数据存储器和寻址模式 PIC18扩展指令集(XINST配置位=1)对数据存储器和寻址模式产生了显著的影响。使能扩展指令集后,许多核心PIC18指令使用快速操作存储区,引入了对数据存储空间的新的寻址模式。该模式还会改变使用FSR2及其相关操作数进行间接寻址的方式。 在扩展指令集下,数据存储空间的大小及其线性寻址模式都不会改变。SFR映射也保持不变。核心PIC18指令也仍然以直接和间接寻址模式进行操作。固有和立即数寻址指令操作照旧。FSR0和FSR1的间接寻址模式也保持不变。 使用立即数偏移量进行变址寻址是扩展指令集的一种特殊寻址模式。在适当的条件下,使用快速操作存储区的指令(即绝大多数针对位和针对字节的指令)可以利用指令中的偏移量来执行变址寻址。这种特殊的寻址模式被称为使用立即数偏移量的变址寻址或立即数变址寻址模式。 使用扩展指令集时,这种寻址模式有如下要求: • 使用快速操作存储区(a=0) • 文件地址参数要小于或等于5Fh 在这些条件下,指令的文件地址不会被解析为地址的低字节(在直接寻址中和BSR一起使用),或快速操作存储区中的8位地址,而是被解析为由FSR2指定的地址指针的偏移量。将该偏移量与FSR2的内容相加以获取操作的目标地址。 任何使用直接寻址模式的核心PIC18指令均会受到立即数变址寻址模式的潜在影响,包括所有针对字节和针对位的指令,即核心PIC18指令集中几乎一半的指令。只有使用固有寻址或立即数寻址模式的指令不受影响。 此外,如果针对字节和针对位的指令使用快速操作存储区(快速操作RAM位=1)或包含60h以上的文件地址,它们也不受影响。符合这些条件的指令会像以前一样执行。 在扩展指令集下,用户需要注意立即数变址寻址模式下汇编语法的改变。在第29.2.1节“扩展指令的语法”中对此进行了更详细的说明。 PIC18扩展指令集对数据存储器和寻址模式产生了显著的影响,用户需要了解这些变化以便更好地使用扩展指令集。