|
讀一些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=<類型> 無 設置單片機類型,如16F84 r=<基數> HEX 設置常數數制的基數(如hex十六進制;dec十進制等) 例:LIST f=1NHX8M,r=DEC,P=16F84 (4)PROCESSOR<處理器類型> 說明:用于選擇所用單片機的型號。 (5)INCLUDE 包含其它外部源文件 格式:INCLUDE “文件名” INCLUDE <文件名> 說明:用于把指定文件讀入源程序中作為源程序代碼的一部分,直到檢測到文件結束符時為止,再恢復到原源程序中的代碼處。此偽指令可允許嵌套使用,最多可嵌套6層。文件名必須用雙引號或尖括號給出。 舉例:include “c:\PIC\sysdefs.inc” include<picreg.h> |