欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3885|回復: 0
收起左側

A51的匯編控制指令

[復制鏈接]
ID:59306 發表于 2014-2-27 14:56 | 顯示全部樓層 |閱讀模式

A51提供的匯編控制指令,針對A51匯編器的,用于改變A51的狀態,A51匯編器能夠識別2類匯編控制指令,首要的匯編控制指令和次要的匯編控制指令.
首要控制指令:首要控制指令只能在源程序中出現一次,可以放在命令行或者是源程序的開頭,他們不能被別的控制改變.如果需要使用多個首要控制指令,則最好把他們放在源程序的開頭,(這樣可以在命令行中少輸入這些指令,)首要控制指令在源程序中一行只能由一個首要控制指令,
命令的格式:   $ 匯編控制指令 (參數)
以$符號開始,且位于第一列,符號與控制指令助記符之間要有空格.
次要控制指令,次要控制指令不能出現在命令行中,只能出現在源程序中,其命令的格式個首要控制指令的格式一樣.
一: 首要控制指令
1) DEBUG/NODEBUG
縮寫:DB/NODB
默認值:NODEBUG
功能:DEBUG指示A51在目標文件中加入DS51或其他的Intel兼容的仿真器使用的調試信息,而NODEBUG指示不加入調試信息.
1)   OBJECT/NOOBJECT
縮寫: OJ/NOOJ
參數:僅OBJECT 需要以用括號括起來的文件名
默認值:OBJECT(源文件名.OBJ)
功能:OBJECT指示生成以文件名參數命名的目標文件,如果該指令末未帶文件名,則默認目標文件名與源文件名相同,擴展名.OBJ,通常目標文件與源文件位于同一目錄下.NOOBJECT指示不生成目標文件.默認的控制是生成與源文件同名,擴展名.OBJ.
2)   PRINT/NOPRINT
縮寫:PR/NOPR
參數:可有可無的由括號括起來的文件名(僅PRINT指令需要)
默認值:PRINT(源文件名.LST)
功能:PRINT生成以文件名參數命名的列表文件,如果未指定文件名,默認的列表文件名為源文件名.LST.NOPRINT指示不生成列表文件.默認的控制是生成與源文件名同名的,擴展名為.LST的列表文件.
3)   SYMBOLS/NOSYMBOLS
縮寫:SB/NOSB
默認值:SYMBOLS
功能:SYMBOLS指示在列表文件中生成符號表,該指令的功能可被NOPRINT抑制,而NOSYMBOLS指示不生成符號表,該指令的功能可被XREF(在列表文件中生成符號的交叉參考列表)指令激活,默認的控制為SB,即在列表文件中生成符號表.
4)   MOD51/NOMOD51
縮寫:MO/NOMO
默認值:MOD51
功能:MOD指令使編程者能使用預定義的8051的BIT和DATA符號,而NOMOD51使51不識別8051所定義的所有符號,從而使用戶可以對MCS-51系列其他的單片機編程并自定義符號文件.自定義的文件必須使用 $ INCLUDE指令包含到源文件中去,(這種格式是在A51源文件中,在C源文件中使用預處理指令 #Include <filename.h>這種格式.)在這種格式下,需要使用 $NOMOD51 指令,否則會因為多重定義產生錯誤.
5)   COND和 NOCOND
默認值:COND
功能:指示在列表文件中列出IF—ELSEIF—ENDIF條件匯編結構中未匯編的部分.NOCOND指示不列出未匯編的部分,此時未列出的部分可以通過丟失的行號識別.默認的控制是COND,即在列表文件中列出為匯編的部分.
二 次要控制指令
次要控制指令可多次出現在源程序中的任何地方,但不能出現在命令行,對于同一指令的多次出現,A51總是只接受最新出現的指令的控制.
1)   INCLUDE
參數:用括號括起來的文件名
功能:在該指令出現的地方插入參數所指定的文件名,INCLUDE指令可以嵌套,該指令常和NOMOD51指令一起使用,在程序中除了插入為單片機自定義的包含文件外,也可以使有效的匯編語言源代碼.
Example : $ INCLUDE (REG52.inc)
2)   條件匯編
條件匯編語據屬于次要控制指令,但SET 和 RESET 可在源程序或者是命令行中使用.使用條件匯編,可根據不同需要部分的匯編源程序代碼,使用同一程序能滿足不同的應用需要.
條件匯編的部分是位于IF/ELSEIF/ELSE/ENDIF指令之間的源代碼塊,他們又帶有美元符和不帶美元符兩種不同形式.兩種形式的差異僅在于前者只能訪問由SET 和 RESET指令定義的符號,而后者可訪問除SET和RESET定義之外所有的符號.除SET 和RESET指令可用于命令行之外,其他的條件匯編條件匯編指令只能用于源程序中.
a)   SET 和RESET
參數:(變量[,變量][,變量]……)
     (變量=數值[,變量=數值][,變量=數值]……)
     (變量,變量=數值,變量[,……]…)
功能:指令SET和RESET將變量賦值,這些變量與CODE,BIT,DATA,IDATA,XDATA不同,他們只能用在條件匯編的表達式里以控制條件匯編,不能用于其他地方.數值的類型可以是常數或者是無類型的表達式.
Example:
$ SET (TMP,TMP1=55,TMP2,TMP3)
將變量TMP,TMP2,TMP3賦默認值0FFFFH(TURE) ,變量TMP1被賦值為55
$ RESET(TMP,VAR,TMP3)
將變量TMP,VAR,TMP3都賦以默認值0000H(FALSE).
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表