實(shí)驗(yàn)一 ADS下簡單ARM匯編程序?qū)嶒?yàn)_第1頁
實(shí)驗(yàn)一 ADS下簡單ARM匯編程序?qū)嶒?yàn)_第2頁
實(shí)驗(yàn)一 ADS下簡單ARM匯編程序?qū)嶒?yàn)_第3頁
實(shí)驗(yàn)一 ADS下簡單ARM匯編程序?qū)嶒?yàn)_第4頁
實(shí)驗(yàn)一 ADS下簡單ARM匯編程序?qū)嶒?yàn)_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、.實(shí)驗(yàn)一 ADS下簡單ARM匯編程序?qū)嶒?yàn)實(shí)驗(yàn)?zāi)康模?、 熟悉ADS1.2下進(jìn)行匯編語言程序設(shè)計(jì)的基本流程;2、 熟悉在ADS中創(chuàng)建工程及編寫、編譯和運(yùn)行匯編語言程序的方法;3、 熟悉AXD中各種調(diào)試功能。實(shí)驗(yàn)環(huán)境:1、 硬件:PC機(jī)。2、 軟件ADS1.2。實(shí)驗(yàn)內(nèi)容:1、 在ADS中新建工程,并設(shè)置開發(fā)環(huán)境。2、 在Code Warrior 環(huán)境中編輯、編譯和鏈接匯編語言程序,并生成可執(zhí)行文件。3、 在AXD中調(diào)試匯編程序;4、 使用命令行界面編輯、編譯和鏈接匯編程序。實(shí)驗(yàn)過程:本實(shí)驗(yàn)要求在ADS環(huán)境下,編寫一個匯編程序,計(jì)算S1+2+3+n的累加值。把累加結(jié)果S存入到存儲器的指定位置;在AX

2、D中調(diào)試該程序,使用ARMulator模擬目標(biāo)機(jī)。1、 新建工程。打開Code Warrior,選擇File-New(project)選項(xiàng),使用ARM Executable Image模版新建一個工程。2、設(shè)置編譯和鏈接選項(xiàng)。由于我們使用的是模擬機(jī),設(shè)置匯編語言編譯器的模擬處理器架構(gòu)為Xscale;在ARM Linker中,選擇output選項(xiàng)卡并選擇Linktype為Simple類型,確認(rèn)RO Base為0x8000,修改RW Base為0x9000,如下圖所示。3、 為當(dāng)前工程添加源程序文件。ARM匯編程序源文件后綴名為S大小寫均可。確保添加入當(dāng)前工程復(fù)選框選上。4、 編輯源程序代碼。參考

3、程序add.s :;armadd源程序NEQU 7;累加次數(shù);定義名為Adding的代碼段AREA Adding,CODE,READONLYENTRYMOV R0,#0MOV R1,#1REPEATADD R0,R0,R1ADD R1,R1,#1CMP R1,#NBLE REPEATLDR R2,=RESULTSTR R0,R2HEREB HERE定義名為Dataspace的數(shù)據(jù)段AREA Dataspace,DATA,READWRITERESULTDCD 0END5、 編譯匯編源代碼文件。右擊add.S文件,選擇Compile,如果沒有成功會彈出錯誤和警告窗口。生成.O目標(biāo)代碼文件。6、 編

4、譯整個工程。選擇ProjectMake進(jìn)行整個工程的編譯??梢栽谀夸浛臻g查看是否生成了映像文件add.axf。7、 確認(rèn)調(diào)試目標(biāo)設(shè)置。設(shè)置目標(biāo)處理器型號。8、 運(yùn)行映像文件。選擇如圖所示按鈕運(yùn)行映像文件,運(yùn)行結(jié)果如下9、 調(diào)試準(zhǔn)備在AXD中,打開各個觀察窗口,做調(diào)試準(zhǔn)備。選擇Processor ViewsRegisters選項(xiàng),打開ARM寄存器顯示窗口。調(diào)整窗口大小,使得Corrent節(jié)點(diǎn)的R0R2寄存器可見。選擇Processor ViewsMemory選項(xiàng),打開ARM存儲器顯示窗口。在Start Address輸入框中輸入準(zhǔn)備查看的內(nèi)存區(qū)域首地址0x9000。10、調(diào)試映像文件。點(diǎn)擊鼠標(biāo)所指圖標(biāo)打開調(diào)試窗口。為了便于調(diào)試,觀察各個寄存器和存儲器的變化情況,推薦調(diào)試窗口布局如圖所示:11、單步運(yùn)行程序,觀察并記錄結(jié)果。在AXD中,選擇ExecuteStep選項(xiàng),或者F10鍵,單步運(yùn)行程序,查看相關(guān)寄存器和存儲器相應(yīng)地址上的變化,請把每一步的結(jié)果填入下表中。運(yùn)行結(jié)果如圖所示:分析源程序可以看出,我們的程序僅對少數(shù)幾個寄存器進(jìn)行了讀寫操作,所以觀察時(shí)應(yīng)注意紅色框中的內(nèi)容變化。序號執(zhí)行指令執(zhí)行后的變化情況寄存器(十六進(jìn)制)存儲器(十六進(jìn)制)R0R1R2PC0x90001MOV R0,#0234567注意:如果錯過記

溫馨提示

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

評論

0/150

提交評論