




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上微機實驗報告實驗名稱 KeilC的使用與匯編語言上機操作指導教師 專業(yè)班級 姓名 學號 序號聯(lián)系方式 一、 任務要求 實驗目的:熟悉KeilC環(huán)境,通過在KeilC環(huán)境下調(diào)試字節(jié)拆分、合并程序、數(shù)據(jù)塊清零程序、加法程序,掌握匯編語言程序的調(diào)試方法,加深對BCD碼、ASCII碼、堆棧、寄存器、數(shù)據(jù)指針、匯編語言指令、機器碼等基本概念的理解,為后續(xù)程序編制和調(diào)試打下基礎。實驗內(nèi)容:1.掌握KeilC環(huán)境的使用 1)字節(jié)拆分、合并:調(diào)試e421.asm程序, 觀察相關寄存器和單元的內(nèi)容。 2)數(shù)據(jù)塊填充:調(diào)試fill.asm程序,觀察相關寄存器和單元的內(nèi)容。2. 編寫兩個十
2、六位數(shù)的加法程序。有兩個十六位無符號數(shù),分別存放在從20H和30H開始的數(shù)據(jù)區(qū)中,低八位先存,高八位在后,和存于R3(高八位)和R4(低八位),進位位存于R2。二、 設計思路1. 掌握KeilC環(huán)境的使用1) 字節(jié)拆分、合并:字節(jié)拆分要將BCD碼轉(zhuǎn)換為2字節(jié)ASCII,需將BCD碼拆為兩部分,分別加30H。具體先用XCHD語句將BCD碼與00H交換低位,“高位”需先用SWAP語句將高低位交換,再加30H;“低位”直接加30H。字節(jié)合并同理,需減30H再合并。2) 數(shù)據(jù)塊填充:指針在7000H,利于循環(huán)語句遞增填充,A寄存器中存放要填充的數(shù)據(jù),DPTR數(shù)據(jù)指針指向片外,R0計數(shù)。用CJNE構(gòu)成循
3、環(huán),循環(huán)中A、DPTR、R0都加12. 編寫兩個十六位數(shù)的加法程序兩數(shù)低位分別存于20H、30H,高位存于21H、31H。用ADD語句將低位相加,存于R4;用ADDC語句將高位和進位Cy相加,存于R3;存進位需先將A寄存器清零,再用ADDC語句將A、00H和Cy相加,存于R2。三、 資源分配本程序數(shù)據(jù)均存于片內(nèi)RAM中,有兩個十六位無符號數(shù),低位分別存于20H、30H中,高位分別存于21H、31H中。高八位和存于R3中,低八位和存于R4中,進位位存于R2中。四、 流程圖 五、源代碼 ORG 0000H MAIN: MOV R0,#20H;設置第一個數(shù)地址指針 MOV R1,#30H;設置第二個
4、數(shù)地址指針 MOV A,R0;取低位ADD A,R1;兩數(shù)低位相加MOV R4,A ;存“和”低位INC R0INC R1MOV A,R0;取高位ADDC A,R1;兩數(shù)高位相加MOV R3,A ;存“和”高位CLR AADDC A,#0MOV R2,A ;存進位HERE: SJMP HERE ;踏步 END ;結(jié)束Program Size: data=8.0 xdata=0 code=18精簡后ORG 0000H MAIN: MOV A,20H; 取低位ADD A,30H; 兩數(shù)低位相加MOV R4,A ; 存“和”低位MOV A,21H; 取高位ADDC A,31H; 兩數(shù)高位相加MOV
5、R3,A ;´存“和”高位CLR AADDC A,#0MOV R2,A ; 存進位HERE: SJMP HERE ; 踏步 ENDProgram Size: data=8.0 xdata=0 code=16六、 程序測試方法與結(jié)果、軟件性能分析1.1字節(jié)拆分、合并調(diào)試 拆分時,如圖31H、32H中內(nèi)容為34和39,正常 合并時,如圖33H中內(nèi)容又變?yōu)榱?91.2數(shù)據(jù)塊填充調(diào)試執(zhí)行完改程序后片外7000H到70FFH中的數(shù)據(jù)如下圖3. 兩個十六位數(shù)的加法程序測試方法:修改片上RAM中20H、21H、30H、31H數(shù)據(jù),查看R2、R3、R4數(shù)據(jù)。如圖,令20H上為09H、21H上為90H
6、、30H上為40H、31H上為81H運行結(jié)果:如圖R2=01H,R3=11H,R4=49H性能分析精簡前Program Size: data=8.0 xdata=0 code=18運行時間t1=0.s精簡后Program Size: data=8.0 xdata=0 code=16運行時間t1=0.s七、 思考題1 怎樣查看工作寄存器、SFR、片內(nèi)RAM、片外RAM及程序代碼空間內(nèi)容?Disassembly 窗口有何作用? 按Start/stop Debug Session編譯程序點擊ViewRegisters Window,查看工作寄存器點擊ViewMemory Windows,選擇Memo
7、ry1,彈出Memory1窗口,在Address欄中介入d、x、c分別查看片內(nèi)RAM、片外RAM及程序代碼空間內(nèi)容Disassembly 窗口顯示編譯之后對應的匯編代碼。2 字節(jié)拆分、合并還有哪些方法,舉一例說明。還可以用與運算拆分利用XCHD語句合并 ORG 0000HLJMP MAINORG 0100HMAIN: MOV 30H,#49H MOV A, 30H ANL A, #F0H ;取高位 SWAP A ORL A, #30H ;高位轉(zhuǎn)換為ASCII碼MOV 31H, A ;結(jié)果存于31H單元 MOV A, 30H ANL A, #0FH ;取低位 ORL A, #30H ;低位轉(zhuǎn)換為
8、ASCII碼MOV 32H, A ;結(jié)果存于32H單元 MOV A,31HSWAP A MOV RO,32H XCHD A,R0 MOV 30H,A ;合并存于30HHERE: SJMP HERE ;踏步 END 4. 若按遞減1規(guī)律填充數(shù)據(jù)塊,應如何修改程序? ORG 0000H LJMP MAIN ORG 0100HMAIN: MOV SP,#40HFILL: MOV A #FFH MOV R0, #00H ;設循環(huán)計數(shù)器 MOV DPTR, #7000H ;設數(shù)據(jù)指針FILL1:MOVX DPTR, A ;傳送到片外RAM DEC A ;A內(nèi)容減1INC DPTR ;修改數(shù)據(jù)指針 INC
9、 R0 ;修改循環(huán)計數(shù)器 CJNE R0, #00H, FILL1 ;判斷是否結(jié)束HERE: SJMP HERE ;原地踏步 END5. 若從7010H單元開始,連續(xù)填充20個字節(jié),應該如何修改程序? ORG 0000H LJMP MAIN ORG 0100HMAIN:MOV SP,#40HFILL:CLR A ;A寄存器清零MOV R0, #00H ;設循環(huán)計數(shù)器 MOV DPTR, #7010H ;設數(shù)據(jù)指針FILL1:MOVX DPTR, A ;傳送到片外RAM INC A ;A內(nèi)容加1INC DPTR ;修改數(shù)據(jù)指針 INC R0 ;修改循環(huán)計數(shù)器 CJNE R0, #14H, FILL1 ;判斷是否結(jié)束HERE:SJMP HERE ;原地踏步 END 6. 若完成雙字節(jié)BCD碼加法,應如何修改程序?需要在ADD和ADDC后加上DA,進行十進制修正八、 實驗小結(jié) 通過本次試驗,我們掌握KeilC環(huán)境的使用,熟悉了軟件的運行環(huán)境和調(diào)試方法。由于是第一次使用KeilC軟件,而且它是全英文的,所以一開始感覺
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江國企招聘2025寧波余姚景隆置業(yè)有限公司招聘7人筆試參考題庫附帶答案詳解
- 重慶三峽學院《通信仿真實驗》2023-2024學年第二學期期末試卷
- 成都藝術(shù)職業(yè)大學《管理智慧》2023-2024學年第二學期期末試卷
- 三峽大學科技學院《多媒體課件設計與開發(fā)》2023-2024學年第二學期期末試卷
- 成都理工大學工程技術(shù)學院《數(shù)據(jù)采集與處理》2023-2024學年第二學期期末試卷
- 張家口學院《量子力學純英文》2023-2024學年第二學期期末試卷
- 安順學院《電機學實驗》2023-2024學年第二學期期末試卷
- 濮陽科技職業(yè)學院《數(shù)學教學與實踐》2023-2024學年第二學期期末試卷
- 武漢晴川學院《軋制工藝學板帶材生產(chǎn)》2023-2024學年第二學期期末試卷
- 江西旅游商貿(mào)職業(yè)學院《黑白圖式語言-造型》2023-2024學年第二學期期末試卷
- 2024年高級電工職業(yè)鑒定考試題庫-下(多選、判斷題)
- GB/T 32399-2024信息技術(shù)云計算參考架構(gòu)
- 2024-2030年中國郵輪行業(yè)市場發(fā)展狀況及發(fā)展前景與趨勢研究報告
- 文言文二則 囊螢夜讀 公開課一等獎創(chuàng)新教學設計+說課稿+(共25張)
- 2023年山東煙臺中考滿分作文《這一路風光真好》
- 第18課 科技文化成就 新授課課件-2024-2025學年統(tǒng)編版八年級歷史下冊
- 孵化器與產(chǎn)業(yè)園區(qū)協(xié)同發(fā)展
- 小學綜合實踐活動《來之不易的糧食》課件
- 畢業(yè)設計中期報告
- 呼和浩特市消防救援支隊招聘政府專職消防員筆試真題2022
- 施工方案防火門卷簾門
評論
0/150
提交評論