資源描述:
《東華大學(xué)微機(jī)實(shí)驗(yàn)原理實(shí)驗(yàn)報(bào)告.doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、實(shí)驗(yàn)一基本程序編程和程序調(diào)試一、實(shí)驗(yàn)?zāi)康?、掌握數(shù)碼轉(zhuǎn)換等基本程序設(shè)計(jì)的技巧和方法。2、熟悉DEBUG命令。3、學(xué)會和掌握用DEBUG調(diào)試程序的方法。二、實(shí)驗(yàn)設(shè)備PC機(jī)一臺,裝有DOS基本系統(tǒng)三、實(shí)驗(yàn)內(nèi)容及步驟用DEBUG建立、匯編和運(yùn)行調(diào)試程序的操作。DEBUG是DOS系統(tǒng)支持的用于匯編語言源程序調(diào)試的系統(tǒng)軟件。它共有19條命令完成相應(yīng)的功能,命令及其格式可參閱附錄一。(一)DEBUG操作練習(xí)1)實(shí)驗(yàn)調(diào)試程序程序的功能是從3500H內(nèi)存單元開始建立0-15共16個數(shù)據(jù)。程序如下:地址(H)機(jī)器碼(H)助記符2000BF0035MOVDI,35002003B9
2、1000MOVCX,00102006B80000MOVAX,000020099ESAHF200A8805MOVBYTE[DI],AL200C47INCDI200D40INCAX200E27DAA200FE2F9LOOP200A2011F4HLT2)實(shí)驗(yàn)步驟:(1)輸入與修改①啟動DOS,在DOS提示符下輸入DEBUG后回車,屏幕立即顯示DEBUG提示符“—”,表明已進(jìn)入DEBUG狀態(tài),可以執(zhí)行DEBUG的各種命令。②用DEBUG中的匯編命令“A地址”將程序建立在內(nèi)存單元中。在提示符“—”下鍵入:“A2000?”此時顯示器上將會顯示程序的段地址CS和偏移地址IP
3、,你就可以輸入以上的程序了。即顯示169C:2000鍵入MOVDI,3500169C:2003MOVCX,0010169C:2011HLT:::③用反匯編命令“U地址”檢查程序在提示符“—”下,鍵入“U2000?”,將從2000內(nèi)存單元開始的內(nèi)容反匯編,屏幕上顯示169C:2000BF0035MOVDI,3500169C:2003B91000MOVCX,0010169C:2006B8000MOVAX,0000::::::169C:2011F4HLT當(dāng)發(fā)現(xiàn)程序有錯時,可用匯編命令“A地址”進(jìn)行修改,如要修改200A單元中的指令,則鍵入“A200A?”,屏幕顯示1
4、69C:200A,然后再鍵入MOVBYTE[DI],AL?,就把錯誤的程序改正了。(2)顯示和修改數(shù)據(jù)①用修改內(nèi)存單元命令“E地址”在指定內(nèi)存單元中存入一個數(shù)。如要在3500為首址的單元中存入14H和25H兩個數(shù)據(jù),可在提示符“—”下,鍵入:“3500?”顯示169C:3500××.鍵入14,按空格鍵××.25,按空格鍵②用顯示內(nèi)存命令“D地址”檢查指定單元的內(nèi)容在提示符“—”下,鍵入“D3500?”顯示1489:350014254802…………1489:3510********…………::::1489:3570********…………若某單元內(nèi)容有錯則可用命
5、令:“E地址”進(jìn)行修正。③用顯示和修改命令“R”或“R寄存器名”顯示寄存器或修改其內(nèi)容在提示符“—”下,鍵入“R?”顯示AX=0000BX=0000CX=0000DX=0000SP=FFEE……………………DS=169CES=169CSS=169CCS=169CIP=2000………………………要修改IP的內(nèi)容時,鍵入命令“RIP”后,顯示IP2000,在2000之后鍵入新內(nèi)容。(3)程序運(yùn)行程序的運(yùn)行方式有單步運(yùn)行、斷點(diǎn)運(yùn)行和連續(xù)運(yùn)行幾種方式。①單步運(yùn)行輸入DEBUG跟蹤命令“T”或“T=地址”或“T=地址指定次數(shù)”,可從指定地址處運(yùn)行該單元中的一條指令,以后
6、只要連續(xù)輸入“T”命令就能連續(xù)執(zhí)行一條一條指令。如在提示符“—”下,鍵入“T=2000?”顯示:AX=0000BX=0000CX=001DDX-0000SP=FFEEBP=0000SI=0000DI=0000DS=169CES=169CSS=169CCS=169CIP=2000NV………169C:2003B91000MOVCX,0010②斷點(diǎn)運(yùn)行用運(yùn)行命令“G=地址地址斷點(diǎn)地址斷點(diǎn)…”執(zhí)行指定地址的程序在提示符“—”下,鍵入“G=20002011?”顯示169C:2011F4HLT表示這段程序已經(jīng)執(zhí)行完畢。③連續(xù)運(yùn)行輸入DEBUG命令“G=地址”,執(zhí)行指定地址
7、的程序(4)用顯示內(nèi)存命令檢查運(yùn)行結(jié)果在提示符“—”下,鍵入命令“D地址?”,根據(jù)其中的內(nèi)容判斷程序運(yùn)行是否正確。如檢查以上程序執(zhí)行后的結(jié)果,在提示符“—”下,鍵入“D3500?”,可顯示169C:35000001020304……15169C:3510(二)數(shù)碼轉(zhuǎn)換程序及其調(diào)試1、將ASCII碼表示的十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)1)程序設(shè)計(jì)的算法及其程序十進(jìn)制數(shù)據(jù)可表示為:DI代表十進(jìn)制數(shù)1,2,3,…9,0上式可轉(zhuǎn)換為:由式(2)可歸納十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)的方法:從十進(jìn)制的最高位Dn開始乘10加次位的操作,將結(jié)果再乘10再加下一次位,如此重復(fù),則可求出二進(jìn)制數(shù)結(jié)
8、果來。程序流程及參考程序如圖1-1。這