




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、College of Computer Science & Technology第三章 ARM匯編編程 魯東大學(xué) LUDONG UNIVERSITYARM匯編語言偽指令(Directives)什么是偽指令:由匯編器提供的指令,指導(dǎo)匯編程序?qū)Υa進(jìn)行匯編,輔助編程人員進(jìn)行匯編編程機器指令(Instructions)運行期間由機器執(zhí)行偽指令(Directives,Pseudo)-由匯編器處理匯編語言指示符-指示匯編器進(jìn)行相應(yīng)的操作 操作偽指令-匯編器匯編成對應(yīng)機器指令 魯東大學(xué) LUDONG UNIVERSITY偽指令舉例AREA ThumbSub, CODE, READONLY ENTRY CO
2、DE32 ;ARM header ADR r0, start + 1 CODE16 ;Thumb. start MOV r0, #10 doadd MOV pc, lr END 匯編控制偽指令 魯東大學(xué) LUDONG UNIVERSITYARM匯編語言偽指令雜項偽指令報告?zhèn)沃噶畈僮鱾沃噶顢?shù)據(jù)定義偽指令符號定義偽指令 魯東大學(xué) LUDONG UNIVERSITY符號定義偽指令符號定義指令(Symbol definition directives):用于定義ARM匯編程序中的變量(實為常量),可進(jìn)行重新賦值。GBLA, GBLL, GBLSLCLA, LCLL, LCLS SETA, SETL,S
3、ETS 魯東大學(xué) LUDONG UNIVERSITY全局變量聲明 GBLA, GBLL, GBLS- 聲明一個全局的算術(shù)、邏輯和串變量 有效作用范圍:The scope of the variable is limited to the source file that contains it.DirectivesVariable TypeInitial ValueGBLAarithmetic0GBLL logicalFALSEGBLSstring 魯東大學(xué) LUDONG UNIVERSITY變量賦值 SETA, SETL, SETS-給一個算術(shù)、邏輯、串變量賦值Example:GLBA aG
4、LBS abcGLBS defa SETA 256*256abc SETS this string contains only one double quotedef SETS this string contains only one $ dollar symbol 魯東大學(xué) LUDONG UNIVERSITYExample GBLA VersionNumberVersionNumber SETA 21 GBLL DebugDebug SETL TRUE GBLS VersionStringVersionString SETS Version 1.0 魯東大學(xué) LUDONG UNIVERSI
5、TY局部變量聲明 LCLA, LCLL, LCLS-聲明一個局部的算術(shù)、邏輯、串變量有效作用范圍:The scope of the variable is limited to a particular macro that contains it.DirectivesVariable TypeInitial ValueLCLAarithmetic0LCLL logicalFALSELCLSstring 魯東大學(xué) LUDONG UNIVERSITYExampleMACRO ; Declare a macro $label message $a ;Macro prototype line LCL
6、S err ; Declare local string variable err SETS error no: ; Set value of err MEND 魯東大學(xué) LUDONG UNIVERSITY數(shù)據(jù)定義偽指令數(shù)據(jù)定義指令(Data definition directives):用于進(jìn)行數(shù)據(jù)空間分配。SPACEDCB DCD, DCDU MAP, FIELD 魯東大學(xué) LUDONG UNIVERSITYSPACEThe SPACE directive reserves a zeroed block of memory.分配一塊內(nèi)存單元,并用0初始化。ExampleAREA MyDat
7、a, DATA, READWRITEdata1 SPACE 255 ; defines 255 bytes of zeroed store 魯東大學(xué) LUDONG UNIVERSITYDCBThe DCB directive allocates one or more bytes of memory, and defines the initial values of the memory.分配一段字節(jié)內(nèi)存單元,并用偽指令中的expr初始化。 Syntax:label DCB expr ,expr.ExampleDISPTAB DCB 0 x33,0 x43,0 x76ERRSTR DCB “
8、Send data is error!”,0 魯東大學(xué) LUDONG UNIVERSITYDCD,DCDUThe DCD directive allocates one or more words of memory, aligned on 4-byte boundaries.DCDU is the same, except that the memory alignment is arbitrary.分配一段字內(nèi)存單元,并用偽指令中的expr初始化。DCD分配的內(nèi)存單元需要字對齊,而DCDU則不需要Syntax:label DCDU expr ,expr. 魯東大學(xué) LUDONG UNIVE
9、RSITYExample for DCD,DCDU 魯東大學(xué) LUDONG UNIVERSITY字對齊和非字對齊DCB 255 ; Now misaligned .data3 DCDU 20data3 DCD 20 魯東大學(xué) LUDONG UNIVERSITYMAP,F(xiàn)IELDMAP directive sets the origin of a storage map to a specified address. 將內(nèi)存區(qū)(表)的首地址映射到一個指定地址 is a synonym (同義詞)for MAP.Syntax MAP expr,base-registerExample MAP 0,
10、r9 MAP 0 xff,r9 0,r9 魯東大學(xué) LUDONG UNIVERSITYMAP,F(xiàn)IELDFIELDdirective describes space within a storage map that has been defined using the MAP directive. # is a synonym for FIELD. Syntaxlabel FIELD exprExample MAP 0,r9 Integer FIELD 4 Lab FIELD 4 LDR r0,Lab 魯東大學(xué) LUDONG UNIVERSITYMAP,FIELD-EXAMPLEStartO
11、fMyTable EQU 0 x1000 MAP 0 x1000Integer FIELD 4Integer2 FIELD 4String FIELD 100Array FIELD 128BitMask FIELD 4對于結(jié)構(gòu)化表結(jié)構(gòu)的存,取操作MOV r1,#1LDR r0,=IntegerSTR r1,r0LDR r2,r0 魯東大學(xué) LUDONG UNIVERSITY操作偽指令-pseudoinstructionPseudo Instruction-編譯器將編譯為ARM機器指令,與Directive Instuction不同。 ADR ADRL LDR NOP 魯東大學(xué) LUDONG U
12、NIVERSITYADRADR-小范圍地址讀取指令SYNAX ADR 寄存器號,表達(dá)式 地址相對于PC的偏移量,在-511B512B的范圍內(nèi)。 使用的標(biāo)號必須是本段內(nèi)定義的,不能使用導(dǎo)入的全局標(biāo)號。EXAMPLE: ADR r0,GotoThumb+1 BX r0 CODE16 GotoThumb ADD r0,r1 魯東大學(xué) LUDONG UNIVERSITYADRLADRL-中范圍地址讀取指令 可以加載的最大地址范圍在128KB的范圍 與ADR相同,只能加載本段定義的標(biāo)號地址ADRL與ADR的區(qū)別ADR偽指令通常會被匯編器翻譯成一條語句 向前-sub rn,pc,#xxx 向后-add rn,pc,#xxxADRL會翻譯成兩條。 魯東大學(xué) LUDONG UNIVERSITYA
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 聯(lián)邦學(xué)習(xí)框架下的設(shè)備故障智能診斷算法研究
- 阿那亞戲劇節(jié)背景下藝術(shù)管理教育的新探索
- 燕子說課課件及教案
- 數(shù)字化技術(shù)在文化傳播中的應(yīng)用與效果評估
- 綠色建筑光綜合能源系統(tǒng)多目標(biāo)優(yōu)化配置研究
- 體育賽事策劃師崗位面試問題及答案
- 鐵路工程技術(shù)人員崗位面試問題及答案
- 金融科技風(fēng)險傳導(dǎo)路徑-洞察闡釋
- 工業(yè)固廢分類收集系統(tǒng)優(yōu)化設(shè)計-洞察闡釋
- 物聯(lián)網(wǎng)在智能制造中的跨國協(xié)作研究-洞察闡釋
- 2024年河南省南召縣教育局公開招聘試題含答案分析
- 2025春季學(xué)期國開電大??啤稒C械制圖》一平臺在線形考(形成性任務(wù)1至4)試題及答案
- 紅外熱像儀性能提升行業(yè)深度調(diào)研及發(fā)展項目商業(yè)計劃書
- CJ/T 410-2012隔油提升一體化設(shè)備
- DB14-T 2245-2025 煤炭洗選企業(yè)標(biāo)準(zhǔn)化管理規(guī)范
- 家庭成員現(xiàn)實表現(xiàn)情況
- 2025屆湖南長沙雅禮實驗中學(xué)七年級數(shù)學(xué)第二學(xué)期期末學(xué)業(yè)水平測試試題含解析
- 2025云南鋁業(yè)股份限公司高校畢業(yè)生招聘100人易考易錯模擬試題(共500題)試卷后附參考答案
- 黃旭華人物介紹
- TCWEA6-2019水利水電工程施工期度汛方案編制導(dǎo)則
- 2025成都勞動合同范本
評論
0/150
提交評論