emp保存w其它中断服务代码org0x0800定义page1的起始地址,以下指令代码放在page1Sub1retur
只要你认为代码需要确定放在某一特定地址处,在程序的任何地方都可以用org伪指令重新定义存放的起始地址,且地址顺序可以任意编排。但要注意的是若干个确定起始地址的代码块不能相互重叠,否则编译器会报错,无法得到正确结果。若用可重定位方式开发指令代码时一般不能用org伪指令绝对定位代码。
__idlocsPIC单片机中有一处非常特殊的标记单元。它独立于任何其它存储器,唯一的作用就是作为一个标记。此标记值无法用软件读到,读取和写入的方法只有通过编程器实现。此标记值没有读保护,你可以利用它存放程序的版本或日期等信息。如果需要,则可以用伪指令__idloc在程序中定义具体的值。__idloc0x1234设定芯片的标记值为0x1234,注意前面有两个下划线符和__co
fig伪指令定义的配置字一样,用__idloc定义的芯片标记值在最后也会存放在HEX文件中,这就要求编程器能够解析它。
fErrorlevelerrorlevel的用途是控制编译信息的输出显示。编译器在编译你的源程序时会提供很多信息,有些信息是你必须要处理的,例如错误信息(Error),只要有错误信息存在,你的程序将永远无法完成编译;有些可能只需要关注,例如警告信息War
i
g;也有一些可能你根本就不感兴趣,它们只是一些提示信息(Message)而已。注意出现警告和提示信息时将不会中止编译器的编译工作,你的程序将被编译并最终产生HEX文件。图314中显示了一个程序编译后的各种信息实例,其中既有错误信息,也有警告和提示信息。我们可以用errorlevel伪指令来控制输出信息的级别,或刻意关闭/打开一些提示信息。编译信息的输出显示级别有三种,分别是0、1和2。级别0代表显示所有信息,包括各种错误、警告和提示信息,如图314所示;级别1代表显示错误和警告信息,忽略提示信息;级别3代表只显示错误信息而忽略警告和提示信息。在任何一个大的级别上还可以对某些信息单独设定显示或关闭。每个信息都有一个识别标号,见图314中信息项“”中的数字,打开或关闭某类信息只需在errorlevel伪指令中引用信息识别标号,并在其前面用“”或“”号,即代表打开或关闭这一类信息,例如:errorlevel0302305显示所有信息,但不需要302和305这两类提示信息errorlevel1305显示错误和警告信息,但同时还要关注305类的提示信息
Dtdt的作用是定义表格数据。在第一章介绍基本汇编指令时已经提到,PIC单片机实现表格定义的最基本指令r