




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、福建農(nóng)林大學(xué)計(jì)算機(jī)與信息學(xué)院實(shí)驗(yàn)報(bào)告系: 計(jì)算機(jī) 專業(yè): 計(jì)算機(jī) 年級(jí): 2014 姓名: 學(xué)號(hào): 實(shí)驗(yàn)室號(hào)_ 計(jì)算機(jī)號(hào) 實(shí)驗(yàn)時(shí)間: 2016-10-24指導(dǎo)教師簽字: 劉慶連 成績(jī): 實(shí)驗(yàn)二 DEBUG的使用1實(shí)驗(yàn)?zāi)康暮鸵?(1)學(xué)習(xí)使用DEBUG的命令;(2)使用DEBUG命令在數(shù)據(jù)段中查看程序運(yùn)行的結(jié)果;(3)利用DEBUG運(yùn)行簡(jiǎn)單的程序段。2實(shí)驗(yàn)環(huán)境IBMPC機(jī)及其兼容機(jī)實(shí)驗(yàn)的軟件環(huán)境是: 操作系統(tǒng):DOS 2.0以上;調(diào)試程序:DEBUG.COM;文本編程程序:EDIT.EXE、WPS.EXE;宏匯編程序:MASM.EXE(或ASM .EXE);連接裝配程序:LINK .EXE;交
2、叉引用程序:CREF.EXE(可有可無)。3實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)數(shù)據(jù)記錄1)輸入程序觀察寄存器變化 使用DEBUG,將下面的程序段寫入內(nèi)存,逐條執(zhí)行,觀察每條指令執(zhí)行后,CPU中相關(guān)寄存器的內(nèi)容變化。注意用T命令執(zhí)行時(shí),CS: IP寄存器的內(nèi)容使用DEBUG,將下面的程序段寫入內(nèi)存,逐條執(zhí)行,觀察每條指令執(zhí)行后,CPU中相關(guān)寄存器的內(nèi)容變化。注意用T命令執(zhí)行時(shí),CS: IP寄存器的內(nèi)容MOVAX, 4E20ADDAX, 1416MOVBX, 2000ADDAX, BXMOVBX, AXADDAX, BXMOVAX, 001AMOVBX, 0026ADDAL, BLADDAH, BL ADDBH, A
3、L MOVAH, 0 ADDAL, BL ADDAL, 9C2)下列程序單步運(yùn)行,注意AL,BX,CX寄存器的變化,并觀察數(shù)據(jù)段字母的變化。如果是將小寫字母改成大寫字母帶注釋的語句該如何修改?DSEGSEGMENTMSG1DBabcDSEGENDSCSEGSEGMENT ASSUMECS: CSEG, DS: DSEGSTART:MOVAX, DSEG MOVDS, AX LEABX, MSG1 MOVCX, 3 S:MOVAL, BX ANDAL, 11011111B ;將AL中的ASCII碼的第5位置0,;變成大寫字母。 MOV BX, AL INCBX LOOPS MOVAL, 0 MO
4、VAH, 4CH INT 21HCSEGENDS ENDSTART3)程序的跟蹤執(zhí)行操作在DOS下直接輸入文件主名就可以執(zhí)行文件了,有的程序會(huì)顯示結(jié)果,可能執(zhí)行后什么結(jié)果都沒有,是因?yàn)槌绦蛑袥]有顯示命令。那么如何查看程序的運(yùn)行結(jié)果呢?程序執(zhí)行過程的跟蹤操作步驟如下:(1)在DOS下輸入:DEBUG 文件名.EXE(2)在DEBUG提示符下輸入U(xiǎn)命令如果程序中有數(shù)據(jù)段,可以看到反匯編后第一句可執(zhí)行語句為:A地址:B地址 MOV AX, K地址 如:1261:0000 MOVAX, 1260其中:K地址就是數(shù)據(jù)段的段寄存器內(nèi)容,A地址為代碼段段寄存器地址,B地址為程序第一條指令的偏移地址。(3)可
5、以用T命令單步執(zhí)行指令,執(zhí)行到 MOV AH, 4CH時(shí)結(jié)束,也可以用G命令執(zhí)行整個(gè)程序,輸入:G=B地址(如:G=0000)(4)用D命令查看程序執(zhí)行后數(shù)據(jù)段的變化輸入:D K地址:0 (如:D1260:0)在顯示的數(shù)據(jù)中,對(duì)照源程序或LST文件查看結(jié)果所在的偏移地址的內(nèi)容4)輸入下面的程序,按實(shí)驗(yàn)一和上面的步驟運(yùn)行一遍。這是一個(gè)兩個(gè)數(shù)相與的程序。結(jié)果存放在MSG2單元中,偏移地址為?值為多少?DSEGSEGMENTMSG1DW7856H, 2038HMSG2DW?DSEGENDSCSEGSEGMENT ASSUMECS: CSEG, DS: DSEGSTART:MOVAX, DSEG MO
6、V DS, AX MOVAX, MSG1 ANDAX, MSG1+2 MOVMSG2, AX MOVAL, 0 MOVAH, 4CH INT21HCSEG ENDS ENDSTART3.編寫調(diào)試下面的程序,用DEBUG查看數(shù)據(jù)段中的結(jié)果1),X,Y,W為字節(jié)類型變量,結(jié)果存于Z單元,寫出數(shù)據(jù)段和代碼段。2)X,Y為字節(jié)類型數(shù),求,寫出完整的數(shù)據(jù)段和代碼段,不用乘除指令。4算法描述及實(shí)驗(yàn)步驟【實(shí)驗(yàn)一】輸入程序觀察寄存器變化步驟:win +R 調(diào)出運(yùn)行窗口->在打開中輸入cmd->確定->進(jìn)入masm5的目錄下運(yùn)行debug ->debug命令窗口->輸入-a開始輸入
7、命令->依次輸入以下代碼并按 enter鍵結(jié)束->之后輸入-t 觀察每條指令執(zhí)行后各寄存器的變化.【實(shí)驗(yàn)二】程序單步運(yùn)行與實(shí)驗(yàn)一同理,在masm5 for windows軟件中輸入要求指令代碼->運(yùn)行->調(diào)試->輸入-t觀察個(gè)寄存器結(jié)果變化【實(shí)驗(yàn)三】?jī)蓴?shù)相與操作與實(shí)驗(yàn)一同理,在masm5 for windows軟件中輸入要求指令代碼->運(yùn)行->調(diào)試->輸入-t觀察個(gè)寄存器結(jié)果變化【實(shí)驗(yàn)四】編寫調(diào)試程序步驟:按要求即可1),X,Y,W為字節(jié)類型變量,結(jié)果存于Z單元,寫出數(shù)據(jù)段和代碼段。2)X,Y為字節(jié)類型數(shù),求,寫出完整的數(shù)據(jù)段和代碼段,不用乘除指
8、令。5調(diào)試過程(1)剛開始使用masm5 指令不熟悉,在目標(biāo)操作數(shù)和源操作數(shù)之間少了“,”號(hào)導(dǎo)致出錯(cuò),如下圖(2)定于的數(shù)據(jù)x,y必須有值才能編譯成功.6實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)一【輸入程序觀察寄存器變化】用-a輸入指定指令及用 t 步驟執(zhí)行結(jié)果如下圖【實(shí)驗(yàn)二】2.1使用masm5 for windows 2015軟件并輸入代碼如下2.2調(diào)試結(jié)果 t步驟執(zhí)行觀察,結(jié)果是將存儲(chǔ)在DS中的abc 依次換成ABC,即大小寫的切換,執(zhí)行主要結(jié)果如下圖如果將小寫字母改成大寫字母 則應(yīng)做如下變化ANDAL, 11011111B 替換成 OR AL, 00100000B 代碼如下圖運(yùn)行結(jié)果如下圖(大寫變小寫)實(shí)驗(yàn)三【兩
9、數(shù)相與】-T分步執(zhí)行結(jié)果如下圖有下圖可知偏移地址:0004;值:2010實(shí)驗(yàn)四【編寫程序】代碼如下圖所示調(diào)試主要結(jié)果如下圖, 即(Z =(2-1)*10+5)/(1+2) Z的結(jié)果是5 和al中的結(jié)果為5 與預(yù)期一致.由圖可知道,運(yùn)算結(jié)果確實(shí)為5 并將結(jié)果存放Z2)X,Y為字節(jié)類型數(shù),求,寫出完整的數(shù)據(jù)段和代碼段,不用乘除指令。Z = (2+1)*8-(2-1)*2)/16 =1(al).6(余數(shù)) 并存與Z執(zhí)行結(jié)果如下圖7. 總結(jié)通過本實(shí)驗(yàn),首先就是掌握了masm5 以及masm5 for windows2015的基本使用,能通過debug工具來進(jìn)行編譯指令和執(zhí)行指令,對(duì)一些指令有了些了解,
10、能通過-t步驟執(zhí)行來理解匯編指令的具體含義及其相應(yīng)寄存器中的數(shù)據(jù)變化,能自己手動(dòng)輸入編譯指令來對(duì)基本的運(yùn)算進(jìn)行演示和觀察相應(yīng)的結(jié)果,總之,此次實(shí)驗(yàn)讓我受益匪淺,為以后進(jìn)一步學(xué)習(xí)匯編打下基礎(chǔ)附錄:代碼(1),X,Y,W為字節(jié)類型變量,結(jié)果存于Z單元,寫出數(shù)據(jù)段和代碼段如下DATAS SEGMENT x db 1 y db 2 w db 2 z db ? DATAS ENDSSTACKS SEGMENT ;此處輸入堆棧段代碼STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX
11、 MOV AL,W SUB AL,X MOV BH,10 MUL BH ADD AX,5 MOV BL,X ADD BL,Y DIV BL MOV Z,AL MOV Z+1,AH MOV AH,4CH INT 21HCODES ENDSEND START(2)X,Y為字節(jié)類型數(shù),求,寫出完整的數(shù)據(jù)段和代碼段,不用乘除指令。DATAS SEGMENT x db 2 y db 1 z db ?DATAS ENDSSTACKS SEGMENT ;此處輸入堆棧段代碼STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DAT
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 古裝歷史題材影視改編合作協(xié)議
- 體位轉(zhuǎn)移與護(hù)理技術(shù)
- 綠色環(huán)保股權(quán)投資虧損分擔(dān)結(jié)算合同
- 股權(quán)資產(chǎn)剝離與云計(jì)算產(chǎn)業(yè)合作開發(fā)協(xié)議
- 腦腫瘤術(shù)后護(hù)理要點(diǎn)
- 兒童服飾品牌區(qū)域代理銷售與營(yíng)銷支持合同
- 醫(yī)療機(jī)構(gòu)審核標(biāo)準(zhǔn)補(bǔ)充協(xié)議
- 高效節(jié)能光伏逆變器租賃與智能運(yùn)維服務(wù)協(xié)議
- 建筑門窗水密性智能檢測(cè)儀租賃與維護(hù)綜合服務(wù)合同
- 股權(quán)激勵(lì)計(jì)劃實(shí)施及分割合同
- 案場(chǎng)儀容儀表規(guī)范要求
- 2025超市承包經(jīng)營(yíng)合同
- 2025-2030中國(guó)橋梁檢查與維護(hù)行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 預(yù)防食品藥品誤食
- 泡沫混凝土施工方案
- 麻家梁煤礦8.0Mt-a新井設(shè)計(jì)- 厚煤層富水頂板控水開采技術(shù)
- 鐵路防脹知識(shí)培訓(xùn)
- 2025年浙江湖州市城市投資發(fā)展集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 2025年高空車作業(yè)考試題及答案
- 非遺文化產(chǎn)業(yè)發(fā)展-深度研究
- 丙酸鉻、淀粉酶對(duì)黃羽肉雞生長(zhǎng)性能、抗氧化和腸道健康的影響
評(píng)論
0/150
提交評(píng)論