匯編語言中常用的偽指令檔_第1頁
匯編語言中常用的偽指令檔_第2頁
匯編語言中常用的偽指令檔_第3頁
匯編語言中常用的偽指令檔_第4頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、匯編語言中常用的偽指令分類:軟件相關(guān)2013-01-23 20:13 515人閱讀 評論(0)收藏舉報 areaequ偽指令常用匯編語言匯編語言中,指令語句在源程序匯編時會產(chǎn)生可供計算機執(zhí)行的指令代碼,即目標代碼。匯 編程序除指令語句外,還需要提供一些指令,用于輔助源程序的匯編。比如指定程序或數(shù)據(jù) 存放的起始地址,為數(shù)據(jù)分配一段連續(xù)的內(nèi)存單元等。這些指令在匯編時并不生成目標代碼, 不影響程序執(zhí)行,因此稱之為偽指令。本文簡單總結(jié)了常用的偽指令,如下。1、EQU(Equate)一般格式為:標號: EQU 操作數(shù)指令功能為將操作數(shù)賦予標號,兩邊的值完全相等。使用EQU偽指令給一個標號賦值后, 此標號

2、在整個源文件中值固定。AREA:EQU 1000H將標號 AREA 賦值為 1000H2、ORG(Origin)一般格式為:ORG xxxxH (絕對地址或標號)XxxxH決定此語句后第一條指令(或數(shù)據(jù))的地址。該段源程序或數(shù)據(jù)被連續(xù)存放在此后 的地址內(nèi),直到下一條ORG指令為止。ORG 8000H;此后目標代碼存儲在存儲器中以0 x8000h開始的地址空間中。ADD R1,#1MOV R2,#23、DB(Define Byte)一般格式為:標號: DB字節(jié)常數(shù)或字符或表達式標號字段可有可無,字節(jié)常數(shù)或字符是指一個字節(jié)數(shù)據(jù)。此偽指令的功能是把字節(jié)常數(shù)或字 節(jié)串存放至內(nèi)存連續(xù)的地址空間中。ORG

3、 8000HDATA1: DB 43H,09H,08HDATA2: DB 07H偽指令DB指定了 43H,09H,08H順序存放在8000H開始的存儲單元中,DATA2中的07H緊挨著DATA1的地址空間存放,即07H存放在8003H單元中。注:DW(Define Word)指令定義與DB類似,區(qū)別在于DW定義一個字,DB定義一個字 節(jié)。4、END一般格式為:標號: END 地址或標號地址或標號可以忽略。此偽指令用于指示匯編語言程序段結(jié)束。因此一個源程序中僅有一個 END,且一般放在程序最后。若END放在程序中間,則END后面的語句將不再被匯編。5、AREA一般格式為:標號 sectionna

4、me,attr,attrSectionname指定節(jié)的名稱。節(jié)是不可分的已命名獨立代碼模塊或數(shù)據(jù)模塊,由連接器進 行處理。Attr則是一個或多個用逗號分隔的節(jié)的屬性。屬性有多種,比如:ALIGN=expression。默認條件下節(jié)以四字節(jié)邊界對齊。Expression取值范圍為0-31.表征 的對齊邊界是2的expression平方。CODE包含機器指令。默認值為READONLYDATA包含數(shù)據(jù)但不包含指令。默認值為READWRITEREADONLY指示此節(jié)只讀。代碼區(qū)域默認值。READWRITE指示此節(jié)可讀可寫。數(shù)據(jù)區(qū)域默認值。AREA Example, DATA, READWRITE;da

5、ta以上代碼定義了名為Example的可讀寫數(shù)據(jù)節(jié)。6、PUBLIC一般格式為:PUBLIC 標識符1,標識符2.在開發(fā)較為復雜的應用程序時,其執(zhí)行文件的生成一般由多個目標文件鏈接而成。多個目標 文件之間一般存在數(shù)據(jù)交互,匯編語言中通過偽指令PUBLIC及EXTRN來解決模塊之間的 聯(lián)系。PUBLIC用來說明當前模塊中可被其他模塊所引用的公共標識符。PUBLIC _STARTUP聲明標識符_STARTUP可被其他模塊所引用。7、EXTRN或EXTERN一般格式為:EXTRN 標識符1:類型1,標識符2:類型2 表明標識符1、2是外部標識符,其已經(jīng)在其他模塊中被定義為類型1、類型2等。在一個 模

6、塊中,可用多條EXTRN來說明本模塊中所引用的外部標識符。實質(zhì)為匯編器提供一個并 未在當前匯編文件中定義的名稱。注:EXTRN所聲明的標識符必須在其定義的模塊中被PUBLIC聲明為公共標識符,且聲明 的標識符類型需與該標識符定義類型一致。類似:EXPORT 或 GLOBAL聲明一個符號,鏈接器可以使用此符號解析不同對象和庫文件中的符號引用。即,可使其他 文件中的代碼能夠訪問當前文件中的符號。8、PROC一般格式為: 過程名PROC類型此指令為過程定義指令。過程即子程序,一個過程可以被其他程序調(diào)用(CALL指令)。過程名PROC 類型ENDP注:PROC和ENDP必須成對出現(xiàn)。9、SPACE一般

7、格式為:標號 SPACE表達式此指令用于分配一片連續(xù)的存儲區(qū)域并初始化為0。表達式為要分配的字節(jié)數(shù)。SPACE可 用“ ”來代替。DataSpace SPACE 1000;分配連續(xù)1000個字節(jié)的存儲單元DataSpace并初始化為0。10、ENTRY此指令用于聲明程序的入口點。一個程序至少有一個入口點。AREA TEST, CODE, READONLYENTRY;程序入口點。11、PRESERVE8一般格式為:PRESERVE8 boolPRESERVE8指令指定當前文件需保持堆棧八字節(jié)對齊方式。其通過設(shè)置PRES8編譯屬性 通知連接器。PRESERVE8;保持代碼堆棧八字節(jié)對齊。PRESERVE8 FALSE;不保持代碼堆棧八字節(jié)對齊。12、CODE16、CODE32一般格式為:CODE16 (或 CODE32)CODE16通知編譯器,其后的指令序列為16位的Thumb指令。CODE32通知編譯器,其后的指令序列為32位的ARM指令。在實用ARM指令和Thumb指令混合編程的代碼里,可使用這兩天指令進行切換。注:指 令只能通知編譯器其后的指令類型,并不能對處理器進行狀態(tài)的切換。12、IMPORT此指令類似于EXTERN。用于通知編譯器即將使用的標號在其他源文件中定義。無論當前 源文件是否引用該標號,該標號均會被加入到當前源文件的符號表中。一般格式為:IMPORT 標

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論