資源描述:
《偽指令與匯編語言.ppt》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、目錄01什么是偽指令02偽指令的作用03常用的偽指令什么是偽指令?0101定義什么是偽指令匯編程序中提供了一套偽指令(PseudoInstructions),以支持匯編的運行。這些偽指令僅在匯編過程中起控制作用,不產(chǎn)生可執(zhí)行目標代碼,與機器指令代碼無一一對應(yīng)關(guān)系,只能被匯編程序識別。匯編后,目標程序中不再出現(xiàn)偽指令,故又稱為軟指令?!啊眰沃噶钆c單片機指令的區(qū)別:偽指令不能命令CPU執(zhí)行某種操作,也沒有對應(yīng)的機器代碼。單片機指令能使單片機的CPU執(zhí)行某種操作,并可以生成對應(yīng)的機器代碼02偽指令的作用02作用偽指令的作用偽指令的作用包括:用來指定程序或數(shù)據(jù)的起始位置;給出一些連續(xù)存放數(shù)據(jù)的地址;
2、為中間運算結(jié)果保留一部分存儲空間;為源程序中的符號和標號賦值;表示源程序結(jié)束等等“”不同版本的匯編語言,偽指令的符號和含義可能有所不同,但基本用法是相似的。03常用的偽指令常用的偽指令03ORG:起點命令ORG<表達式>程序起始地址偽指令例如:ORG8000HSTART:MOVA,#74H…表示源程序的入口地址為8000H,即程序從8000H開始執(zhí)行?!啊背S玫膫沃噶?3END:結(jié)束命令END程序結(jié)束命令偽指令格式:…END匯編程序結(jié)束標志,該命令附在一個源程序的結(jié)尾。在END之后所寫的指令,匯編時不予處理,因此一個源程序只能有一個END命令?!啊背S玫膫沃噶?3DB:定義字節(jié)命令DB<表達
3、式>定義字節(jié)命令格式:標號:DB字節(jié)常數(shù)或字符從指定單元開始,定義了若干個8位存儲單元,以存放指令給出的數(shù)據(jù)或字符,字符若用引號括起來,則表示ASCⅡ碼?!啊背S玫膫沃噶?3DB:定義字節(jié)命令DB<表達式>定義字節(jié)命令例如:ORG8000HTAB:DB45H,73,’A’TAB1:DB101B這里數(shù)據(jù)塊的首址由ORG命令定義,即TAB=8000H,則有由DB命令定義的標號可以任選,DB所確定的單元地址有兩種方法?!啊?8000H)=45H(8001H)=49H(8002H)=35H(8003H)=41H(8004H)=05H1.若DB命令是在其他源程序之后,則源程序的最后一條指令地址之后就是
4、DB定義的數(shù)據(jù)或數(shù)據(jù)表格。2.由ORG定義數(shù)據(jù)塊首址。常用的偽指令03DW:定義字命令DW<表達式>定義字命令格式:標號:DW字或字表從指定單元開始,定義若干個字(雙字節(jié)數(shù))。例如:ORG8000HHETAB:DW7234H,8AH,10“”(8000H)=72H(8001H)=34H(8002H)=00H(8003H)=8AH(8004H)=00H(8005H)=0AH匯編后則:常用的偽指令03DS:定義空間命令DS<表達式>定義空間命令格式:標號:DS數(shù)據(jù)或字符表達式從指定單元開始,由數(shù)據(jù)或表達式確定保留若干個字節(jié)內(nèi)存空間備用。例如:ORG8000HDS08HDB30H,8AH即8000
5、H~8007H單元保留備用(8008H)=30H(8009H)=8AH“”以上DB`DW`DS偽指令只對程序儲存器起作用常用的偽指令03EQU:等值命令EQU<表達式>命令格式:字符名稱:EQU數(shù)據(jù)或匯編符號此命令把一個數(shù)據(jù)或特定的匯編符號賦予標號段規(guī)定的字符名稱。為“取代”之意,即以數(shù)據(jù)或匯編符號取代字符名稱。用EQU定義的字符必須先定義后使用,這些定義的字符名稱可用作數(shù)據(jù)地址,位地址或立即數(shù)。例如:ORG8000HAA:EQUR6;AA與R6等值MOVA,AA;A(R6)…“”常用的偽指令03DATA:數(shù)據(jù)地址賦值命令DATA<表達式>數(shù)據(jù)地址賦值命令格式:字符名稱:DATA數(shù)據(jù)或表達式
6、此命令把數(shù)據(jù)地址或代碼地址賦予標號段規(guī)定的字符名稱。例如:INDEXJDATA8389H定義了INDEXJ這個字符名稱的地址為8389H,主要用于程序的模塊式調(diào)試。例如:ORG8000HINDEXJ:DATA8096HLJMPINDEXJEND“”常用的偽指令03DATA:數(shù)據(jù)地址賦值命令DATA<表達式>數(shù)據(jù)地址賦值命令等價于ORG8000HLJMP8096HEND被定義的字符名稱也可先使用后定義。DATA和EQU的區(qū)別在于DATA定義的字符名稱作為標號登記在符號表中,故可先使用后定義;而用EQU定義的字符名稱必須先定義后使用,其原因是EQU不定義在符號表中?!啊背S玫膫沃噶?3BIT:位
7、地址符號命令BIT<表達式>位地址符號命令格式:字符名稱:BIT位地址該命令把地址賦予標號段規(guī)定的字符名稱。例如:A1BITP1.0A2BITP1.1這里地址P1.0,P1.1分別賦予給標號段的字符A1`A2,在編程中可將字符A1`A2當作位地址用?!啊?/p>