arm寄存器與處理器模式_第1頁(yè)
arm寄存器與處理器模式_第2頁(yè)
arm寄存器與處理器模式_第3頁(yè)
arm寄存器與處理器模式_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)ARM 寄存器/處理器模式實(shí)驗(yàn)?zāi)康氖煜な褂?ADS 開發(fā)環(huán)境,初步學(xué)會(huì)搭建開發(fā)環(huán)境。實(shí)驗(yàn)設(shè)備硬件:PC 機(jī)。:ADS 集成開發(fā)環(huán)境,Windows 2000/XP/2003。實(shí)驗(yàn)內(nèi)容熟悉開發(fā)環(huán)境,并使用 LDR/STR 和 MOV 指令等寄存器或單元。實(shí)驗(yàn)原理ARM 指令集是基于精簡(jiǎn)指令集計(jì)算機(jī)(RISC)原理設(shè)計(jì)的,指令集和相關(guān)譯碼機(jī)制較為簡(jiǎn)單。RICS 指令集的一個(gè)顯著特點(diǎn)為:器只能通過(guò) Load/Store 兩種指令完成。其它指令只能對(duì)寄存器和立即數(shù)操作。ARM 提供了 LDR/STR 兩條指令實(shí)現(xiàn)了訪存操作,同時(shí),為了提高訪存速度,還提供了 LDM/STM 用于批量訪存。ARM 處

2、理器共有 37 個(gè)寄存器。其中包括 31 個(gè)通用寄存器和 6 個(gè)狀態(tài)寄存器。對(duì)應(yīng)于 ARM 的 7 種不同處理器模式,每一種模式下都有一組相應(yīng)的寄存器組。在任何時(shí)刻,可見的寄存器包括 15 個(gè)通用寄存器(R0-R14),一個(gè)或兩個(gè)狀態(tài)寄存器及程序計(jì)數(shù)器(PC)。寄存器與處理器模式的對(duì)應(yīng)關(guān)系如圖 1 所示:以下的寄存器按功能可以分了兩類:通用寄存器和狀態(tài)寄存器。其中通用寄存器中的R13、R14 和 R15 按管理分別被用作堆棧指針寄存器(SP)、返回地址寄存器(SP)和程序寄存器(PC)。狀態(tài)寄存器只有兩種:CPSR 和 SPSR。0b100110b101110b110110b11111管理模式

3、PC, R14_svcR8_svc,R12R0,CPSR,SPSR_svc PC, R14_abtR8_abt,R12R0,CPSR,SPSR_abt PC, R14_undR8_und,R12R0,CPSR,SPSR_undPC, R14R0,CPSR中止未定義系統(tǒng)實(shí)驗(yàn)步驟1. 打開 CodewarriorFor ARM Developer Suite, 依次點(diǎn)擊 File-New ,新建一個(gè) ARMExecutable Image 工程,工程名取為Exle_1,點(diǎn)擊 OK。2. 點(diǎn)擊 File-New-File 新建一 ARM 匯編源文件,取名為 Sour,放在工程目錄中;點(diǎn)擊Add to

4、 project 單選框,選擇加入的工程;選擇生成目標(biāo)(Debug、DebugRel、Release),并保存。注意,一定要加文件后綴 .s 來(lái)標(biāo)識(shí)為匯編源文件,也可以新建 .c 或 .cpp 來(lái)分別創(chuàng)建 C 源文件和 C+源文件。3、向匯編源文件中添加程序代碼,并保存。注意,ARM 匯編源程序格式要求指令代碼不能頂格寫,需加 space 或 tab 鍵以識(shí)別指令信息,標(biāo)號(hào)需頂格寫。4、點(diǎn)擊 DebugRel Settings 按鈕進(jìn)行編譯和調(diào)試設(shè)置。5、點(diǎn)擊 Make 按鈕對(duì)源代碼進(jìn)行編譯,生成 Source.o 目標(biāo)文件。6、點(diǎn)擊 Debug 按鈕進(jìn)入 AXD 調(diào)試運(yùn)行界面。7、單步執(zhí)行程序,實(shí)時(shí)地通過(guò)寄存器窗口、內(nèi)存窗口來(lái)觀察數(shù)據(jù)信息,通過(guò)底部的信息欄來(lái)獲取調(diào)試信息,透過(guò)實(shí)驗(yàn)加深理解 ARM 指令的使用。實(shí)驗(yàn)參考程序AREA ExENTRY CODE32le1,CODE,READONLY ; 標(biāo)識(shí)程序代碼段 Exle1;32 位ARM 指令STARTMOV MOVADDR0,#10 R1,#3R0,R0,R1; R0 = 10; R1 3;即是 R0 =R0 + R1STOPMOV R0,#0 x18LDR R1,=0 x20026 SWI 0 x123456END;標(biāo)記程序結(jié)束實(shí)驗(yàn)結(jié)論實(shí)驗(yàn)總結(jié)及心得體會(huì)實(shí)驗(yàn)思考

溫馨提示

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

評(píng)論

0/150

提交評(píng)論