ARM7匯編語言程序設計_第1頁
ARM7匯編語言程序設計_第2頁
ARM7匯編語言程序設計_第3頁
ARM7匯編語言程序設計_第4頁
ARM7匯編語言程序設計_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、西 安 郵 電 大 學(計算機學院)課內(nèi)實驗報告課程名稱: 嵌入式系統(tǒng)開發(fā)實驗名稱: ARM7匯編語言程序設計專業(yè)名稱: XXXX班 級: XXXX學生姓名: XXX學號(8位): XXX指導教師: XXX實驗日期: XXXX 年 XX 月 XX 日一. 實驗目的及實驗環(huán)境實驗目的:1.了解ADS1.2集成開發(fā)環(huán)境及ARMulator軟件仿真。 2.掌握ARM7TDMI匯編指令的用法,并能編寫簡單的匯編程序。 3.掌握指令的條件執(zhí)行以及使用LDR/STR指令完成存儲器的訪問實驗環(huán)境:CodeWarrior for ARM Developer Suite2. 實驗內(nèi)容1. 編寫程序,實現(xiàn)1到10

2、的自然數(shù)的累加和。2. 找出10個數(shù)中的最大值與最小值。 3.從自然數(shù)1開始累加,直到累加和大于3000為止,統(tǒng)計被累加的數(shù)的個數(shù)和累加和。4編寫程序,將亂序的5個無符號數(shù)排序。三方案設計創(chuàng)建工程啟動ADS1.2,使用ARM Executable Image工程模板建立一個工程Project2。添加源文件,編輯源代碼建立匯編文件TEST2.S,輸入源代碼,參考源代碼附后,然后添加到工程中。鏈接選項配置設置工程鏈接地址RO Base為0x40000000,RW Base為0x40003000。設置調(diào)試入口地址Image entry point為0x40000000。編譯鏈接工程選擇Project

3、-Debug,啟動AXD進行軟件仿真調(diào)試。調(diào)試工程打開寄存器窗口,選擇Current項監(jiān)視R0和R1的值。四測試數(shù)據(jù)及運行結(jié)果1.求和2. 求最大值與最小值3. 與3000比較大小4. 排序五總結(jié)1實驗過程中遇到的問題及解決辦法;剛開始寫完代碼的時候,make完以后打不開AXD頁面,最后將工程重新打開了一遍;添加寄存器的時候,其實已經(jīng)添加上了,但是沒有看見,然后就重復添加造成錯誤;在寫代碼的時候忘了將結(jié)果放在哪個寄存器中,結(jié)果在一個一個找,在詢問同學后解決了問題;在做實驗的時候,不會加斷點,在查詢相關書籍后掌握了此部分知識。2 對設計及調(diào)試過程的心得體會 在這次實驗中學到了很多知識,但是在實驗

4、的過程中遇到了好多問題,寫代碼的時候總是出錯,運行不出來,由于知識掌握的不是很好,不會調(diào)試代碼,到最后在同學的幫助下完成了實驗,所以這次試驗后我也明白了合作在實驗中起了很重要作用,在遇到困難自己解決不了的時候,要多詢問詢問同學和老師,這樣才能真正學到知識,才能真正的進步。6 附錄:源代碼1.1到10的累加和 AREA SUM2,CODE,READONLY    ENTRY    CODE32start     MOV R0,#1 

5、60;  LDR R1,=sum    LDR R2,=0LOOP    ADD R2,R2,R0    ADD R0,R0,#1    CMP R0,#11    BNE LOOP    STREQ R2,R1stop    &

6、#160;MOV r0,#0x18    LDR r1,=0x20026    SWI 0x123456    AREA Data,DATA,READWRITEsum DCD 0    END2. 最大值與最小值 AREA max,CODE,READONLY ENTRY CODE32num EQU 9 start LDR R0,=x LDR R1,=y LDR R2,=z LD

7、R R3,=num LDR R4,R0 LDR R5,R0compare ADD R0,R0,#4 LDR R6,R0 CMP R4,R6 MOVCC R4,R6 MOVCS R5,R6 SUBS R3,R3,#1 BNE compare STREQ R4,R1 stop MOV r0,#0x18 LDR r1,=0x20026 SWI 0x123456 AREA Data,DATA,READWRITE x DCD 59,37,13,67,107,12,231,1,42,222y DCD 0z DCD 0 END3. 累加求和到3000AREA   SUM,COD

8、E,READONLY       ENTRY       CODE32 Start       LDR    R0,=n       LDR    R1,=sum      

9、60;LDR    R3,=0       LDR    R4,=0       LDR    R5,=3000 continue       ADD    R4,R4,#1    

10、0;  ADD    R3,R3,R4       CMP    R3,R5       BCC    continue       STRCS  R3,R1      

11、 STRCS  R4,R0 stop       MOV   r0,#0x18       LDR   r1,=0x20026       SWI       0x123456AREA   Data,

12、DATA,READWRITEn     DCD    0sum    DCD    0       END4.排序:AREA Bibble,CODE,READONLY ENTRYstart     LDR R1,=num     MOV&#

13、160;R2,#0     LDR R4,R1     SUB R4,R4,#1     SUB R1,R1,#4outer     LDR R0,=srcinner     LDR R5,R0     LDR R6,R0,#4 

14、    CMP R5,R6     STRGT R6,R0     STRGT R5,R0,#4     ADD R0,R0,#4     CMP R0,R1     BNE inner     ADD R2,R2,#1     SUB R1,R1,#4     CMP R2,R4     BNE outers

溫馨提示

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

評論

0/150

提交評論