![2023年微嵌實(shí)驗(yàn)報告_第1頁](http://file4.renrendoc.com/view/0e894b9c0e36d4bef74a705e5ee87ffc/0e894b9c0e36d4bef74a705e5ee87ffc1.gif)
![2023年微嵌實(shí)驗(yàn)報告_第2頁](http://file4.renrendoc.com/view/0e894b9c0e36d4bef74a705e5ee87ffc/0e894b9c0e36d4bef74a705e5ee87ffc2.gif)
![2023年微嵌實(shí)驗(yàn)報告_第3頁](http://file4.renrendoc.com/view/0e894b9c0e36d4bef74a705e5ee87ffc/0e894b9c0e36d4bef74a705e5ee87ffc3.gif)
![2023年微嵌實(shí)驗(yàn)報告_第4頁](http://file4.renrendoc.com/view/0e894b9c0e36d4bef74a705e5ee87ffc/0e894b9c0e36d4bef74a705e5ee87ffc4.gif)
![2023年微嵌實(shí)驗(yàn)報告_第5頁](http://file4.renrendoc.com/view/0e894b9c0e36d4bef74a705e5ee87ffc/0e894b9c0e36d4bef74a705e5ee87ffc5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
電子科技大學(xué)
實(shí)驗(yàn)報告
課程名稱微解決器系統(tǒng)結(jié)構(gòu)與嵌入式系統(tǒng)設(shè)計(jì)
實(shí)驗(yàn)名稱。ARM匯編基礎(chǔ)實(shí)驗(yàn)
任課教師實(shí)驗(yàn)教師姓名學(xué)號
實(shí)驗(yàn)地點(diǎn)分組號時間年—月—日
一、實(shí)驗(yàn)?zāi)康?/p>
I.熟悉并掌握常用ARM匯編指令
2.熟悉并掌握“C+匯編”混合編程技術(shù)
3.純熟使用ARM軟件開發(fā)調(diào)試工具Keil
二、實(shí)驗(yàn)內(nèi)容
1.學(xué)習(xí)使用Keil開發(fā)工具
2.實(shí)現(xiàn)累加運(yùn)算功能(匯編編程,必做)
3.實(shí)現(xiàn)字符串拷貝功能(C+匯編,必做)
4.實(shí)現(xiàn)求和運(yùn)算功能(C+匯編,必做)
5.實(shí)現(xiàn)冒泡排序算法(匯編編程,選做)
微解決器系統(tǒng)結(jié)構(gòu)與嵌入式系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)報告
三、實(shí)驗(yàn)環(huán)節(jié)
L學(xué)習(xí)使用keil開發(fā)工具
1.點(diǎn)擊“KeiluVision5”打開軟件主窗口。
2.點(diǎn)擊ProjeCt->NewuVis1onProject建立新工程。
3.為新工程命名。
4.為工程選擇目的器件:三星S3c2440A。
5.選擇是否添加S3c244O.s啟動文獻(xiàn):C源程序工程選“是”,匯編源程序工程選
普。
6.在工程SoUrceGroup上點(diǎn)右鍵選擇添加新工程文獻(xiàn)。
7.選擇源文獻(xiàn)類型。
8.錄入源代碼并保存。
9.對工程進(jìn)行build或rebui1do
10.點(diǎn)擊debug按鈕進(jìn)入/退出調(diào)試,忽略代碼大小限制。使用單步調(diào)試,仔細(xì)觀測過
程中關(guān)鍵寄存器值的變化。
2.各個實(shí)驗(yàn)環(huán)節(jié)
實(shí)驗(yàn)L1:用匯編語言實(shí)現(xiàn)1+2+...+N的累加(必做)
1.建立新工程,加入實(shí)驗(yàn)1.2文獻(xiàn)夾中的sum.s
2.用匯編補(bǔ)充算法核心部分,代碼參考流程圖如下圖所示。
「RO=RO+R1
'YES
結(jié)果溢出??SUM_END
NO
'YES
R1>=N
NO
R1=R1+1
3.使用單步調(diào)試,仔細(xì)觀測過程中關(guān)鍵寄存器值的變化。
實(shí)驗(yàn)1.2:C調(diào)用匯編實(shí)現(xiàn)字符串拷貝功能(必做)
1.建立新工程,加入實(shí)驗(yàn)L3文獻(xiàn)夾中的main.c和testf1le.s(同一個工程下添加兩個
文獻(xiàn)一起編譯)。
2.補(bǔ)充完畢源代碼中缺失的部分,實(shí)現(xiàn)字符串拷貝功能
3.運(yùn)營Debug進(jìn)行調(diào)試
實(shí)驗(yàn)1.3:匯編調(diào)用C實(shí)現(xiàn)實(shí)現(xiàn)求和1+2+...+N(必做)
1.建立新工程,加入實(shí)驗(yàn)1.4文獻(xiàn)夾中的Sum.c和testfile.s(同一個工程下添加兩個文
獻(xiàn)一起編譯)。
2.補(bǔ)充完畢源代碼中缺失的部分,通過調(diào)用c函數(shù)g()實(shí)現(xiàn)l+2+3+glovbl,結(jié)果存
在R8中。
3.運(yùn)營Debug進(jìn)行調(diào)試
實(shí)驗(yàn)1.4:ARM匯編實(shí)現(xiàn)冒泡算法(選做)
1.建立新工程,加入實(shí)驗(yàn)1.5文獻(xiàn)夾中的maopao.S。
2.補(bǔ)充完畢源代碼中缺失的部分,實(shí)現(xiàn)冒泡排序功能。
3.運(yùn)營Debug進(jìn)行調(diào)試
四、實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)1.1用ARM匯編實(shí)現(xiàn)l+2+...+n的運(yùn)算。
在sum.s文獻(xiàn)中,添加如下核心代碼:
SUN_L1
ADDRO,RI;R0,RI求和
BVSSUM_END;判斷是否溢出,溢出則執(zhí)行SUM_END程序,求和結(jié)束
CMPRI,R2;R1、R2作差與。進(jìn)行比較
BHSSUM_END;R1〉=R2,則執(zhí)行SUM_END程序,否則向下繼續(xù)執(zhí)行
ADDRI,#1;R1增1
BSUNLI;循環(huán)運(yùn)營SUN_L1
調(diào)試過程:
1.設(shè)立N的值并賦值給R0
Register|ValueOxOOOOOOOE3000ADDR0,*0x00
19:LDRR0,7;設(shè)置子程序SUM_N的入口參數(shù)
2Current
|0x00000010
0x000000642064IMOVRO,*0x64
0x0000000020:BLSUMN;謁用子程序SUMN
0x000000000x00000012F0000x00000018-Parctl
0x000000000x00000014F8010x00000018-Part12
0x00000000
0x00000000
0x00000000
0x00000000Jsum.s
0x00000000;功能:計(jì)算1+2+3—...+N
0x00000000
:說明;N>=。,當(dāng)N=0時結(jié)果為0,當(dāng)N=I時結(jié)果為1
RIO0x00000000
Rll0x00000000
R120x00000000EQU100;定義N的值100
RI3csp)0x3O003FO0AREAExaiqples,CODE,READONLY:聲明代碼斷Examples3
R14HR)0x00000000ENTRY;標(biāo)識程序入口
IRI5(PC)0x000000127
I-CPSROxOOOOOOF3CODE32
0
9ARMCODE
0
010
V011LDRSPr-0X30003F00;設(shè)置堆枝指針
I12ADRRO,THUMB_CODE+1;
137跳轉(zhuǎn)并切換處理器狀態(tài)
T14;聲明文字池
M0x1315
SPSR0x00000000
+16CODE16
User/Systea
+17THUMBCODE
*FastInt...
Interrupt18
+
Superv...19LDRR0,-N;設(shè)置子程序SUM_N的入口參數(shù)
+
Abort20BLSUM_NSUMN
+;調(diào)用子程序
UndefinedBTHUMBCODE
-21
Internal22
PC$0x00000012
23;SUMN
ItodaSupervisor.Th^:.44-er-.
2.將R0=N的值復(fù)制給R2
,一y,+J-??????-LXJ▼115ii
7
豺畫「助o-3n|?回回武叵)國熄?巨方―/?國?國?立?
Registers?畫Disassembly
;若則返回
Register34:BEQSUM_ENDNR,
-Current)x00000010D0093EQ0x00000032
35:CMP
RO0x00000064R2,tl
RI0x00000000X0000001E2AOICMPR2,#0x01
0x00000064t36:BEQSUM_END;若21,則返回
E?0x00000000||0x00000020D007BEQ0x00000032
L40x00000000知44》工*
F50x00000000
I.-:
0x00000000
hJr
0x000000001sums
0x00000000
;功能:計(jì)算1+2+3+................+N
0x00000000
;入口參數(shù):RON的值
0x00000000
0x00000000;出口參數(shù):R0運(yùn)行結(jié)果
0x00000000;占用資源:R0
Ox3O0O3EE0;說明:當(dāng)N=0時結(jié)果為0,當(dāng)N=1時結(jié)果為1
0x00000017;若運(yùn)算溢出.結(jié)果為。
|R15(FC)OxOOOOOOlC
I-CPSROxOOOOOOF3SUMN
N0
'PUSH{R1-R7,LR);寄存器入棧保護(hù)
Z0
HOVSR2R0;將口的值復(fù)制到R2,并影響相應(yīng)條件標(biāo)志
C0r
V0BEQSUM_END:若N?0,則返回
,--,三
I1
F1BEQSUM_END;若所1,則返回
T1MOVRI,#!;初始化計(jì)數(shù)器RW1
M0x13
MOVR0*0;初始化計(jì)數(shù)器R07
ffiSPSR0x00000000
*User/System
FastIni..
?Interrupt;用匯鐮實(shí)現(xiàn)算法核心部分
&Supers...ADDRO,RO,R1;
3.判斷N是否為0或者,改變標(biāo)志位C
|Value|0x0000001CD009BEQ0x00000032
Register
35:CMPR2,1l
-Current
|0x0000001E2AOI
0x00000064CMPR2,#0x01
0x0000000036:BEQSUM_END;若所工,則返回
0x00000064^0x00000020D007BEQ0x00000032
0x0000000037:;初始化計(jì)數(shù)器R?1
0x00000000|0x00000022
Rlr#0x01
0x00000000
38:MOVR0,*。;初融化計(jì)數(shù)器R0?l
0x00000000
39:SUN_
0x00000000
0x0000000040:
0x0000000041:;用匯編實(shí)現(xiàn)算法核心部分
R100x0000000010*000000242000MOVRO.tOxOO
Rll0x00000000
R120x00000000
R13GF)Ox3OO03EEOsums
:愛明:當(dāng)NT時經(jīng)果為。.當(dāng)NY時結(jié)果為1
|R15(PC)0x00000020
;若運(yùn)算溢出-結(jié)果為0
|CPSRQx200000F3
PUSH{R1-R7,LR);寄存器入棧保護(hù)
MOVSR2rR0;將11的值復(fù)制到R2,并影響相應(yīng)條件標(biāo)三
BEQSUM_END;若加0,則返回
CMPR2,#l
BEQSUM_END;若加工,則返回
0x13
3SPSR0x00000000Ri,n;初始化計(jì)數(shù)器R?1
封User/SystenR0,10;初始化計(jì)數(shù)器R0-1
31FastIni..
51Interrupt
研Sxiperv...;用匯編實(shí)現(xiàn)算法核心部分
51'Abort
ADDRORORl;
3"Undefinedft
SUMEND;
dInternal
PC$0x00000020
ModeSupervisor
Stat?z24
S?c0.00000200ADD
3CPI5
?+)-「PIS-r
4.將R0,R1分別初始化為0與1
Registers埠|tJjuiiassemoi)
RegisterIValue,用匯纏妥現(xiàn)算法核心部分
RD0x000000002000MOVR0,#0x00
0x00000001ADDRO,R0,RI;
0x000000641840ADDR0zRO,RI
0x0000000043:BVSSUM_END;
0x0000000044:
0x00000000
)x00000028D603BVS0x00000032
0x00000000
45:
0x00000000CMPR1,R2;
0x000000004291CMPRl/R2
0x00000000BHSSUM_END;
0x00000000D201BCS0x00000032
0x00000000
0x00000000
0x30003EEQsums
BEQSUM_END;若-一。,則返回
|R15(K)0x00000026
|CPSROx60000QF3CMPR2,tl
0BEQSUMEND;若21,則返回
MCV:,r
MOVR0,#0;初始化計(jì)數(shù)器ROT
0SUN_L1
I
F;用匯編實(shí)現(xiàn)算法核心部分
T|ADDR0R0R:;
M0x13rr
ESPSR0x00000000BVSSUM_END;
?JUser/System
.t!FastInt…CMPR1,R2;
+'
*jInterr3tBHSSUM_END;
+JSuperv...ADD
+!,Abort
3SUN_L1;
hdefined
5.將R0+R1賦值給RO
r\cyiaici3
RegisterValue
41:;用匯縫實(shí)現(xiàn)算法核心部分
-Current
|R00x00000001|0x000000242000MOVRO,#0x00
0x0000000142:ADDRO,RO,RI;
0x00000064|0x000000261840ADDRO,RO,RI
R10x0000000043:BVSSUMEND;
R20x0000000044:
R30x00000000
D603BVS0x00000032
R40x00000000
RM545:CMPR1,R2;
0x00000000
10x0000002A
0x000000004291CMPR1,R2
R7即
0x0000000046:BHSSUM_END;
R90x00000000■0X0000002CD201BCS0x00000032
R10x00000000?□
R1
R10x00000000
R1(SP0x30003EE0Jsums
R1(LR0x00000017
BEQSUM_END;若加0,則逐茴
R15(PC)0x00000028
CMPR2,#l
CPSROxOOOOOOF3
BEQSUM_END;若?口,則返回
MOVRI,Il;初始化計(jì)數(shù)器Rl=l
MOV;初始化計(jì)數(shù)器R0?l
V0SUNLI
I1
;用匯編實(shí)現(xiàn)算法核心部分
T1
ADD,,?
M0x13J
ESPSR0x00000000BVSSUMEND;
User/System
FastInt.CMPRlrR2;
InterruptBHSSUM_END;
Sapcrv...ADD,一,J:
Abort
Undefined
6.判斷是否溢出與R1是否大于等于R2=N,改變標(biāo)志位N
”:;用匯編實(shí)現(xiàn)算法核心部分
Value
BXt.0x000000242000MOVRO,*0x00
.cur
.R00x0000000142:ADDR0,R0,RI;
■0x00000026
K10x000000011840ADDRO,RO,RI
R20x0000006443:BVSSUMEND;
K3
R40x0000000044:
BS0x0000000010x00000028D603BVS0x00000032
R60x00000000
45:CMPR1,R2;
K70x00000000
R8■OX0000002A4291CMPR1,R2
0x00000000
R9:;
R10x0000000046BHSSUMEND
R10x00000000=J>0x0000002CD201BCS0x00000032
R10x00000000
K1
R10x00000000
G0x00000000
p)Ox30OO3EEOJ
JR)0x00000017
ILISUM_END;^N=O,則返回
R15CPC)OxOOOOOOZC
R2,#l
HCPSROx800000F3
;若只=則返回
1SUM_END1,
RI,Il
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Mevalonolactone-生命科學(xué)試劑-MCE-8562
- 二零二五年度版股東借款合同爭議調(diào)解與賠償協(xié)議書
- 二零二五年度電商平臺跨境電商稅收籌劃合作協(xié)議
- 二零二五年度特色小吃店整體轉(zhuǎn)讓合同
- 2025年度航空航天維修與服務(wù)版勞動合同
- 施工組織設(shè)計(jì)對土木工程項(xiàng)目的重要性探討
- 施工日志填寫樣本施工質(zhì)量檢查與驗(yàn)收記錄
- 科技前沿電子產(chǎn)品的設(shè)計(jì)與制造新趨勢
- 營銷策略與學(xué)校品牌形象塑造探討
- 風(fēng)險評估模型在小型商業(yè)企業(yè)線上貸款中的應(yīng)用
- 高考百日誓師動員大會
- 賈玲何歡《真假老師》小品臺詞
- 2024年北京東城社區(qū)工作者招聘筆試真題
- 《敏捷項(xiàng)目管理》課件
- 統(tǒng)編版(2024新版)七年級上學(xué)期道德與法治期末綜合測試卷(含答案)
- 黑龍江省哈爾濱市2024屆中考數(shù)學(xué)試卷(含答案)
- 前程無憂測評題庫及答案
- 高三日語一輪復(fù)習(xí)助詞「と」的用法課件
- 物業(yè)管理服務(wù)房屋及公用設(shè)施維修養(yǎng)護(hù)方案
- 醫(yī)療器械法規(guī)培訓(xùn)
- 無子女離婚協(xié)議書范文百度網(wǎng)盤
評論
0/150
提交評論