第四章ARM系統(tǒng)硬件設(shè)計(jì)基礎(chǔ).ppt

第四章ARM系統(tǒng)硬件設(shè)計(jì)基礎(chǔ).ppt

ID:48806638

大?。?63.50 KB

頁數(shù):58頁

時(shí)間:2020-01-27

第四章ARM系統(tǒng)硬件設(shè)計(jì)基礎(chǔ).ppt_第1頁
第四章ARM系統(tǒng)硬件設(shè)計(jì)基礎(chǔ).ppt_第2頁
第四章ARM系統(tǒng)硬件設(shè)計(jì)基礎(chǔ).ppt_第3頁
第四章ARM系統(tǒng)硬件設(shè)計(jì)基礎(chǔ).ppt_第4頁
第四章ARM系統(tǒng)硬件設(shè)計(jì)基礎(chǔ).ppt_第5頁
資源描述:

《第四章ARM系統(tǒng)硬件設(shè)計(jì)基礎(chǔ).ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、第4章ARM系統(tǒng)硬件設(shè)計(jì)基礎(chǔ)1、匯編語言程序常用的符號(hào)(1)常量常量是指其值在程序運(yùn)行過程中不能被改變的量。ARM匯編程序支持的常量有數(shù)字常量、邏輯常量和字符串常量。數(shù)字常量一般為32位的整數(shù);邏輯常量只有兩種取值:真或假;字符串常量為一個(gè)固定的字符串。(2)變量變量是指其值在程序運(yùn)行過程中可以改變的量。在ARM匯編語言程序中,可使用GBLA、GBLL、GBLS偽指令聲明全局變量,使用LCLA、LCLL、LCLS偽指令聲明局部變量,并可使用SETA、SETL和SETS對(duì)其進(jìn)行初始化。(3)變量代換程序中的變量可通過代換操作取得一個(gè)

2、常量。代換操作符為“$”。數(shù)字變量前面有一個(gè)代換操作符“$”,編譯器會(huì)將該數(shù)字變量的值轉(zhuǎn)換為十六進(jìn)制的字符串,并將該十六進(jìn)制的字符串代換“$”后的數(shù)字變量。邏輯變量前面有一個(gè)代換操作符“$”,編譯器會(huì)將該邏輯變量代換為它的取值(真或假)。字符串變量前面有一個(gè)代換操作符“$”,編譯器會(huì)將該字符串變量的值代換“$”后的字符串變量。(3)變量代換LCLSS1;定義局部字符串變量S1和S2LCLSS2S1SETS“Test!”S2SETS“Thisisa$S1”;字符串變量S2的值為“ThisisaTest!”4.2.1ARM匯編器支持的

3、偽指令偽操作不像機(jī)器指令一樣在CPU運(yùn)行時(shí)執(zhí)行,而是在匯編程序期間進(jìn)行處理的。1、符號(hào)定義(SymbolDefinition)偽操作2、數(shù)據(jù)定義(DataDefinition)偽操作3、匯編控制(AssemblyControl)偽操作4、其他常用的偽操作1、符號(hào)定義偽操作符號(hào)定義偽指令用于定義ARM匯編程序中的變量、對(duì)變量賦值以及定義寄存器的別名等操作。常見的符號(hào)定義偽指令有如下幾種:(1)定義全局變量GBLA、GBLL和GBLS(2)定義局部變量LCLA、LCLL和LCLS(3)對(duì)變量賦值SETA、SETL、SETS(1)GBL

4、A、GBLL和GBLS語法GBLA(GBLL或GBLS)全局變量名GBLA(GlobalArithmetic)定義一個(gè)全局的數(shù)字變量,并初始化為0GBLL(GlobalLogic)定義一個(gè)全局的邏輯變量,并初始化為F(假)GBLS(GlobalString)定義一個(gè)全局的字符串變量,并初始化為空(1)GBLA、GBLL和GBLSGBLATest1Test1SETA0xaaGBLLTest2Test2SETL{TRUE}GBLSTest3Test3SETS“Testing”(2)LCLA、LCLL和LCLS語法格式LCLA(LCLL

5、或LCLS)局部變量名LCLA偽指令用于定義一個(gè)局部的數(shù)字變量,并初始化為0LCLL偽指令用于定義一個(gè)局部的邏輯變量,并初始化為F(假)LCLS偽指令用于定義一個(gè)局部的字符串變量,并初始化為空(2)LCLA、LCLL和LCLSLCLATest4Test1SETA0xaaLCLLTest5Test2SETL{TRUE}LCLSTest6Test3SETS“Testing”(3)SETA、SETL和SETS語法變量名SETA(SETL或SETS)表達(dá)式SETA偽指令用于給一個(gè)數(shù)字變量賦值SETL偽指令用于給一個(gè)邏輯變量賦值SETS偽指

6、令用于給一個(gè)字符串變量賦值(4)RLIST(RegisterList)語法名稱RLIST{寄存器列表}作用對(duì)一個(gè)通用寄存器列表定義名稱,使用該偽指令定義的名稱可在ARM指令LDM/STM中使用實(shí)例RegListRLIST{R0-R5,R8,R10}2、數(shù)據(jù)定義偽操作數(shù)據(jù)定義偽操作一般用于為特定的數(shù)據(jù)分配存儲(chǔ)單元,同時(shí)可完成已分配存儲(chǔ)單元的初始化。(1)DCB(DistributeContinuousByte)語法標(biāo)號(hào)DCB表達(dá)式作用分配一片連續(xù)的字節(jié)存儲(chǔ)單元并用偽指令中指定的表達(dá)式初始化。其中,表達(dá)式可以為0~255的數(shù)字或字符串

7、。DCB也可用“=”代替。實(shí)例StrDCB“Thisisatest!”(2)DCW語法標(biāo)號(hào)DCW表達(dá)式作用分配一片連續(xù)的半字存儲(chǔ)單元并用偽指令中指定的表達(dá)式初始化。其中,表達(dá)式可以為程序標(biāo)號(hào)或數(shù)字表達(dá)式。實(shí)例DataTestDCW1,2,3(3)DCD語法標(biāo)號(hào)DCD表達(dá)式作用分配一片連續(xù)的字存儲(chǔ)單元并用偽指令中指定的表達(dá)式初始化。其中,表達(dá)式可以為程序標(biāo)號(hào)或數(shù)字表達(dá)式。DCD也可用“&”代替。實(shí)例DataTestDCD4,5,6(4)DCFD語法標(biāo)號(hào)DCFD表達(dá)式作用為雙精度的浮點(diǎn)數(shù)分配一片連續(xù)的字存儲(chǔ)單元并用偽指令中指定的表達(dá)式

8、初始化。每個(gè)雙精度的浮點(diǎn)數(shù)占據(jù)兩個(gè)字單元。實(shí)例FDataTestDCFD2E115,-5E7(5)DCFS語法標(biāo)號(hào)DCFS表達(dá)式作用為單精度的浮點(diǎn)數(shù)分配一片連續(xù)的字存儲(chǔ)單元并用偽指令中指定的表達(dá)式初始化。每個(gè)單精度的浮點(diǎn)數(shù)占據(jù)一個(gè)字單元。實(shí)例FDa

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

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

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(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)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。