PIC系列单片机的伪指令
阅读一些 PIC 单片机的源程序开始段,会发现有一些特殊指令助记符,这些助记符与指令系统的助记不同,没有相对应的操作码,通常称这些特殊指令助记符为伪指令。 伪指令在源程序中的作用是为完成汇编程序作各种准备工作的(实际上是给 PC 机汇编的注释),这些伪指令仅在汇编过程中起作用,一旦汇编结束,伪指令的使命就完成。 在汇编程序 MPASM 中,有四类伪指令:数据伪指令、列表伪指令、控制伪指令和宏汇编指令。 现在,我们将对前两类中的常用伪指令予以说明,后两类伪指令等到在具体程序中出现时,再加以说明。
(1)ORG 存放单元起始地址格式:ORG 说明:ORG 用于指定该伪指令后面的源程序存放的起始地址,也就是汇编后的目标机器码存放的首地址。若 ORG 后面不带地址参数,则默认为 0。若 ORG 带标号,则地址参数也赋值给该标号。在一个源程序中,可以根据需要多次使用 ORG 伪指令来定位。 例:ORG 1FFH DELAY GOTO MAIN MOVLM 2;…… …… ORG 0 END 右排接左说明:指令末的伪指令 END 是通知汇编程序 MPASM 结束对源程序(?ASM)的汇编,即使后面还有语句,也不再予以汇编。在一个源程序中必须有 END 伪指令,而且只能有一个 END,且放在整个程序的最后。
(2)EQU 是对寄存器 f 和标号赋值格式:EQU 说明:给标号或寄存器赋值,标号一旦由 EQU 赋值,其值便不能再重新定义。 举例:label EQU 0x20 注意:这里操作数中的 0x 表示十六进制,即 0x20 相当于 20H。
(3)LIST 列表选择指令格式:LIST,…, 说明:用来设置各种汇编参数以控制汇编过程,或对列表文件进行格式化。此伪指令的所有参数只能在一行内完成,参数的数值都用十进制数设置。 LIST 列表选择伪指令可以选用的部分参数如下。参数名默认值作 用 f= 1NHX8M;规定固化编程文件格式(INHX16,INHX32 或 INHX8M)1NHX8M 适于把目标码输入到大多数的 EPROM 编程器中。P= 无设置微控制器类型,如 16F84r= HEX 设置常数数制的基数(如 hex 十六进制;dec 十进制等) 例:LIST f=1NHX8M,r=DEC,P=16F84
(4)PROCESSOR 说明:用于选择所用微控制器的型号。
(5)INCLUDE 包含其它外部源文件格式:INCLUDE “文件名” INCLUDE 说明:用于把指定文件读入源程序中作为源程序代码的一部分,直到检测到文件结束符时为止,再恢复到原源程序中的代码处。此伪指令可允许嵌套使用,最多可嵌套 6 层。文件名必须用双引号或尖括号给出。 举例:include “c:\\PIC\\sysdefs.inc”