偽指令不屬于單片機的指令系統(tǒng),而是由匯編器提供的指令,用于調(diào)整存儲器中程序的位置、定義宏、初始化存儲器等。AVR單片機的匯編器共提供18條偽指令(見附表)。
其中,ORG、DB、DW、EQU讀者比較熟悉,這里不再贅述。下面對部分偽指令加以說明。
BYTE-保存單字節(jié)數(shù)據(jù)到SRAM中。BYTE偽指令僅用在數(shù)據(jù)存儲器。為提供數(shù)據(jù)保存的位置,在BYTE前應(yīng)有標號。在由CSEG、ESEG定義的代碼段和E2PROM段中不能使用BYTE偽指令。
格式LABEL:.BYTE表達式
CSEG-定義程序存儲器代碼段的起始位置一個匯編文件可以包括若干個代碼段,匯編時這些代碼段被連成一個代碼段。在代碼段中不能使用BYTE偽指令。
格式.CSEG
DSEG-定義數(shù)據(jù)段的起始位置一個匯編文件,可以包括若干個數(shù)據(jù)段,匯編時這些數(shù)據(jù)段被連成一個數(shù)據(jù)段。數(shù)據(jù)段等由BYTE偽指令組成。
格式.DSEG
ESEG-定義E2PROM段的起始位置一個匯編文件可以包括若干個E2PROM段,匯編時這些EEPROM段被連成一個EEPROM段。在EEPROM段中不能使用BYTE偽指令。
格式.ESE
GDEF-為寄存器設(shè)置符號名DEF偽指令允許周符號代替寄存器。一個寄存器可以賦多個符號。
格式.DEF符號=寄存器
DEVICE-定義使用的器件DEVICE定義程序所使用的器件,若程序中有指定器件不支持的指令,或程序段、E2PROM段超出指定器件的容量,匯編器將給出提示。若不用DEVICE偽指令,則默認器件支持所有指令,也不限制存儲器容量。
格式.DEVICEAT90S1200|AT90S2313|AT90S4414|AT90S8515
AVR單片機的器件不同,指令的條數(shù)不同。
AT90S1200有89條最基本指令;Attinyll/12/15/22有90條指令:AT90S2313/2323/2343/2333/4414/4433/4434/8515/90S8534/8535有118條指令;ATmega603/103有121條指令;ATmega161有130條指令。因此在源程序中必須先用偽指令“DEVICE”定義使用的器件名。
INCLUDE-包括另外的文件INCLUDE告訴匯編器從指定的文件開。始讀,然后匯編該文件,直至文件結(jié)束或遇到EXIT偽指令。
格式 INCLUDE“文件名”
EXIT-匯編結(jié)束若EXIT出現(xiàn)在包括文件中,則從文件中INCLUDE偽指令行繼續(xù)執(zhí)行。
-
單片機
+關(guān)注
關(guān)注
6063文章
44915瀏覽量
646910 -
AVR
+關(guān)注
關(guān)注
11文章
1125瀏覽量
79608 -
匯編器
+關(guān)注
關(guān)注
0文章
31瀏覽量
11410
原文標題:AVR單片機匯編器偽指令
文章出處:【微信號:mcugeek,微信公眾號:MCU開發(fā)加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
單片機編程之匯編語言基礎(chǔ)-PIC單片機匯編指令
AVR單片機匯編指令系統(tǒng)相關(guān)資料分享
PIC單片機反匯編器
AVR單片機反匯編器 (AVR單片機開發(fā)調(diào)試工具)
MCS-51單片機匯編語言中的偽指令
AVR高速嵌入式單片機原理與應(yīng)用(修訂版)
AVR單片機匯編指令系統(tǒng)

評論