ARM嵌入式系統(tǒng)教程教學(xué)課件作者張石第4章節(jié)課件

ARM嵌入式系統(tǒng)教程教學(xué)課件作者張石第4章節(jié)課件

ID:40234697

大?。?16.00 KB

頁(yè)數(shù):84頁(yè)

時(shí)間:2019-07-27

ARM嵌入式系統(tǒng)教程教學(xué)課件作者張石第4章節(jié)課件_第1頁(yè)
ARM嵌入式系統(tǒng)教程教學(xué)課件作者張石第4章節(jié)課件_第2頁(yè)
ARM嵌入式系統(tǒng)教程教學(xué)課件作者張石第4章節(jié)課件_第3頁(yè)
ARM嵌入式系統(tǒng)教程教學(xué)課件作者張石第4章節(jié)課件_第4頁(yè)
ARM嵌入式系統(tǒng)教程教學(xué)課件作者張石第4章節(jié)課件_第5頁(yè)
資源描述:

《ARM嵌入式系統(tǒng)教程教學(xué)課件作者張石第4章節(jié)課件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、ARM嵌入式系統(tǒng) 第4章ARM匯編程序設(shè)計(jì)ARM程序設(shè)計(jì)基礎(chǔ)偽操作(derective)偽指令(Pseudo-instruction)ARM匯編語(yǔ)言語(yǔ)句格式ARM匯編語(yǔ)言的程序格式相關(guān)的程序示例偽操作符號(hào)定義偽操作數(shù)據(jù)定義偽操作匯編控制偽操作其他偽操作符號(hào)定義偽操作定義全局變量:GBLA、GBLL和GBLS定義局部變量:LCLA、LCLL和LCLS變量賦值:SETA、SETL、SETS通用寄存器列表定義名稱(chēng):RLISTGBLA、GBLL和GBLSGBLA、GBLL和GBLS語(yǔ)法格式:GBLA(GBLL或GB

2、LS)全局變量名GBLAobjectsize;全局的數(shù)字變量objectsize,為0ObjectsizeSETA0xff;將該變量賦值為0xffSPACEobjectsize;引用該變量GBLLstatusB;全局的邏輯變量statusB,為{False}statusBSETL{TRUE};將該變量賦值為真全局:作用范圍為包含該變量的源程序LCLA、LCLL和LCLSLCLA、LCLL和LCLS語(yǔ)法格式:LCLA(LCLL或LCLS)局部變量名MACRO;聲明一個(gè)宏$labelmessage$a;宏的原型

3、LCLSerr;聲明一個(gè)局部變量err,為空串errSETS“errorno:”;向該變量賦值$label;代碼INFO0,err:CC::STR:$a;使用該串變量MEND;宏定義結(jié)束局部:作用范圍為包含該局部變量的宏代碼的一個(gè)實(shí)例SETA、SETL、SETSSETA、SETL和SETS語(yǔ)法格式:變量名SETA(SETL或SETS)表達(dá)式在向變量賦值前,必須先聲明該變量RLISTRLIST語(yǔ)法格式:名稱(chēng)RLIST{寄存器列表}ContextRLIST{r0-r6,r8,r10-r12,r15};將寄存器列

4、表名稱(chēng)定義為Context,可在ARM指令LDM/STM中通過(guò)該名稱(chēng)訪問(wèn)寄存器列表。排列順序無(wú)關(guān)數(shù)據(jù)定義偽操作DCBDCW(DCWU)DCD(DCDU)DCFD(DCFDU)DCFS(DCFSU)SPACEMAPFIELDDCB語(yǔ)法格式:{標(biāo)號(hào)}DCB表達(dá)式表達(dá)式取值范圍:-128~255的數(shù)字或字符串。DCB:“=”NullstringDCB“Nullstring”,0;構(gòu)造一個(gè)以0結(jié)尾的字符串DCW(或DCWU)語(yǔ)法格式:{標(biāo)號(hào)}DCW(或DCWU)表達(dá)式DCW:半字對(duì)齊DCWU:不嚴(yán)格半字對(duì)齊。表達(dá)式

5、取值范圍:-32768~65535data1DCW-128,num1+8;num1必須是已經(jīng)定義過(guò)的DCD(或DCDU)語(yǔ)法格式:{標(biāo)號(hào)}DCD(或DCDU)表達(dá)式DCD:“&”DCD:字對(duì)齊DCDU:不嚴(yán)格字對(duì)齊。data1DCD1,5,20;其值為1,5,20data2DCDmemaddr+4;分配一個(gè)字單元,其值為程序中標(biāo)號(hào)memaddr加4個(gè)字節(jié)DCFD(或DCFDU)語(yǔ)法格式:{標(biāo)號(hào)}DCFD(或DCFDU)表達(dá)式每個(gè)雙精度的浮點(diǎn)數(shù)占據(jù)兩個(gè)字單元。DCFD:字對(duì)齊DCFDU:不嚴(yán)格字對(duì)齊DCFD1

6、E308,-4E-100DCFDU100000,-.1,3.1E26DCFS(或DCFSU)語(yǔ)法格式:{標(biāo)號(hào)}DCFS(或DCFSU)表達(dá)式每個(gè)單精度的浮點(diǎn)數(shù)占據(jù)一個(gè)字單元。DCFS:字對(duì)齊DCFSU:不嚴(yán)格字對(duì)齊DCFS1E3,-4E-9DCFSU1.0,-.1,3.1E6SPACE語(yǔ)法格式:{標(biāo)號(hào)}SPACE表達(dá)式分配一片連續(xù)的存儲(chǔ)區(qū)域并初始化為0。其中,表達(dá)式為要分配的字節(jié)數(shù)。SPACE:“%”DatastrucSPACE280;分配連續(xù)280字節(jié)的存儲(chǔ)單元并初始化為0MAP語(yǔ)法格式:MAP表達(dá)式{,

7、基址寄存器}用于定義一個(gè)結(jié)構(gòu)化的內(nèi)存表的首地址。MAP:“^”通常與FIELD偽指令配合使用來(lái)定義結(jié)構(gòu)化的內(nèi)存表。MAP0x80,R9;定義結(jié)構(gòu)化內(nèi)存表首地址的值為0x80+R9FILED語(yǔ)法格式:{標(biāo)號(hào)}FIELD表達(dá)式定義一個(gè)結(jié)構(gòu)化內(nèi)存表中的數(shù)據(jù)域。FILED也可用“#”代替。MAP0;定義結(jié)構(gòu)化內(nèi)存表首地址為0constaFIELD4;consta的長(zhǎng)度為4字節(jié),相對(duì)位置為0constbFIELD4;constb的長(zhǎng)度為4字節(jié),相對(duì)位置為4xFIELD8;x的長(zhǎng)度為8字節(jié),相對(duì)位置為0x8yFIELD

8、8;y的長(zhǎng)度為8字節(jié),相對(duì)位置為0x10stringFIELD256;y的長(zhǎng)度為256字節(jié),相對(duì)位置為0x18MOVR9,#4096LDRR5,[R9,constb];將內(nèi)存表中數(shù)據(jù)域constb讀取到R5中匯編控制偽操作匯編控制(AssemblyControl)偽操作用于控制匯編程序的執(zhí)行流程,常用的匯編控制偽操作包括以下幾條:IF、ELSE、ENDIFWHILE、WENDMACRO、MENDMEXITIF、E

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。