新聞中心

PIC單片機(jī)偽指令

作者: 時(shí)間:2013-01-09 來(lái)源:網(wǎng)絡(luò) 收藏

閱讀一些的源程序開(kāi)始段,會(huì)發(fā)現(xiàn)有一些特殊指令,這些與指令系統(tǒng)的助記不同,沒(méi)有相對(duì)應(yīng)的操作碼,通常稱這些特殊指令。

在源程序中的作用是為完成匯編程序作各種準(zhǔn)備工作的(實(shí)際上是給PC機(jī)匯編的注釋),這些僅在匯編過(guò)程中起作用,一旦匯編結(jié)束,偽指令的使命就完成。

在匯編程序MPASM中,有四類偽指令:數(shù)據(jù)偽指令、列表偽指令、控制偽指令和宏匯編指令。

現(xiàn)在,我們將對(duì)前兩類中的常用偽指令予以說(shuō)明,后兩類偽指令等到在具體程序中出現(xiàn)時(shí),再加以說(shuō)明。

(1)ORG 存放單元起始地址

格式:標(biāo)號(hào)>ORG地址表達(dá)式>

說(shuō)明:ORG用于指定該偽指令后面的源程序存放的起始地址,也就是匯編后的目標(biāo)機(jī)器碼存放的首地址。若ORG后面不帶地址參數(shù),則默認(rèn)為0。若ORG帶標(biāo)號(hào),則地址參數(shù)也賦值給該標(biāo)號(hào)。在一個(gè)源程序中,可以根據(jù)需要多次使用ORG偽指令來(lái)定位。

例:ORG 1FFH      DELAY

GOTO MAIN        MOVLM 2

;……           ……

ORG 0          END

右排接左

說(shuō)明:指令末的偽指令END是通知匯編程序MPASM結(jié)束對(duì)源程序(?ASM)的匯編,即使后面還有語(yǔ)句,也不再予以匯編。在一個(gè)源程序中必須有END偽指令,而且只能有一個(gè)END,且放在整個(gè)程序的最后。

(2)EQU 是對(duì)寄存器f和標(biāo)號(hào)賦值

格式:標(biāo)號(hào)>EQU表達(dá)式>

說(shuō)明:給標(biāo)號(hào)或寄存器賦值,標(biāo)號(hào)一旦由EQU賦值,其值便不能再重新定義。

舉例:label EQU 0x20

注意:這里操作數(shù)中的0x表示十六進(jìn)制,即0x20相當(dāng)于20H。

(3)LIST 列表選擇指令

格式:LIST選擇項(xiàng)>,…,選擇項(xiàng)>

說(shuō)明:用來(lái)設(shè)置各種匯編參數(shù)以控制匯編過(guò)程,或?qū)α斜砦募M(jìn)行格式化。此偽指令的所有參數(shù)只能在一行內(nèi)完成,參數(shù)的數(shù)值都用十進(jìn)制數(shù)設(shè)置。

LIST列表選擇偽指令可以選用的部分參數(shù)如下。

參數(shù)名  默認(rèn)值    作  用

f=格式> 1NHX8M;規(guī)定固化編程文件格式(INHX16,INHX32或INHX8M)1NHX8M適于把目標(biāo)碼輸入到大多數(shù)的EPROM編程器中。

P=類型> 無(wú)  設(shè)置單片機(jī)類型,如16F84

r=基數(shù)> HEX 設(shè)置常數(shù)數(shù)制的基數(shù)(如hex十六進(jìn)制;dec十進(jìn)制等)

例:LIST f=1NHX8M,r=DEC,P=16F84

(4)PROCESSOR處理器類型>

說(shuō)明:用于選擇所用單片機(jī)的型號(hào)。

(5)INCLUDE 包含其它外部源文件

格式:INCLUDE “文件名”

INCLUDE 文件名>

說(shuō)明:用于把指定文件讀入源程序中作為源程序代碼的一部分,直到檢測(cè)到文件結(jié)束符時(shí)為止,再恢復(fù)到原源程序中的代碼處。此偽指令可允許嵌套使用,最多可嵌套6層。文件名必須用雙引號(hào)或尖括號(hào)給出。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉