arm的存儲(chǔ)器訪問指令

ID:16399561

大小:51.50 KB

頁數(shù):3頁

時(shí)間:2018-08-09

arm的存儲(chǔ)器訪問指令_第1頁
arm的存儲(chǔ)器訪問指令_第2頁
arm的存儲(chǔ)器訪問指令_第3頁
資源描述:

《arm的存儲(chǔ)器訪問指令》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

1、ARM的存儲(chǔ)器訪問指令實(shí)驗(yàn)?zāi)康膌熟悉使用ADS開發(fā)環(huán)境。l通過實(shí)驗(yàn)掌握ARM存儲(chǔ)器訪問指令的使用方法。實(shí)驗(yàn)設(shè)備l硬件:PC機(jī)。l軟件:ADS集成開發(fā)環(huán)境,Windows2000/XP/2003。實(shí)驗(yàn)內(nèi)容l熟悉開發(fā)環(huán)境,并使用LDR/STR指令等訪問寄存器或存儲(chǔ)單元。。實(shí)驗(yàn)原理ARM處理器是Load/Store型的,即它對數(shù)據(jù)的操作是通過將數(shù)據(jù)從存儲(chǔ)器加載到片內(nèi)寄存器中進(jìn)行處理,處理完成后的結(jié)果經(jīng)過寄存器存回到存儲(chǔ)器中,以加快對片外存儲(chǔ)器進(jìn)行數(shù)據(jù)處理的執(zhí)行速度.存儲(chǔ)器訪問指令分為單寄存器操作指令,多寄存器操作指令和寄存器和存儲(chǔ)器交換指令。LDR指令用于從內(nèi)存中讀取單一字或

2、字節(jié)數(shù)據(jù)存入寄存器中,STR指令用于將寄存器中的單一字或字節(jié)數(shù)據(jù)保存到內(nèi)存。LDR{cond}{T}Rd,<地址>;將指定地址上的字?jǐn)?shù)據(jù)讀入RdSTR{cond}{T}Rd,<地址>;將Rd中的字?jǐn)?shù)據(jù)存入指定地址LDR{cond}B{T}Rd,<地址>;將指定地址上的字節(jié)數(shù)據(jù)讀入RdSTR{cond}B{T}Rd,<地址>;將Rd中的字節(jié)數(shù)據(jù)存入指定地址其中,T為可選后綴。若指令有T,那么即使處理器是在特權(quán)模式下,存儲(chǔ)系統(tǒng)也將訪問看成是在用戶模式下進(jìn)行的。T在用戶模式下無效,不能與前索引偏移一起使用T。LDR/STR指令尋址非常靈活,它由兩部分組成,其中一部分為一個(gè)基址

3、寄存器,可以為任一個(gè)通用寄存器;另一部分為一個(gè)地址偏移量。地址偏移量有以下3種格式:§立即數(shù)。立即數(shù)可以是一個(gè)無符號(hào)的數(shù)值。這個(gè)數(shù)據(jù)可以加到基址寄存器,也可以從基址寄存器中減去這個(gè)數(shù)值。如:LDRR1,[R0,#0x12]§寄存器。寄存器中的數(shù)值可以加到基址寄存器,也可以從基址寄存器中減去這個(gè)數(shù)值。如:LDRR1,[R0,R2]§寄存器及移位常數(shù)。寄存器移位后的值可以加到基址寄存器,也可以從基址寄存器中減去這個(gè)數(shù)值。如:LDRR1,[R0,R2,LSL#2]LDR和STR——字和無符號(hào)字節(jié)加載/存儲(chǔ)指令編碼指令執(zhí)行的條件碼I為0時(shí),偏移量為12位立即數(shù),為1時(shí),偏移量為

4、寄存器移位P表示前/后變址U表示加/減B為1表示字節(jié)訪問,為0表示字訪問W表示回寫為指令的尋址方式Rd為源/目標(biāo)寄存器Rn為基址寄存器L用于區(qū)別加載(L為1)或存儲(chǔ)(L為0)ARM存儲(chǔ)器訪問指令——多寄存器加載/存儲(chǔ)多寄存器加載/存儲(chǔ)指令可以實(shí)現(xiàn)在一組寄存器和一塊連續(xù)的內(nèi)存單元之間傳輸數(shù)據(jù)。LDM為加載多個(gè)寄存器;STM為存儲(chǔ)多個(gè)寄存器。允許一條指令傳送16個(gè)寄存器的任何子集或所有寄存器。它們主要用于現(xiàn)場保護(hù)、數(shù)據(jù)復(fù)制、常數(shù)傳遞等。助記符說明操作條件碼位置LDM{mode}Rn{!},reglist多寄存器加載reglist←[Rn...],Rn回寫等LDM{cond}

5、{mode}STM{mode}Rn{!},reglist多寄存器存儲(chǔ)[Rn...]←reglist,Rn回寫等STM{cond}{mode}實(shí)驗(yàn)參考程序AREAExample1,CODE,READONLY;聲明代碼段Example1ENTRY;標(biāo)識(shí)程序入口CODE32;聲明32位ARM指令STARTLDRR1,[R8]LDRR2,[R8,#4]STRR2,[R8]STRR1,[R8,#4]STOPMOVR0,#0x18LDRR1,=0x20026SWI0x123456END;標(biāo)記程序結(jié)束實(shí)驗(yàn)結(jié)論實(shí)驗(yàn)總結(jié)及心得體會(huì)實(shí)驗(yàn)思考題1.分別使用前變址,后變址,自動(dòng)回寫的尋址方式,

6、將存儲(chǔ)單元0x00000040,0x00000044的值存放到R1,R2.再將R1,R2的值存儲(chǔ)到內(nèi)存單元0x00000050,0x00000054.2.根據(jù)LDR/STR指令的二進(jìn)制編碼形式對下列指令譯碼,用16進(jìn)制表示.LDRR0,[R1,#0]LDRR3,[R5,-#0xC]STRR7,[R9],#8

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

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

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(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)完成后未能成功下載的用戶請聯(lián)系客服處理。
关闭