


下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 實驗一 利用跳轉表實現程序分支一、實驗目的:1、 熟悉 ADS1.2 開發環境,掌握基本的調試方法;2、 熟悉 ARM9 匯編語言的程序設計方法;3、 熟悉 ARM9 的基本語法。二、實驗內容利用跳轉表實現具有下述功能的匯編程序:(1)當 r0 為 1 時,調用子程序 CASE1,完成 r1 加 r2 把結果放入 r3 的計算;(2)當 r0 為 2 時,調用子程序 CASE2,完成 r1 減 r2 把結果放入 r3 的計算;(3)當 r0 為 3 時,調用子程序 CASE3,完成 r1 與 r2 把結果放入 r3 的計算;(4)否則,完成 r1 或 r2 把結果放入 r3 的計算。三、實驗
2、步驟:安裝完 ADS1.2 后在其安裝目錄下存在如下兩個文件,即 Codewarrior for ARM Developer Suit和 AXD Debugger,這兩個文件分別是代碼編輯文件和調試文件,在實驗中我們主要使用這兩個文件。運行 ARM Developer Suite v1.2 中的 Codewarrior for ARM Developer Suit 文件2、選擇 File-New 將打開新建文件窗口,如圖 2 所示。選擇 Project 標簽新建一個 ARM 可執行的映像文件(ARM Executable Image),并填入適當的項目名(Project name)及選擇合適的
3、存放項目的目錄(Location),最后點擊確定。3、新建一個*.s 文件用于存放我們的實驗程序,其建立步驟如下。點 File-New 將打開新建文件窗口,在新打開的窗口中選擇 Flie 標簽,輸入文件名。也可以通過工具欄中的按鈕實現上述功能。值得注意的是由于在這里我們使用匯編語言編制程序因此文件擴展名一定要存為*.s。4、輸入所設的匯編語言并保存,注意擴展名必須為*.s。在輸入設計文件時需要注意以下幾點:(1)標號必須頂格書寫,而指令、偽指令和指示符前必須至少空一格空格,為了使程序格式清晰,通常使用標號必須頂格書寫,而指令、偽指令和指示符前必須至少空一格空格,為了使程序格式清晰,通常使用 T
4、ab 鍵;(2)指令、偽指令和指示符大小寫均可;(3)注釋為英文狀態下的“;”。5、接下來開始調試所設計的文件,調試文件主要在項目窗口中進行。(1)添加文件到項目。將鼠標指在項目窗口的空白處,點擊右鍵,選擇 Add Flie將設計文件添加到項目中。(2)指定調試環境。選擇 DebugRel Settings 打開調試環境設置窗口,在這里可以進行相應的設置,我們只需將 Language Settings 中的 ARM Assembler 中的 Target 選為 ARM920T 即可(系統默認為 ARM7TDMI,若只為了實現軟件仿真,也可以不改變微處理器,因為 ARM920T 與ARM7TDM
5、I 均使用同一套 ARM 指令集)。(3)匯編文件。點擊 Make 按鈕匯編我們設計的文件,并修正錯誤。當沒有錯誤時就可以進行調試了。(4)調試文件。在這里我們使用 ADS1.2 中的 AXD Debugger 進行程序調試,可以通過選擇Debug 按鈕調用 AXD Debugger,其界面如圖 4 所示(若 AXD 未能打開所調試的程序,可以選擇 AXD Debugger 中的 Options|Target 配置處理器)。4、 實驗的源程序;利用跳轉表實現具有下述功能的程序;if r0=1 then CALL CASE1 (r3=r1+r2);else if r0=2 then CALL C
6、ASE2 (r3=r1-r2);else if r0=3 then CALL CASE3 (r3=r1&r2);else DEFAULT (r3=r1|r2);AREA JumpTest,CODE,READONLY ; 定義代碼段CODE32 ; 設置為 arm 指令集ENTRY ; 程序入口startMOV r0, #1 ; 初始化程序中使用的寄存器MOV r1, #3MOV r2, #2ADR r4, JumpTable ; 將跳轉表地址送給 r4CMP r0, #1 ; if r0=1 then CALL CASE1MOVEQ r3, #0LDREQ pc, r4,r3,LSL
7、#2CMP r0, #2 ; if r0=2 then CALL CASE2- 5 -MOVEQ r3, #1LDREQ pc, r4,r3,LSL #2CMP r0, #3 ; if r0=3 then CALL CASE3MOVEQ r3, #2LDREQ pc, r4,r3,LSL #2DEFAULT ; otherwise CALL DEFSULTORR r0, r1, r2SWITCHENDMOV r0, #0x18 ; 調用軟中斷 返回操作系統LDR r1, =0x20026SWI 0x123456JumpTable ; 定義跳轉表DCD CASE1DCD CASE2DCD CASE3CASE1 ; 子程序 1ADD r3, r1, r2B SWITCHENDCASE2 ; 子程序 2SUB r3, r1, r2B SWITCHENDCASE3 ; 子程序 3AND r3, r1, r2B SWITCHENDEND五、實驗體會 通過這次實驗,讓我初步了解了嵌入式開發的環境建立,熟悉ARM9的基本語法和嵌入式系統的操作,對課上所學的東西有了進一步的認。通過和同學的討論
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生物學基因工程知識點梳理
- 泥水班組施工協議資料年
- 外腳手架承包合同
- 母愛的力量記錄母親為我付出的事跡作文(11篇)
- 酒店業客房智能化升級合作協議
- 銀行考試試題及答案大全
- 藝術美學考試試題及答案
- 六一書店活動方案
- 六一健身集市活動方案
- 六一壯族活動方案
- 2025年新高考1卷(新課標Ⅰ卷)語文試卷
- 深圳市失業人員停止領取失業保險待遇申請表樣表
- 斯皮仁諾治療真菌疾病信心十足培訓課件
- 生產現場精細化管理全案
- 部編版語文八年級下冊《我一生中的重要抉擇》同步練習 含答案.docx
- 手術風險評估表
- 行政能力測試知識點
- SetupFactory使用教程
- 開展“質量管理百日奮戰”活動的實施方案
- 2015藝考(音樂專業)樂理知識模擬自測試題(共四套)
- 水的密度和黏度雖溫度變化
評論
0/150
提交評論