微機實驗報告一_第1頁
微機實驗報告一_第2頁
微機實驗報告一_第3頁
微機實驗報告一_第4頁
微機實驗報告一_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、文檔可能無法思考全面,請瀏覽后下載! 實驗名稱 Keil 的使用與匯編語言上機操作 成 績 1、 任務(wù)要求 1.掌握Keil環(huán)境的使用 1)字節(jié)拆分、合并:調(diào)試e421.asm程序, 觀察相關(guān)寄存器和單元的內(nèi)容。 2)數(shù)據(jù)塊填充:調(diào)試fill.asm程序,觀察相關(guān)寄存器和單元的內(nèi)容。2. 編寫多個十六位數(shù)的加法程序 有4個十六位無符號數(shù),連續(xù)存放在20H開始的片上數(shù)據(jù)區(qū)中,低八位先存,高 八位在后。要求:和存于R3(高八位)和R2(低八位),進位位存于R4。2、 設(shè)計思路 實驗一已給出程序代碼,不需要設(shè)計,下面闡明實驗二,編寫多個十六位數(shù)的加法程序的設(shè)計思路。 十六位數(shù)相加,先是低八位相加,低

2、八位相加不用考慮進位,所以,此時用ADD指 令,但因為在每次循環(huán)時都有CLR C操作,所以也可以用ADDC指令。而且題目中要求將 和的低八位存于R2,所以將每次低八位相加的和存于R2,然后從R2中取值求和。 低八位相加后高八位相加,因為必須處理低位相加的進位問題,所以必須用ADDC指 令。而且因為要求高位和存于R3,所以將每次計算的和存于R3,每次從R3中取數(shù)跟新 的高八位相加。 另外考慮到高位進位的問題,所以必須安排一個地址單元或者寄存器存放最高位,也 正是因為每次循環(huán)中,進位都會被處理,所以每次循環(huán)開始要CLR C。3、 資源分配 4個十六位無符號數(shù),連續(xù)存放在20H開始的片上數(shù)據(jù)區(qū)中,低

3、八位先存,高 八位在后。 和存于R3(高八位)和R2(低八位),進位位存于R4。10 / 10 R0和R1作為數(shù)據(jù)指針,存放低八位和高八位的地址。 循環(huán)次數(shù)存于R5。4、 流程圖 5、 源代碼 (含文件頭說明、語句行注釋)四個十六位數(shù)的加法程序: File name: 3.asm Description: 四個十六位數(shù)的加法程序 Date: 2016/09/23 Designed by: 陳鈺 Source used: R0,R1 數(shù)據(jù)指針 R2,R3,R4,R5 寄存器 20H-27H ORG0000HLJMP MAINORG 0100HMAIN:MOV R0,#20HMOV R1,#21H

4、 ;設(shè)數(shù)據(jù)指針MOV R2,20HMOV R3,21H ;R2(20H),R3(21H)MOV R4,#00H ;最高位進位清零MOV R5,#03H ;設(shè)置循環(huán)次數(shù)LOOP:CLR C ;進位清零 MOV A,R2 ;AR2INC R0 INC R0 ;R0R0+1+1,R0指向下一個低八位ADD A,R0 ;AA+(R0),低八位相加MOV R2,A ;R2A,低八位的和存于R2MOV A,R3 ;AR3INC R1INC R1 ;R1R1+1+1,R1指向下一個高八位ADDC A,R1 ;AA+(R1)+C,高八位加進位的和MOV R3,A ;R3A,高八位的和存于R3CLR A ;A寄

5、存器清零ADDC A,R4 ;AA+R4+C,計算進位MOV R4,A ;R4A,進位信息存入R4DJNZ R5,LOOP ;判斷R5是否等于零判斷循環(huán)是否結(jié)束HERE: SJMP HERE END 6、 程序測試方法與結(jié)果字節(jié)拆分、合并程序:(存于30H的數(shù)被拆分,分別轉(zhuǎn)為ASCII碼存于31H和32H,最 后再合并存于33H)數(shù)據(jù)塊填充程序(將片外RAM 7000H-70FFH單元按一定規(guī)律填充) 四個十六位數(shù)的加法程序 輸入的數(shù): 結(jié)果: 思考題1 怎樣查看工作寄存器、SFR、片內(nèi)RAM、片外RAM及程序代碼空間內(nèi)容?Disassembly 窗口有何作用? 1) 觀察工作寄存器,SFR:

6、 點擊 ViewàRegisters Window,彈開“Registers”窗口。 在此窗口查看。 2) 觀察IO 端口,Timer,中斷控制寄存器:點擊菜單 Peripherals,彈出外設(shè)選項欄, 選擇對應(yīng)外設(shè),彈出相應(yīng)外設(shè)控制寄存器窗口,即可觀察。 3) 觀察片內(nèi) RAM,代碼區(qū)和片外數(shù)據(jù)區(qū):點擊菜單 Viewà選擇 Memory Windows, 在 Address 欄中鍵入存儲空間類型和地址,可以觀察到相應(yīng)內(nèi)容。 Disassembly窗口顯示代碼及其相應(yīng)的機器碼,也展示了代碼的PC地址。2 字節(jié)拆分、合并還有哪些方法,舉一例說明。 舉例: ORG 0100HM

7、AIN: MOV SP, #40H ;賦堆棧指針 MOV 30H, #49H ;30H單元賦值 MOV A, 30H ANL A,#0FH ;拆分出低四位 ORL 32H, #30H ;轉(zhuǎn)換為ASCII MOV A,30H ANL A,#0F0H SWAP A ;拆分出高四位 ORL A, #30H ;轉(zhuǎn)換為ASCII MOV 31H, A ;結(jié)果存于31H單元 HERE: SJMP HERE ;踏步 END 3 若按遞減1規(guī)律填充數(shù)據(jù)塊,應(yīng)如何修改程序? 將“INC A”改為“DEC A” 改后運行結(jié)果如下:4 若從7010H單元開始,連續(xù)填充20個字節(jié),應(yīng)該如何修改程序? ORG 0000

8、HLJMP MAIN ORG 0100HMAIN:MOV SP,#40HFILL: CLR A ;A寄存器清零MOV R0, #20 ;設(shè)循環(huán)計數(shù)器 MOV DPTR, #7010H ;設(shè)數(shù)據(jù)指針FILL1: MOVX DPTR, A ;傳送到片外RAM DEC A ;A內(nèi)容加1INC DPTR ;修改數(shù)據(jù)指針 DJNZ R0, FILL1 ;判斷是否結(jié)束 HERE: SJMP HERE ;原地踏步 END 運行結(jié)果: 5 若完成雙字節(jié)BCD碼加法,應(yīng)如何修改程序? 在“ADD A,R0”和代碼“ADDC A,R1 ”下各加一條代碼“DA A”。 輸入數(shù)據(jù): 運行結(jié)果: 9393+9498+9

9、999+9993=38883正確本人承諾:本報告內(nèi)容真實,無偽造數(shù)據(jù),無抄襲他人成果。本人完全了解學校相關(guān)規(guī)定,如若違反,愿意承擔其后果。其它說明:1.標題:黑體,小四號2. 正文:宋體,五號,1.5倍行距3.流程圖使用 SmartDraw7 或Visio軟件繪制4.不要加封面僅供個人用于學習、研究;不得用于商業(yè)用途。For personal use only in study and research; not for commercial use.Nur für den persönlichen für Studien, Forschung, zu komme

10、rziellen Zwecken verwendet werden.Pour l 'étude et la recherche uniquement à des fins personnelles; pas à des fins commerciales.  , , .  以下無正文 僅供個人用于學習、研究;不得用于商業(yè)用途。For personal use only in study and research; not for commercial use.Nur für den persönlichen für Studien, Forschung, zu kommerziellen Zwecken verwendet werden.P

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論