版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
電子科技大學(xué)試驗報告課程名稱微處理器系統(tǒng)構(gòu)造與嵌入式系統(tǒng)設(shè)計
ARM匯編根底試驗試驗教師 學(xué)號試驗地點 分組號 時間 年 月 日一、試驗?zāi)康纳璨盐粘S肁RM匯編指令生疏并把握“C+匯編”混合編程技術(shù)ARMKeil二、試驗容Keil實現(xiàn)累加運算功能〔匯編編程,必做〕實現(xiàn)字符串拷貝功能〔C+匯編,必做〕實現(xiàn)求和運算功能〔C+匯編,必做〕實現(xiàn)冒泡排序算法〔匯編編程,選做〕1/16微處理器系統(tǒng)構(gòu)造與嵌入式系統(tǒng)設(shè)計試驗報告三、試驗步驟學(xué)習(xí)使用keil開發(fā)工具點擊“KeiluVision5”翻開軟件主窗口。Project->NewuVisionProject為工程命名。為工程選擇目標(biāo)器件:三星S3C2440A。:C“否”。在工程Source Group上點右鍵選擇添加工程文件。選擇源文件類型。錄入源代碼并保存。buildrebuild。過程中關(guān)鍵存放器值的變化。各個試驗步驟試驗1.1:用匯編語言實現(xiàn)1+2+...+N的累加〔必做〕建立工程,參與試驗1.2文件夾中的sum.sRO=R0+R1YESRO=R0+R1YES結(jié)果溢出?SUM_ENDNOYESR1>=NNOR1=R1+1使用單步調(diào)試,認(rèn)真觀看過程中關(guān)鍵存放器值的變化。1.2:C〔必做〕main.ctestfile.s(同一個工程下添加兩個文件一起編譯)。補充完成源代碼中缺失的局部,實現(xiàn)字符串拷貝功能Debug試驗1.3:匯編調(diào)用C實現(xiàn)實現(xiàn)求和1+2+...+N〔必做〕sum.ctestfile.s(同一個工程下添加兩個文件一起編譯)。cg1+2+3+glovb1,結(jié)果存在R8Debug試驗1.4:ARM匯編實現(xiàn)冒泡算法〔選做〕2/161.5maopao.s。補充完成源代碼中缺失的局部,實現(xiàn)冒泡排序功能。Debug四、試驗結(jié)果1.1ARM1+2+…+n。sum.sSUN_L1ADDR0,R1 ;R0,R1BVSSUM_ENDSUM_ENDCMPR1,R2;R1、R20BHSSUM_END;R1>=R2,SUM_ENDADDR1,#1;R11BSUN_L1 SUN_L1調(diào)試過程:NR0R0=NR23/16N0CR0,R1014/16R0+R1R0推斷是否溢出與R1是否大于等于R2=N,轉(zhuǎn)變標(biāo)志位N5/16R1+1R1通過B語句返回SUN_L1函數(shù),實現(xiàn)循環(huán)相加6/16此時推斷到R1大于等于R2=100,轉(zhuǎn)變標(biāo)志位SUM_ENDR0R87/161N=100R81.2:C〔必做〕testfile.sStrcopyLDRBR2,[R1],#1 ;R1R2STRBR2,[R0],#1 器間接尋址保存字符CMP R2,#08/16BNEstrcopyMOV PC,LREND ;文件完畢調(diào)試過程定義源字符串?dāng)?shù)組“aaaa”定義目標(biāo)字符串“bbbb”進入?yún)R編程序strcopy9/16將源字符串的首地址R1賦值給R2,并讓R1加一位,指示源字符串下一位的地址R0R0目標(biāo)字符串的下一位地址推斷R2即源字符串地址容是否為0,即是否復(fù)制完畢,并轉(zhuǎn)變標(biāo)志位10/16推斷標(biāo)志位是否復(fù)制完畢,未復(fù)制完畢,連續(xù)返回函數(shù)循環(huán)復(fù)制完四次后轉(zhuǎn)變標(biāo)志位R2=011/16試驗1.3:匯編調(diào)用C實現(xiàn)實現(xiàn)求和1+2+...+N〔必做〕Cg1+2+3+glovbl,R8MOVR0,#1;R01MOVR1,#2;R12MOVR2,#3;R23MOVR3,#10;R310BLg CgMOVR8,R0 BSTART調(diào)試過程:R01R1212/16R23R310BLCg13/16執(zhí)行C程序中的a+b+c+d,并將結(jié)果賦值給R0CR0R814/16在試驗1中,通過偽指令EQU,定義N的值。編譯運行后,通過跟蹤、調(diào)試,實現(xiàn)了1+2+…n在試驗二中,編譯運行后,經(jīng)過跟蹤調(diào)試,實現(xiàn)在C語言中調(diào)用函數(shù)strcopy.C量和全局函數(shù)。15/16六、試驗總結(jié)
微處理器系統(tǒng)構(gòu)造與嵌入式系統(tǒng)設(shè)計試驗報告ARMASMARMARMCARM原理和根本方法。七、試驗思考題ADDADDS,SUBSUBS答:ADD指令與ADDS指令的區(qū)分在于,ADDS指令運算過程中是帶進位的,運算過程中將會依據(jù)結(jié)果來更N、Z、C和V標(biāo)記位,所以假設(shè)計算過程中需要進位,則二者不行交換,假設(shè)不涉與進位,則無影響。SUB與SUBS類似,是用來做減法計算的。MOVMOVNE答:MOV是單純的傳送指令,而MOVNE需要先推斷條件NE,即要上一步計算結(jié)果不相等才執(zhí)行。3.STMIASTMIB,STMIASTMDA答:STMIA指令完成操作后地址遞增,而STMIB是指令完成前遞增。STMIASTMDA指令完成操作而后地址遞減。4ARM1+3+5+…+(2n+1)2+4+6+…+2n。答:奇數(shù)求和:設(shè)置初始值R0=0,R1=1,令R0=R0+R1,推斷是否溢出,假設(shè)是,完畢程序,假設(shè)否再推斷R1是否2n+1R1=R1+2,再回到程序開頭出執(zhí)行。偶數(shù)求和:只需要令初始R0=0,R1=2即可.試驗3中假設(shè)去除匯編代碼中的“EXPORTstrcopy”會有什么現(xiàn)象,為什么?答:編譯無法通過,假設(shè)去除則C語言程序無法調(diào)用strcopy函數(shù),EXPORT偽指令用于在程序中聲明一個全局的標(biāo)號,讓該標(biāo)號可以在其他的文件
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年在線銷售合作合同書范本
- 長期金融咨詢服務(wù)合同模板
- 店面接盤協(xié)議書格式
- 長期供貨協(xié)議樣本
- 工業(yè)產(chǎn)品購銷合同模板
- 勞動關(guān)系解除協(xié)議
- 個人參與創(chuàng)業(yè)團隊入股協(xié)議
- 建筑工程清包工作合同參考
- 2023年高考地理第三次模擬考試卷(江蘇B卷)(解析版)
- 貨物分期付款購買協(xié)議樣本
- 2023年科研誠信理論知識考核試題及答案
- 北京版八年級生物下冊《線蟲動物和軟體動物》教學(xué)設(shè)計
- 歷史(中職)PPT全套教學(xué)課件
- 小學(xué)綜合實踐活動-筆記自然教學(xué)課件設(shè)計
- Unit 6 Understanding ideas Hot!Hot!Hot!課件高中英語外研版(2019)必修第三冊
- 加油站加油機設(shè)備安全管理制度
- 醫(yī)學(xué)影像技術(shù)專業(yè)(群)建設(shè)方案
- 【招標(biāo)控制價編制研究文獻綜述(論文)4800字】
- 鐘表經(jīng)典款式勞力士黑鬼
- 學(xué)校崗位廉政風(fēng)險排查登記表
- 肝癌原發(fā)性肝癌的綜合治療
評論
0/150
提交評論