微機(jī)實(shí)驗(yàn)指導(dǎo)書2023版_第1頁
微機(jī)實(shí)驗(yàn)指導(dǎo)書2023版_第2頁
微機(jī)實(shí)驗(yàn)指導(dǎo)書2023版_第3頁
微機(jī)實(shí)驗(yàn)指導(dǎo)書2023版_第4頁
微機(jī)實(shí)驗(yàn)指導(dǎo)書2023版_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

微機(jī)原理及應(yīng)用實(shí)驗(yàn)指導(dǎo)書主編:微機(jī)原理課程組中原工學(xué)院信息商務(wù)學(xué)院2007年11月11日前言隨著技術(shù)的發(fā)展和進(jìn)步,微型計(jì)算機(jī)的應(yīng)用在各行各業(yè)中迅猛發(fā)展。它已成為每個(gè)專業(yè)技術(shù)人員必備的基礎(chǔ)?!拔C(jī)原理與應(yīng)用”已成為高等院校電類專業(yè)的一門專業(yè)基礎(chǔ)主干課程。學(xué)好這門課對(duì)后續(xù)課程的學(xué)習(xí)有很大的幫助。該課程是實(shí)踐性很強(qiáng)的課程,只有書本上的理論知識(shí)遠(yuǎn)遠(yuǎn)不夠的,只有通過上機(jī)實(shí)驗(yàn)才能掌握程序設(shè)計(jì)方法;通過實(shí)驗(yàn)才能鞏固所學(xué)的知識(shí)和驗(yàn)證其原理。因此我們編寫了這本實(shí)驗(yàn)指導(dǎo)書,一方面使學(xué)生通過實(shí)際動(dòng)手操作,更深刻的掌握基礎(chǔ)理論實(shí)踐知識(shí);另一方面是為了便于組織教學(xué)。全書由兩個(gè)部分組成。第一部分為軟件設(shè)計(jì)部分,介紹上機(jī)的基本過程及匯編軟件的使用,包括EDIT,DEBUG,MASM等。介紹了軟件編程實(shí)驗(yàn)的目的、要求及程序流程圖。實(shí)驗(yàn)內(nèi)容包括基本的上機(jī)練習(xí)和順序、循環(huán)、分支和子程序4種基本結(jié)構(gòu)的程序設(shè)計(jì)練習(xí)和通過設(shè)計(jì)一個(gè)比較實(shí)用的學(xué)生成績報(bào)表系統(tǒng)軟件,使學(xué)生能夠綜合運(yùn)用匯編語言知識(shí)掌握程序設(shè)計(jì)方法。第二部分為接口部分。包括6個(gè)實(shí)驗(yàn),有8255簡單接口及交通燈實(shí)驗(yàn),定時(shí)、A/D轉(zhuǎn)換、串行通信實(shí)驗(yàn)及電子鐘設(shè)計(jì)制作實(shí)驗(yàn)。這部分綜合了程序設(shè)計(jì)及硬件接口電路方面的知識(shí),對(duì)學(xué)生全面掌握微機(jī)原理與應(yīng)用這門課程有很大的幫助,對(duì)后續(xù)課程的學(xué)習(xí)奠定堅(jiān)實(shí)的基礎(chǔ)。本次修訂,增加了2個(gè)設(shè)計(jì)性實(shí)驗(yàn)。附錄中,介紹了匯編語言上機(jī)的一般步驟及各種Debug命令的使用方法。編者2007.11目錄第一章概述1第二章實(shí)驗(yàn)要求及注意事項(xiàng)2一、實(shí)驗(yàn)的基本要求2二、實(shí)驗(yàn)報(bào)告寫作要求2三、實(shí)驗(yàn)報(bào)告文字要求2四、實(shí)驗(yàn)室管理制度3第三章實(shí)驗(yàn)項(xiàng)目4實(shí)驗(yàn)一匯編語言上機(jī)實(shí)驗(yàn)4實(shí)驗(yàn)二分支、循環(huán)程序設(shè)計(jì)實(shí)驗(yàn)6實(shí)驗(yàn)三DOS功能調(diào)用實(shí)驗(yàn)7實(shí)驗(yàn)四子程序結(jié)構(gòu)設(shè)計(jì)實(shí)驗(yàn)8實(shí)驗(yàn)五學(xué)生成績統(tǒng)計(jì)報(bào)表9實(shí)驗(yàn)六8255接口簡單I/O實(shí)驗(yàn)10實(shí)驗(yàn)七8255接口模擬交通燈實(shí)驗(yàn)12實(shí)驗(yàn)八8253接口分頻器實(shí)驗(yàn)14實(shí)驗(yàn)九電子鐘設(shè)計(jì)與實(shí)現(xiàn)15實(shí)驗(yàn)十8251可編程串行口通訊實(shí)驗(yàn)16實(shí)驗(yàn)十一多路A/D轉(zhuǎn)換實(shí)驗(yàn)17第四章附錄19附錄AHKZK8688TE實(shí)驗(yàn)機(jī)在串行監(jiān)控配置方式下安裝和啟動(dòng)19附錄B運(yùn)行匯編語言源程序的過程20附錄C調(diào)試程序DEBUG的使用說明24附錄D常用可編程接口芯片控制字格式34第五章參考文獻(xiàn)36第一章概述《微機(jī)原理與應(yīng)用》是一門實(shí)踐性很強(qiáng)的專業(yè)基礎(chǔ)課,僅僅學(xué)習(xí)書本上的理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有理論與實(shí)踐結(jié)合起來,才能全面掌握微型計(jì)算機(jī)的原理、程序設(shè)計(jì)及接口電路。為學(xué)習(xí)后續(xù)課程奠定堅(jiān)實(shí)的基礎(chǔ)。所以,實(shí)驗(yàn)教學(xué)在本門課程中充當(dāng)著重要角色。本課程實(shí)驗(yàn)主要包含三部分的內(nèi)容:匯編語言上機(jī)過程、程序設(shè)計(jì)、接口技術(shù)及相關(guān)的準(zhǔn)備知識(shí)。學(xué)生在使用本指導(dǎo)書前,應(yīng)對(duì)附錄上的基礎(chǔ)知識(shí)有一定的了解。通過理論教學(xué)后,掌握匯編語言的上機(jī)過程,利用順序、分支、循環(huán)、子程序等結(jié)構(gòu)設(shè)計(jì)一些基本匯編語言源程序。從而對(duì)8086/8088的指令系統(tǒng)、程序結(jié)構(gòu)有一個(gè)深入的了解。在學(xué)習(xí)了常用接口電路的基礎(chǔ)上,通過微機(jī)原理與接口綜合實(shí)驗(yàn)箱平臺(tái),使學(xué)生選做一些常用接口芯片電路的實(shí)驗(yàn),掌握接口電路原理及其編程技術(shù)。本指導(dǎo)書包含11個(gè)實(shí)驗(yàn),其中驗(yàn)證性實(shí)驗(yàn)7個(gè),綜合性實(shí)驗(yàn)2個(gè),設(shè)計(jì)性實(shí)驗(yàn)2個(gè),覆蓋了整個(gè)教學(xué)大綱的內(nèi)容。驗(yàn)證性實(shí)驗(yàn)主要要求學(xué)生對(duì)書本知識(shí)的掌握和理解,通過實(shí)驗(yàn)達(dá)到掌握本課程基礎(chǔ)知識(shí)的目的。綜合性實(shí)驗(yàn)包含在接口技術(shù)部分。要求學(xué)生在掌握匯編語言程序設(shè)計(jì)及接口電路原理的基礎(chǔ)上,綜合硬件和軟件知識(shí),設(shè)計(jì)相應(yīng)的硬件電路,并編寫相應(yīng)程序,從而使學(xué)生全面掌握微機(jī)原理及接口技術(shù)。設(shè)計(jì)性實(shí)驗(yàn)包括軟件設(shè)計(jì)和接口設(shè)計(jì)的內(nèi)容,學(xué)生可以利用業(yè)余時(shí)間,在參閱一些相關(guān)文獻(xiàn)的基礎(chǔ)上,開拓學(xué)生思路,充分調(diào)動(dòng)學(xué)生的能動(dòng)性,讓學(xué)有余力的學(xué)生設(shè)計(jì)開發(fā)具有一定實(shí)用功能的軟件或制作,學(xué)生可以利用業(yè)余時(shí)間,在開放實(shí)驗(yàn)室內(nèi)完成。第二章實(shí)驗(yàn)要求及注意事項(xiàng)一、實(shí)驗(yàn)的基本要求微機(jī)原理課程是一門實(shí)踐性較強(qiáng)的課程。上機(jī)實(shí)驗(yàn)的目的是在理論學(xué)習(xí)的基礎(chǔ)上,通過上機(jī)實(shí)際操作和應(yīng)用,使學(xué)生進(jìn)一步了解和掌握微型計(jì)算機(jī)的工作原理,對(duì)計(jì)算機(jī)有一個(gè)感性的認(rèn)識(shí)。通過綜合實(shí)驗(yàn)課的練習(xí),使學(xué)生能通過實(shí)際操作,實(shí)現(xiàn)小型系統(tǒng)的一些簡單功能。達(dá)到理論聯(lián)系實(shí)際的目的。為了能順利完成實(shí)驗(yàn)課的學(xué)習(xí),做以下要求:學(xué)生在實(shí)驗(yàn)前應(yīng)復(fù)習(xí)教科書有關(guān)章節(jié),認(rèn)真研讀實(shí)驗(yàn)指導(dǎo)書,了解實(shí)驗(yàn)?zāi)康?、原理與步驟,明確實(shí)驗(yàn)過程中應(yīng)注意的問題。實(shí)驗(yàn)前應(yīng)按具體要求寫出預(yù)習(xí)報(bào)告,由指導(dǎo)教師進(jìn)行抽查,認(rèn)為確實(shí)做好了實(shí)驗(yàn)前的準(zhǔn)備,方可開始實(shí)驗(yàn)。實(shí)驗(yàn)過程中,首先完成實(shí)驗(yàn)指導(dǎo)書要求的實(shí)驗(yàn)內(nèi)容,記錄實(shí)驗(yàn)結(jié)果,達(dá)到實(shí)驗(yàn)指導(dǎo)書中要求。然后才可以進(jìn)行自己設(shè)計(jì)的與本課程有關(guān)的實(shí)驗(yàn)項(xiàng)目。實(shí)驗(yàn)完成后,應(yīng)根據(jù)實(shí)驗(yàn)過程,按實(shí)驗(yàn)指導(dǎo)書要求寫出實(shí)驗(yàn)報(bào)告。實(shí)驗(yàn)報(bào)告要簡明扼要、字跡清楚、代碼及圖表整潔,結(jié)論明確。預(yù)習(xí)報(bào)告附在實(shí)驗(yàn)報(bào)告后面,作為實(shí)驗(yàn)報(bào)告的一部分。預(yù)習(xí)報(bào)告應(yīng)包括以下內(nèi)容:(1)實(shí)驗(yàn)名稱、姓名、學(xué)號(hào)。(2)按實(shí)驗(yàn)指導(dǎo)書預(yù)習(xí)實(shí)驗(yàn)內(nèi)容、要求。(3)列出實(shí)驗(yàn)項(xiàng)目并簡述原理和操作步驟。(4)預(yù)習(xí)報(bào)告應(yīng)使用專用的實(shí)驗(yàn)報(bào)告紙。二、實(shí)驗(yàn)報(bào)告寫作要求實(shí)驗(yàn)報(bào)告是在某項(xiàng)科研活動(dòng)或?qū)I(yè)學(xué)習(xí)中,實(shí)驗(yàn)者把實(shí)驗(yàn)的目的、方法、步驟、結(jié)果等,用簡潔的語言寫成書面報(bào)告。實(shí)驗(yàn)報(bào)告一般根據(jù)實(shí)驗(yàn)的先后順序來寫,應(yīng)有以下主要內(nèi)容:1、姓名及日期:學(xué)生資料及寫作日期。2、實(shí)驗(yàn)名稱:用最簡練的語言反映了實(shí)驗(yàn)的內(nèi)容。3、實(shí)驗(yàn)用的儀器和設(shè)備:應(yīng)列出實(shí)驗(yàn)用的各類儀器、設(shè)備。4、實(shí)驗(yàn)的步驟和方法:這是實(shí)驗(yàn)報(bào)告極其重要的內(nèi)容。記錄本實(shí)驗(yàn)的主要過程和步驟,設(shè)計(jì)相應(yīng)的程序流程圖或硬件電路,編寫源程序;列出實(shí)驗(yàn)環(huán)境參數(shù)及注意事項(xiàng)。5、實(shí)驗(yàn)結(jié)果:應(yīng)完整地記錄實(shí)驗(yàn)的結(jié)果或數(shù)據(jù)及觀察到的圖形。6、分析及計(jì)算:應(yīng)對(duì)實(shí)驗(yàn)中測到的數(shù)據(jù)進(jìn)行了分析,并計(jì)算結(jié)果。7、實(shí)驗(yàn)討論:利用實(shí)驗(yàn)的結(jié)果對(duì)實(shí)驗(yàn)現(xiàn)象及假設(shè)進(jìn)行討論;比較相似及不同的實(shí)驗(yàn)結(jié)果;說明實(shí)驗(yàn)結(jié)果能否解釋本實(shí)驗(yàn)的問題。8、備注或說明:是否清楚實(shí)驗(yàn)成功或失敗的原因、實(shí)驗(yàn)后的心得體會(huì)、建議等。9、實(shí)驗(yàn)結(jié)論:根據(jù)本實(shí)驗(yàn)的結(jié)果,對(duì)本實(shí)驗(yàn)做出結(jié)論,結(jié)論應(yīng)與本實(shí)驗(yàn)的目的對(duì)應(yīng)。三、實(shí)驗(yàn)報(bào)告文字要求1、寫實(shí)驗(yàn)報(bào)告是一件非常嚴(yán)肅、認(rèn)真的工作,要講究科學(xué)性、準(zhǔn)確性、求實(shí)性。2、實(shí)驗(yàn)報(bào)告描述要清楚、肯定,語言通順,用語專業(yè)、準(zhǔn)確,結(jié)構(gòu)嚴(yán)謹(jǐn)、層次清晰。3、實(shí)驗(yàn)報(bào)告中要避免以下錯(cuò)誤情況的發(fā)生:觀察不細(xì)致,沒有及時(shí)、準(zhǔn)確、如實(shí)記錄,假造實(shí)驗(yàn)現(xiàn)象等做法,外文、符號(hào)、公式不準(zhǔn)確,沒有使用統(tǒng)一規(guī)定的名詞和符號(hào)。四、實(shí)驗(yàn)室管理制度上機(jī)實(shí)驗(yàn)是學(xué)生學(xué)習(xí)期間的重要教學(xué)環(huán)節(jié),學(xué)生進(jìn)入實(shí)驗(yàn)室,必須嚴(yán)格執(zhí)行實(shí)驗(yàn)室的管理制度,工作人員和任課教師也必須按照實(shí)驗(yàn)室管理制度進(jìn)行管理。1、學(xué)生進(jìn)入實(shí)驗(yàn)室,應(yīng)按要求集中就坐,服從指導(dǎo)教師的安排。2、學(xué)生必須填寫實(shí)驗(yàn)登記表,如果發(fā)現(xiàn)設(shè)備故障,馬上向指導(dǎo)教師報(bào)告,申請(qǐng)調(diào)換機(jī)位,并在實(shí)驗(yàn)登記表上標(biāo)記故障機(jī)(在表中設(shè)備狀態(tài)欄填寫故障現(xiàn)象),同時(shí),在實(shí)驗(yàn)登記表上填寫機(jī)器號(hào)并簽名。登記表的填寫由指導(dǎo)教師負(fù)責(zé)組織。3、學(xué)生實(shí)驗(yàn)期間,不得隨意離開實(shí)驗(yàn)室,需要離開實(shí)驗(yàn)室的學(xué)生必須經(jīng)由指導(dǎo)教師的批準(zhǔn)。4、學(xué)生不得攜帶食品、飲料等進(jìn)入實(shí)驗(yàn)室,發(fā)現(xiàn)后,指導(dǎo)教師與值班人員應(yīng)進(jìn)行批評(píng)教育。對(duì)于不接受批評(píng)教育的學(xué)生,值班人員和教師有權(quán)利請(qǐng)?jiān)搶W(xué)生離開實(shí)驗(yàn)室。對(duì)于態(tài)度惡劣的學(xué)生,交由學(xué)生管理部門依據(jù)學(xué)校有關(guān)管理規(guī)定進(jìn)行處理。5、學(xué)生應(yīng)愛護(hù)實(shí)驗(yàn)設(shè)備,不得私自移動(dòng)、拆卸機(jī)箱,并積極配合值班人員保證設(shè)備完好和安全。6、學(xué)生實(shí)驗(yàn)結(jié)束,經(jīng)指導(dǎo)教師檢查認(rèn)可并在實(shí)驗(yàn)登記表簽字后,按程序關(guān)閉計(jì)算機(jī)、關(guān)閉顯示器電源和實(shí)驗(yàn)箱電源后,帶好自己的物品離開實(shí)驗(yàn)室。第三章實(shí)驗(yàn)項(xiàng)目實(shí)驗(yàn)一匯編語言上機(jī)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、熟悉掌握匯編程序的編輯、編譯、連接、運(yùn)行,要求在Debug狀態(tài)下查看結(jié)果。2、熟悉Debug對(duì)程序進(jìn)行調(diào)試的方法及步驟。3、熟悉掌握8086常用的匯編語言指令。4、掌握簡單的程序設(shè)計(jì)方法。二、實(shí)驗(yàn)屬性驗(yàn)證性實(shí)驗(yàn)。三、實(shí)驗(yàn)儀器設(shè)備及器材計(jì)算機(jī)(含有匯編軟件)。四、實(shí)驗(yàn)要求實(shí)驗(yàn)前:在熟練掌握指令系統(tǒng)的基礎(chǔ)上,要求學(xué)生對(duì)上機(jī)基礎(chǔ)知識(shí)(見附錄A、B、和C)有一定的了解,能掌握匯編語言的上機(jī)過程及常用的DEBUG調(diào)試命令,按要求寫出預(yù)習(xí)報(bào)告;2、實(shí)驗(yàn)時(shí):認(rèn)真理解實(shí)驗(yàn)內(nèi)容,掌握匯編程序的編輯、編譯、連接、運(yùn)行及Debug程序的使用;3、實(shí)驗(yàn)后:寫出實(shí)驗(yàn)報(bào)告(包括程序流程圖、源程序、實(shí)驗(yàn)結(jié)果)。五、實(shí)驗(yàn)內(nèi)容及原理1、內(nèi)存中存放有兩個(gè)雙字的數(shù)據(jù),用加法指令和帶進(jìn)位加法指令完成兩數(shù)相加。用Debug觀察相加結(jié)果。相加時(shí)應(yīng)注意,低位字在前、高位字在后,高位字與高字位、低位字與低位字對(duì)應(yīng)相加,高位字相加時(shí),應(yīng)采用帶進(jìn)位的加法指令。實(shí)驗(yàn)參考程序如下:datasegmentbuffer1dW20h,5040hbuffer2dW2434h,2034hdataendscodesegmentassumecs:code,DS:DATAstart:movax,data;取數(shù)據(jù)段段基址movds,axleasi,buffer1;取buffer1的有效地址送指針SImovax,[si]movdi,offsetbuffer2;取buffer2的有效地址送指針DIaddax,[di];低位字相加mov[si],ax;相加和送變量buffer1保存addsi,2;修改指針,指向高位字adddi,2movax,[si]adcax,[di]mov[si],axMOVAH,4cH;返回DOS,但如在DEBUG下調(diào)試, int21h;可不用此軟中斷hlt;暫停codeendsendstart碼制轉(zhuǎn)換:把寄存器中(或存儲(chǔ)器中)一個(gè)字的組合BCD碼,轉(zhuǎn)換為4位ASCII碼,存入相應(yīng)的內(nèi)存單元中,并在DEBUG狀態(tài)下查看運(yùn)行結(jié)果。(一個(gè)字的組合BCD碼包含4位BCD碼,將其依次分解為4個(gè)非組合BCD碼,分別加上30H,即成為ASCII碼,并存入內(nèi)存單元)程序參考流程圖見圖3-1。開始從內(nèi)存中取一個(gè)字到A開始從內(nèi)存中取一個(gè)字到AX把低八位由AL送入BL把高八位由AH送入BHAL與0F相與,結(jié)果加30H,送相應(yīng)內(nèi)存單元BL邏輯右移四位與0F相與,結(jié)果加30H,送相應(yīng)內(nèi)存單元,AH與0F相與,結(jié)果加30H,送相應(yīng)內(nèi)存單元BH邏輯右移四位與0F相與,結(jié)果加30H,送相應(yīng)內(nèi)存單元,結(jié)束1、打開PC機(jī),進(jìn)入MS-DOS環(huán)境。2、運(yùn)行編輯程序,進(jìn)入編輯狀態(tài),輸入源程序。3、保存源程序到MASM目錄下,文件名保存為×××.asm。4、經(jīng)匯編程序MASM匯編后,產(chǎn)生目標(biāo)文件。如果有錯(cuò)誤,返回編輯狀態(tài)。5、連接目標(biāo)文件,生成可執(zhí)行文件×××.EXE6、在DEBUG狀態(tài)下進(jìn)行調(diào)試,通過單步、連續(xù)、跟蹤、斷點(diǎn)等調(diào)試方法,在內(nèi)存中觀察程序運(yùn)行情況。7、如果運(yùn)行結(jié)果不正確,返回編輯狀態(tài)修改源程序。七、思考題通過何種指令使標(biāo)志寄存器每位置1,清0;在Debug狀態(tài)下,標(biāo)志寄存器每位的狀態(tài)(1,0)是如何表示的?Debug狀態(tài)下,G命令與T命令有何區(qū)別;查閱BCD碼到ASCII碼及十六進(jìn)制數(shù)之間的轉(zhuǎn)換關(guān)系。圖3-1兩個(gè)雙字?jǐn)?shù)相加的流程圖圖3-1兩個(gè)雙字?jǐn)?shù)相加的流程圖實(shí)驗(yàn)二分支、循環(huán)程序設(shè)計(jì)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、進(jìn)一步掌握匯編程序的編輯、編譯、連接、運(yùn)行,并在Debug狀態(tài)下查看結(jié)果。2、進(jìn)一步掌握利用Debug對(duì)程序進(jìn)行調(diào)試的方法。3、進(jìn)一步熟悉掌握8086常用的匯編語言指令。4、掌握分支程序、循環(huán)程序設(shè)計(jì)及調(diào)試方法。二、實(shí)驗(yàn)屬性驗(yàn)證性實(shí)驗(yàn)。三、實(shí)驗(yàn)儀器設(shè)備及器材計(jì)算機(jī)(含有匯編軟件)。四、實(shí)驗(yàn)要求1、實(shí)驗(yàn)前:對(duì)實(shí)驗(yàn)內(nèi)容進(jìn)行預(yù)習(xí),完成實(shí)驗(yàn)程序的編寫。按要求完成預(yù)習(xí)報(bào)告。2、實(shí)驗(yàn)時(shí):深刻理解分支、循環(huán)程序設(shè)計(jì)思想,熟練掌握上機(jī)調(diào)試及Debug使用。3、實(shí)驗(yàn)后:寫出實(shí)驗(yàn)報(bào)告(包含程序流程圖、源程序、結(jié)果)。五、實(shí)驗(yàn)內(nèi)容及原理開始初始化:SI開始初始化:SI存放數(shù)據(jù)首地址DI存放結(jié)果首地址CX字符串長度AL取一個(gè)字符是大寫字母嗎?ALAL-20HCX-1=0?結(jié)束NYNY存放轉(zhuǎn)換結(jié)果參考流程圖見圖3-2。2、從內(nèi)存中存放的一組無符號(hào)數(shù)中,找出最大的一個(gè),存入相應(yīng)的內(nèi)存單元。六、實(shí)驗(yàn)步驟同實(shí)驗(yàn)一。七、思考題如何通過偽指令計(jì)算內(nèi)存中字節(jié)的個(gè)數(shù)。在實(shí)驗(yàn)內(nèi)容2中,如果尋找的數(shù)為有符號(hào)數(shù),如何修改程序。圖3-2大小寫字母轉(zhuǎn)換的流程圖圖3-2大小寫字母轉(zhuǎn)換的流程圖實(shí)驗(yàn)三DOS功能調(diào)用實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、熟練掌握匯編程序的編輯、編譯、連接、運(yùn)行。2、初步掌握DOS功能調(diào)用的基本方法。3、使用DOS功能調(diào)用顯示程序結(jié)果。二、實(shí)驗(yàn)屬性驗(yàn)證性實(shí)驗(yàn)。三、實(shí)驗(yàn)儀器設(shè)備及器材計(jì)算機(jī)(含有匯編軟件)。四、實(shí)驗(yàn)要求1、實(shí)驗(yàn)前:熟悉實(shí)驗(yàn)內(nèi)容,并按要求將程序編好并寫出預(yù)習(xí)報(bào)告。2、實(shí)驗(yàn)中:要求學(xué)生熟悉掌握DOS功能調(diào)用的步驟,將程序錄入計(jì)算機(jī),經(jīng)匯編、連接、Debug調(diào)試后,運(yùn)行程序,在DOS環(huán)境下觀察實(shí)驗(yàn)結(jié)果。3、實(shí)驗(yàn)后:寫出實(shí)驗(yàn)報(bào)告(包含程序流程圖、源程序、結(jié)果)。大于80分人數(shù)S4+1大于80分人數(shù)S4+1開始初始化:BX地址初值CX循環(huán)值A(chǔ)L[BX]AL≥80?AL≥70?AL≥60?大于60分人數(shù)S2+1小于60分的人數(shù)S1+1地址加1循環(huán)值-1CX=0?結(jié)束大于60分人數(shù)S2+1顯示結(jié)果YNYNYNN1、使用DOS功能調(diào)用,將實(shí)驗(yàn)二中大小寫字母轉(zhuǎn)換的結(jié)果在屏幕上顯示。用鍵盤輸入的方式輸入一串大小寫字母,將其分別轉(zhuǎn)換為大寫、小寫字母并顯示。2、設(shè)有30個(gè)學(xué)生的成績分別為90,75,55,60,63……。試編寫程序分別統(tǒng)計(jì)低于60、6069、7079及80100分學(xué)生人數(shù),并存入到S1、S2、S3、S4,將統(tǒng)計(jì)個(gè)數(shù)分別在CRT上顯示(按十進(jìn)制數(shù)形式進(jìn)行顯示)。參考流程圖見圖3-3。六、實(shí)驗(yàn)步驟參見實(shí)驗(yàn)一。七、思考題分行顯示時(shí),為何要先執(zhí)行回車換行代碼。在實(shí)驗(yàn)內(nèi)容2中,如圖3-3成績統(tǒng)計(jì)程序流程圖果按十六進(jìn)制顯示,程序如何編寫。圖3-3成績統(tǒng)計(jì)程序流程圖實(shí)驗(yàn)四子程序結(jié)構(gòu)設(shè)計(jì)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、熟練掌握匯編程序的編輯、編譯、連接、運(yùn)行。2、進(jìn)一步掌握DOS功能調(diào)用的基本方法。3、掌握子程序結(jié)構(gòu)設(shè)計(jì)思想。二、實(shí)驗(yàn)屬性驗(yàn)證性實(shí)驗(yàn)。三、實(shí)驗(yàn)儀器設(shè)備及器材計(jì)算機(jī)(含有匯編軟件)。四、實(shí)驗(yàn)要求1、實(shí)驗(yàn)前:熟悉實(shí)驗(yàn)內(nèi)容,并按要求將程序編好并寫出預(yù)習(xí)報(bào)告。2、實(shí)驗(yàn)中:學(xué)生熟悉掌握子程序結(jié)構(gòu)設(shè)計(jì)思想,利用所學(xué)指令實(shí)現(xiàn)實(shí)驗(yàn)內(nèi)容要求的程序編寫。并應(yīng)要求在屏幕上顯示。如有錯(cuò)誤,在Debug狀態(tài)下進(jìn)行調(diào)試。3、實(shí)驗(yàn)后:寫出實(shí)驗(yàn)報(bào)告(包含程序流程圖、源程序、結(jié)果)。五、實(shí)驗(yàn)內(nèi)容及原理開始設(shè)置數(shù)據(jù)及結(jié)果單元開始設(shè)置數(shù)據(jù)及結(jié)果單元設(shè)置參數(shù)傳遞單元傳遞參數(shù)a調(diào)用子程序求a平方傳遞參數(shù)b調(diào)用子程序求b平方及累加和傳遞參數(shù)c調(diào)用子程序求c平方及累加和調(diào)用子程序顯示結(jié)果結(jié)束2、求,顯示運(yùn)算結(jié)果(十進(jìn)制形式)。a,b,c是定義在數(shù)據(jù)段中的三個(gè)單字節(jié)的無符號(hào)數(shù),結(jié)果存放在這三個(gè)數(shù)之后,約定占2個(gè)字節(jié)。參考流程圖見圖3-4。六、實(shí)驗(yàn)步驟參見實(shí)驗(yàn)一。七、思考題1、子程序設(shè)計(jì)時(shí),應(yīng)注意哪些問題。2、在實(shí)驗(yàn)內(nèi)容2中,假如運(yùn)算結(jié)果大于字,如何判斷。圖3-4計(jì)算平方和的程序流程圖圖3-4計(jì)算平方和的程序流程圖實(shí)驗(yàn)五學(xué)生成績統(tǒng)計(jì)報(bào)表一、實(shí)驗(yàn)?zāi)康?、熟練掌握匯編程序設(shè)計(jì)方法和各種程序結(jié)構(gòu)的應(yīng)用。2、熟練掌握DOS功能調(diào)用的基本方法及輸入輸出命令。3、熟練掌握、運(yùn)用匯編指令。二、實(shí)驗(yàn)屬性設(shè)計(jì)性實(shí)驗(yàn)。三、實(shí)驗(yàn)儀器設(shè)備及器材計(jì)算機(jī)(含有匯編軟件)。四、實(shí)驗(yàn)要求1、實(shí)驗(yàn)前:熟悉實(shí)驗(yàn)內(nèi)容,并按設(shè)計(jì)內(nèi)容要求將程序編好并寫出預(yù)習(xí)報(bào)告。2、實(shí)驗(yàn)中:利用所學(xué)知識(shí)實(shí)現(xiàn)實(shí)驗(yàn)內(nèi)容要求的程序編寫,在Debug狀態(tài)下進(jìn)行調(diào)試。3、實(shí)驗(yàn)后:寫出實(shí)驗(yàn)報(bào)告(包含程序流程圖、源程序、結(jié)果)。4、如時(shí)間不夠用,可以利用業(yè)余時(shí)間,在開放實(shí)驗(yàn)室內(nèi)進(jìn)行。五、實(shí)驗(yàn)設(shè)計(jì)內(nèi)容:1、設(shè)計(jì)任務(wù):統(tǒng)計(jì)某班學(xué)生某課程成績(成績:0~100分;人數(shù):0~200)2、具體設(shè)計(jì)要求:(1)通過鍵盤輸入班級(jí)、課程、學(xué)生人數(shù)及該班學(xué)生的成績,并能在CRT上顯示每個(gè)學(xué)生的成績;(2)求出最高分、最低分、平均分,均方差及分?jǐn)?shù)分布情況,并在CRT上顯示統(tǒng)計(jì)結(jié)果。提示:D=,。式中,D:方差;:平均值;:期望值;:均方差值;Xi:單個(gè)成績。統(tǒng)計(jì)結(jié)果顯示格式建議如下(僅供參考):Inputthemeritofthisclass:(Xi)Inputthemeritofthisclass:(Xi)XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XX,XXXX,XX,XX,XX,XX…Resultofstatistics:Class,Major,Course,Totalnumber(n)Highscore,Lowscore,Averagescore()Expectvalue(Eξ)=,D=,δ=Meritarrangement:<6060-7070-8080-90>90XXXXXXXXXX六、實(shí)驗(yàn)步驟自定。七、思考題1、如果學(xué)生人數(shù)大于256和某課程成績滿分大于100分時(shí),程序應(yīng)如何處理。2、如何打印輸出統(tǒng)計(jì)的結(jié)果。實(shí)驗(yàn)六8255接口簡單I/O實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、掌握通過8255驅(qū)動(dòng)LED的接口電路設(shè)計(jì)方法。2、掌握8086CPU與接口電路之間信息傳遞方式。3、學(xué)習(xí)編制輸入輸出接口程序的方法。二、實(shí)驗(yàn)屬性驗(yàn)證性實(shí)驗(yàn)。三、實(shí)驗(yàn)儀器設(shè)備及器材計(jì)算機(jī)、微機(jī)原理綜合實(shí)驗(yàn)箱。四、實(shí)驗(yàn)要求1、實(shí)驗(yàn)前:熟悉實(shí)驗(yàn)內(nèi)容,并按要求將程序編好并寫出預(yù)習(xí)報(bào)告。預(yù)習(xí)8255結(jié)構(gòu)及命令字格式。2、實(shí)驗(yàn)中:正確連線,掌握接口電路程序設(shè)計(jì)調(diào)試的方法。3、實(shí)驗(yàn)后:寫出實(shí)驗(yàn)報(bào)告(含程序流程圖、源程序、電路連接圖,實(shí)驗(yàn)結(jié)果分析)。五、實(shí)驗(yàn)內(nèi)容及原理通過8255的PC口經(jīng)74LS245驅(qū)動(dòng)8個(gè)LED發(fā)光二極管:L1~L8,8255的PB口連接按鍵K1~K5。當(dāng)K1鍵按下時(shí),8個(gè)LED同時(shí)發(fā)光;當(dāng)K2鍵按下時(shí),8個(gè)LED同時(shí)熄滅;當(dāng)K3鍵按下時(shí),8個(gè)LED按七暗一亮的狀態(tài)左移循環(huán)發(fā)光;當(dāng)K4鍵按下時(shí),8個(gè)LED按七暗一亮的狀態(tài)右移循環(huán)發(fā)光;當(dāng)K5鍵按下時(shí),返回DOS狀態(tài)。8086CPU根據(jù)按鍵狀態(tài),通過軟件延時(shí)的方法,向外部設(shè)備傳輸信息,使LED左移或右移循環(huán)發(fā)光。電路圖見圖3-5。圖3-5通過8255驅(qū)動(dòng)LED的接口電路原理圖圖3-5通過8255驅(qū)動(dòng)LED的接口電路原理圖六、實(shí)驗(yàn)步驟1、打開實(shí)驗(yàn)箱,連結(jié)PC機(jī)、微機(jī)綜合實(shí)驗(yàn)箱的通訊線;2、根據(jù)自己設(shè)計(jì)的電路連接8255與LED發(fā)光二極管(74LS245的輸入端)及按鍵的連線;3、打開PC機(jī)電源,通過編輯軟件輸入源程序;4、軟件匯編調(diào)試無誤后,將程序加載到實(shí)驗(yàn)箱中;5、在微機(jī)原理綜合實(shí)驗(yàn)箱上調(diào)試程序;6、根據(jù)按鍵,觀察LED發(fā)光二極管的發(fā)光狀態(tài);7、實(shí)驗(yàn)結(jié)束后,關(guān)閉實(shí)驗(yàn)箱電源,拆除并整理好連線。七、思考題 1、8255有幾個(gè)端口,怎樣進(jìn)行端口訪問。 2、各端口的工作模式有哪幾種。實(shí)驗(yàn)七8255接口模擬交通燈實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、掌握輸入輸出控制電路的設(shè)計(jì)方法。2、深入理解8086CPU與接口電路之間信息傳遞方式。3、進(jìn)一步學(xué)習(xí)編制數(shù)據(jù)輸入輸出的方法。4、學(xué)習(xí)雙色燈的使用。二、實(shí)驗(yàn)屬性綜合性實(shí)驗(yàn)。本實(shí)驗(yàn)綜合了程序設(shè)計(jì)(判斷轉(zhuǎn)移、輸入輸出控制、延時(shí)子程序等)、可編程輸入輸出接口與輸入輸出外部設(shè)備的電路設(shè)計(jì)。三、實(shí)驗(yàn)儀器設(shè)備及器材計(jì)算機(jī)、微機(jī)原理綜合實(shí)驗(yàn)箱。四、實(shí)驗(yàn)要求1、實(shí)驗(yàn)前:熟悉實(shí)驗(yàn)內(nèi)容,并按要求將程序編好并寫出預(yù)習(xí)報(bào)告。預(yù)習(xí)8255結(jié)構(gòu)及命令字格式。2、實(shí)驗(yàn)中:正確連線,掌握接口電路程序設(shè)計(jì)調(diào)試的方法。3、實(shí)驗(yàn)后:寫出實(shí)驗(yàn)報(bào)告(包含程序流程圖、源程序、電路連接圖,實(shí)驗(yàn)結(jié)果分析)。五、實(shí)驗(yàn)內(nèi)容及原理:(一)以8255作為輸出/輸入口,通過驅(qū)動(dòng)電路控制4個(gè)雙色LED(紅、綠、),模擬十字路口交通信號(hào)燈的控制。通過開關(guān)改變南北方向或東西方向的通行時(shí)間,并具有四方向黃燈同時(shí)閃爍的功能。(二)本實(shí)驗(yàn)是模擬交通燈控制,要了解實(shí)際交通燈的變化規(guī)律。1、十字路口為東西、南北走向。初始狀態(tài)0:為東西紅燈,南北紅燈,全部禁行。然后轉(zhuǎn)運(yùn)行狀態(tài)。運(yùn)行狀態(tài)分為狀態(tài)1~狀態(tài)4,循環(huán)執(zhí)行。狀態(tài)1:南北通行綠燈亮,東西禁行紅燈亮;調(diào)用延時(shí)軟件一,延時(shí)后轉(zhuǎn)入狀態(tài)2;狀態(tài)2:南北通行狀態(tài)結(jié)束,綠燈閃爍幾次轉(zhuǎn)亮黃燈;調(diào)用延時(shí)軟件二,延時(shí)后轉(zhuǎn)入狀態(tài)3,此時(shí)東西向仍為紅燈禁行;狀態(tài)3:東西通行綠燈亮,南北禁行紅燈亮;調(diào)用延時(shí)軟件一,延時(shí)后轉(zhuǎn)入狀態(tài)4;狀態(tài)4:東西通行狀態(tài)結(jié)束,綠燈閃爍幾次轉(zhuǎn)亮黃燈;調(diào)用延時(shí)軟件二,延時(shí)后轉(zhuǎn)入狀態(tài)1,此時(shí)南北向仍為紅燈禁行。注:雙色LED由一個(gè)紅色LED管芯和一個(gè)綠色LED管芯封裝在一起,陰極為共用端:(1)紅色陽極加高電平,綠色陽極加低電平時(shí),紅燈亮。綠色陽極加高電平,紅色陽極加低電平時(shí),綠燈亮。(2)紅色、綠色陽極同時(shí)加高電平,顯示黃燈。(3)雙色LED電路原理圖見圖3-6。2、選作部分:可根據(jù)設(shè)置的開關(guān)狀態(tài)改變延時(shí)軟件一的延時(shí)常數(shù),使南北或東西方向具有不同的通行時(shí)間;也可根據(jù)設(shè)置的開關(guān)狀態(tài)進(jìn)入四方向黃燈同時(shí)閃爍的緩行狀態(tài)。六、實(shí)驗(yàn)步驟:1、打開實(shí)驗(yàn)箱,連結(jié)PC機(jī)微機(jī)原理綜合實(shí)驗(yàn)箱的通訊線;2、根據(jù)自己設(shè)計(jì)的電路連接8255與雙色燈驅(qū)動(dòng)電路及開關(guān)的連線;3、打開PC機(jī)電源,通過編輯軟件輸入源程序;4、軟件匯編調(diào)試無誤后,將程序加載到實(shí)驗(yàn)箱中;5、在微機(jī)原理綜合實(shí)驗(yàn)箱上通過調(diào)試程序;6、觀察各方向信號(hào)燈的變化情況,改變延時(shí)程序的延時(shí)時(shí)間常數(shù),使其符合交通信號(hào)燈的變化規(guī)律。7、改變不同開關(guān)的狀態(tài),觀察是否符合設(shè)計(jì)要求。8、實(shí)驗(yàn)結(jié)束后,關(guān)閉實(shí)驗(yàn)箱電源,拆除并整理好連線。七、思考題: 1、把雙色的LED變成單色的LED(紅、黃、綠),電路如何連接,控制程序如何改變。 2、是否可以通過鍵盤輸入?yún)?shù)控制交通燈的閃爍時(shí)間。紅紅共陰端綠圖3-6雙色LED電路原理圖圖3-6雙色LED電路原理圖實(shí)驗(yàn)八8253接口分頻器實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、熟練掌握8253接口電路的應(yīng)用。2、了解8253的工作模式,掌握其編程方法。3、了解8253定時(shí)器的硬件連接及時(shí)序關(guān)系。二、實(shí)驗(yàn)屬性驗(yàn)證性實(shí)驗(yàn)。三、實(shí)驗(yàn)儀器設(shè)備及器材計(jì)算機(jī)、微機(jī)原理綜合實(shí)驗(yàn)箱。四、實(shí)驗(yàn)要求1、實(shí)驗(yàn)前:預(yù)習(xí)8253工作模式命令字格式,熟悉實(shí)驗(yàn)內(nèi)容,按要求編寫好實(shí)驗(yàn)程序,寫出預(yù)習(xí)報(bào)告。2、實(shí)驗(yàn)中:正確連線,掌握接口電路程序設(shè)計(jì)調(diào)試的方法,注意觀察實(shí)驗(yàn)現(xiàn)象。3、實(shí)驗(yàn)后:寫出實(shí)驗(yàn)報(bào)告(包含程序流程圖、源程序、電路連接圖,實(shí)驗(yàn)結(jié)果分析,畫出時(shí)序關(guān)系圖)。五、實(shí)驗(yàn)內(nèi)容及原理編程初始化8253,其設(shè)置為:定時(shí)器0工作在方式3(方波)的狀態(tài),定時(shí)器1工作在方式2(分頻)的狀態(tài)。1、定時(shí)器0輸出的脈沖作為定時(shí)器1的時(shí)鐘輸入;定時(shí)器1輸出的脈沖作為定時(shí)器2的時(shí)鐘輸入。2、用示波器觀察(可用LED指示燈代替)定時(shí)器0和定時(shí)器1的輸出引腳之間的波形關(guān)系。3、8253的工作頻率不超過2MHz,輸入的CLK頻率須在2MHz以下。開始關(guān)中斷開始關(guān)中斷置定時(shí)器0為方式3送初值為200H置定時(shí)器1為方式2送初值為0AH置定時(shí)器2為方式2送初值為0AH返回DOS后再作為8253的CLK輸入。將波特率開關(guān)撥至9600,然后從開關(guān)邊上的f插孔引出接到8253的CLK0輸入端。六、實(shí)驗(yàn)步驟參見實(shí)驗(yàn)六。七、思考題1、8253定時(shí)計(jì)數(shù)器有哪幾種方式,各有什么特點(diǎn)。2、8253工作于計(jì)數(shù)狀態(tài)時(shí),輸入的脈沖頻率有什么要求。注:8253中GATE0、GATE1、GATE2接+5V,CLK0接波特率開關(guān)旁的f插孔,見實(shí)驗(yàn)箱中的標(biāo)注,OUT0接CLK1,OUT1接CLK2,CS接200-207孔。圖3-78253初始化編程流程圖圖3-78253初始化編程流程圖實(shí)驗(yàn)九電子鐘設(shè)計(jì)與實(shí)現(xiàn)一、實(shí)驗(yàn)?zāi)康?、熟練掌握8255A、8253等接口電路設(shè)計(jì)及編程方法。2、熟練掌握匯編語言程序設(shè)計(jì)方法。3、學(xué)習(xí)動(dòng)態(tài)顯示、鍵盤輸入等外設(shè)的實(shí)現(xiàn)方法。二、實(shí)驗(yàn)屬性設(shè)計(jì)性實(shí)驗(yàn)。三、實(shí)驗(yàn)儀器設(shè)備及器材計(jì)算機(jī)、微機(jī)原理綜合實(shí)驗(yàn)箱、萬用表、自制的實(shí)驗(yàn)板和若干電子元件。四、實(shí)驗(yàn)要求1、實(shí)驗(yàn)前:熟悉實(shí)驗(yàn)設(shè)計(jì)內(nèi)容,并按要求設(shè)計(jì)相應(yīng)的硬件接口電路,將編寫實(shí)驗(yàn)程序并寫出預(yù)習(xí)報(bào)告。預(yù)習(xí)8255A、8253的硬件結(jié)構(gòu)及讀寫控制邏輯、動(dòng)態(tài)顯示、鍵盤輸入等外設(shè)的實(shí)現(xiàn)方法、定時(shí)器的使用的方法。2、實(shí)驗(yàn)中:正確連線,掌握接口電路及程序設(shè)計(jì)調(diào)試的方法。3、實(shí)驗(yàn)后:寫出實(shí)驗(yàn)報(bào)告(包含程序流程圖、源程序、硬件電路圖,結(jié)果分析)。五、實(shí)驗(yàn)內(nèi)容及原理1、設(shè)計(jì)任務(wù):利用8253的定時(shí)功能,設(shè)計(jì)一個(gè)電子鐘,通過8255A驅(qū)動(dòng)八段LED實(shí)時(shí)顯示年、月、日,時(shí)、分、秒。2、具體設(shè)計(jì)要求如下:(1)日期/時(shí)間初值可以通過鍵盤設(shè)置、修改;(2)日期/時(shí)間可以通過按鍵切換顯示;(3)秒時(shí)鐘每秒更新一次(4)顯示格式建議如下(僅供參考):顯示日期格式:07-12-30顯示時(shí)間格式:18:23:54六、實(shí)驗(yàn)步驟自定七、實(shí)驗(yàn)電路結(jié)構(gòu)參考圖8255A8255A八位LED鍵盤連接插座實(shí)驗(yàn)箱圖3-8實(shí)驗(yàn)電路結(jié)構(gòu)示意圖圖3-8實(shí)驗(yàn)電路結(jié)構(gòu)示意圖八、思考題1、閏月如何判斷。2、不用接口芯片,使用純軟件如何在CRT上顯示日期/時(shí)間。實(shí)驗(yàn)十8251可編程串行口通訊實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、掌握8251芯片結(jié)構(gòu)、原理及應(yīng)用程序的設(shè)計(jì)方法。2、了解實(shí)現(xiàn)串行通訊的硬件環(huán)境,數(shù)據(jù)格式的協(xié)議,數(shù)據(jù)交換的協(xié)議。3、了解PC機(jī)通訊程序的設(shè)計(jì)方法。二、實(shí)驗(yàn)屬性驗(yàn)證性實(shí)驗(yàn)。三、實(shí)驗(yàn)儀器設(shè)備及器材計(jì)算機(jī)、微機(jī)原理綜合實(shí)驗(yàn)箱,串行通訊調(diào)試助手軟件。四、實(shí)驗(yàn)要求1、實(shí)驗(yàn)前:預(yù)習(xí)8251工作方式和命令字格式,熟悉實(shí)驗(yàn)內(nèi)容,按要求設(shè)計(jì)程序流程圖,編寫好實(shí)驗(yàn)程序,寫出預(yù)習(xí)報(bào)告。2、實(shí)驗(yàn)中:正確連線,掌握接口電路程序設(shè)計(jì)調(diào)試的方法,注意觀察實(shí)驗(yàn)現(xiàn)象。3、實(shí)驗(yàn)后:寫出實(shí)驗(yàn)報(bào)告(包含程序流程圖、源程序、電路連接圖,結(jié)果分析,)。五、實(shí)驗(yàn)內(nèi)容及原理CS連228H~22FH。用RS-232通訊電纜接至實(shí)驗(yàn)箱的9芯通訊插座,另一端接至另一臺(tái)PC機(jī)的串行通訊接口,該P(yáng)C機(jī)使用串行通訊調(diào)試助手軟件,實(shí)現(xiàn)終端仿真。N初始化8251N初始化8251設(shè)置通訊格式設(shè)置為請(qǐng)求發(fā)送、允許發(fā)送、允許接收讀接收緩存器數(shù)據(jù)并顯示發(fā)送鍵值返回DOS開始是結(jié)束標(biāo)志是結(jié)束標(biāo)志有鍵按下接收串口數(shù)據(jù)允許發(fā)送NYNNYYNY六、實(shí)驗(yàn)步驟參見實(shí)驗(yàn)六。七、思考1、8251實(shí)現(xiàn)串行通信時(shí),波特率怎么設(shè)置。2、在無MODEM下,兩個(gè)8251實(shí)現(xiàn)串行通信時(shí),硬件電路如何連接。圖3-98251通訊程序參考流程圖圖3-98251通訊程序參考流程圖實(shí)驗(yàn)十一多路A/D轉(zhuǎn)換實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、掌握A/D轉(zhuǎn)換與計(jì)算機(jī)的接口方法。2、掌握A/D芯片片ADC0809轉(zhuǎn)換性能及編程方法。3、通過實(shí)驗(yàn)了解計(jì)算機(jī)如何進(jìn)行數(shù)據(jù)采集。4、進(jìn)一步加深理解CPU與外設(shè)進(jìn)行數(shù)據(jù)交換的方式。5、進(jìn)一步熟悉8086匯編語言程序設(shè)計(jì)方式。二、實(shí)驗(yàn)屬性綜合性實(shí)驗(yàn)。本實(shí)驗(yàn)綜合了可編程接口及AD轉(zhuǎn)換電路的硬件設(shè)計(jì)和程序設(shè)計(jì)(數(shù)制轉(zhuǎn)換、判斷轉(zhuǎn)移、DOS系統(tǒng)功能調(diào)用、輸入輸出控制、中斷服務(wù)子程序等)。三、實(shí)驗(yàn)儀器設(shè)備及器材計(jì)算機(jī)、微機(jī)原理綜合實(shí)驗(yàn)箱、萬用表四、實(shí)驗(yàn)要求1、實(shí)驗(yàn)前:熟悉實(shí)驗(yàn)內(nèi)容,按要求將程序編好并寫出預(yù)習(xí)報(bào)告。預(yù)習(xí)ADC0809的硬件結(jié)構(gòu)及讀寫控制邏輯、轉(zhuǎn)換原理、讀取轉(zhuǎn)換結(jié)果的方法。2、實(shí)驗(yàn)中:正確連線,掌握接口電路程序設(shè)計(jì)調(diào)試的方法。3、實(shí)驗(yàn)后:寫出實(shí)驗(yàn)報(bào)告(包含程序流程圖、源程序、電路連接圖,結(jié)果分析)。五、實(shí)驗(yàn)內(nèi)容及原理內(nèi)容:1、利用CRT顯示ADC0809轉(zhuǎn)換的數(shù)字電壓值。(1)設(shè)計(jì)ADC0809轉(zhuǎn)換器與計(jì)算機(jī)的接口電路。(2)通過兩個(gè)按鍵開關(guān)(K1、K2),用于選擇ADC0809的通道一或通道二,當(dāng)按下K1鍵或K2鍵,分別將ADC0809通道一或通道二輸入的模擬電壓進(jìn)行轉(zhuǎn)換,并將轉(zhuǎn)換的結(jié)果在CRT上顯示出來,顯示格式為十進(jìn)制數(shù)的形式。(3)按照自己設(shè)計(jì)的硬件電路,編寫程序,并通過微機(jī)原理綜合實(shí)驗(yàn)箱進(jìn)行調(diào)試。2、用八段LED數(shù)碼管顯示ADC0809轉(zhuǎn)換的數(shù)字電壓值(選做)。(1)設(shè)計(jì)ADC0809轉(zhuǎn)換器與計(jì)算機(jī)的接口電路。(2)通過兩個(gè)按鍵開關(guān)(K1、K2),用于選擇ADC0809的通道一或通道二,當(dāng)按下K1鍵或K2鍵,分別將ADC0809通道一或通道二輸入的模擬電壓進(jìn)行轉(zhuǎn)換,并將轉(zhuǎn)換的結(jié)果通過八段LED數(shù)碼管顯示出來,顯示格式為十進(jìn)制數(shù)的形式。原理:1、可采用中斷、查詢或軟件延時(shí)方式,對(duì)ADC0809的轉(zhuǎn)換結(jié)果進(jìn)行讀取。2、將讀取的轉(zhuǎn)換結(jié)果先轉(zhuǎn)換成BCD碼,然后再將BCD碼轉(zhuǎn)換成ASCII碼。利用DOS系統(tǒng)功能調(diào)用,將結(jié)果在PC機(jī)屏幕上顯示出。3、使用電位器分壓的方法,得到雙路ADC輸入的電壓值(小于5V)。4、也可利用并行接口芯片(8279或8255)驅(qū)動(dòng)八段碼LED數(shù)碼管,利用動(dòng)態(tài)掃描顯示方式,將得到的結(jié)果進(jìn)行顯示。要求按照自己設(shè)計(jì)的硬件電路,編寫程序,并通過微機(jī)原理綜合實(shí)驗(yàn)箱進(jìn)行調(diào)試。六.實(shí)驗(yàn)步驟參見實(shí)驗(yàn)六七.實(shí)驗(yàn)電路及注意要點(diǎn)1、實(shí)驗(yàn)電路圖見圖3-10。圖3-10ADC0809實(shí)驗(yàn)電路接線圖圖3-10ADC0809實(shí)驗(yàn)電路接線圖2、注意要點(diǎn)A/D轉(zhuǎn)換器大致有三類:①雙積分A/D轉(zhuǎn)換器,優(yōu)點(diǎn)是精度高,抗干擾性好,價(jià)格便宜,但速度慢;②逐次逼近法A/D轉(zhuǎn)換器,精度、速度及價(jià)格適中;③并行A/D轉(zhuǎn)換器,速度快,但價(jià)格較高。實(shí)驗(yàn)用的ADC0809屬于第二類,為八位A/D轉(zhuǎn)換器,轉(zhuǎn)換時(shí)間為100us左右,其時(shí)鐘頻率小于500KHz。對(duì)0809ADC的轉(zhuǎn)換結(jié)果,可以采用三種方式讀取:(1)通過中斷的方式,EOC引腳連接8259的IRQ2上;(2)通過查詢方式,EOC引腳連接8255的任一個(gè)I/O端口;(3)通過軟件延時(shí)方式,延時(shí)100us,EOC引腳可懸空不用。電位器Wl、W2中心抽頭接IN0、IN1。電位器兩端已經(jīng)接好,不需再接,以防止電源與地之間出現(xiàn)短路。若PC機(jī)中斷源全部被系統(tǒng)占用,通過IRQ2不會(huì)產(chǎn)生中斷響應(yīng)。此時(shí)不能通過中斷方式得到ADC0809轉(zhuǎn)換結(jié)束信號(hào)EOC。八、思考題CPU與外設(shè)交換信息的方式有哪幾種。如何通過程序改變某種中斷號(hào)的中斷向量。如果把ADC0809的A、B、C分別連接到數(shù)據(jù)線的D0、D1、D2,此時(shí)如何啟動(dòng)某通道進(jìn)行A/D轉(zhuǎn)換。第四章附錄附錄AHKZK8688TE實(shí)驗(yàn)機(jī)在串行監(jiān)控配置方式下安裝和啟動(dòng)一、系統(tǒng)安裝示意圖圖4-1串行監(jiān)控配置方式圖4-1串行監(jiān)控配置方式串行監(jiān)控配置方式是利用微機(jī)向?qū)嶒?yàn)機(jī)發(fā)送串行監(jiān)控命令,實(shí)驗(yàn)機(jī)上的微處理器8088根據(jù)監(jiān)控命令做相應(yīng)的動(dòng)作。在該配置方式下,實(shí)驗(yàn)時(shí)用到的微處理器是實(shí)驗(yàn)機(jī)上的微處理器。二、開關(guān)和連線設(shè)置1、用40芯短電纜將實(shí)驗(yàn)箱上的J2和J3插座連接起來,用RS-232串行通訊電纜將微機(jī)的串行通訊口1或串行通訊口2與實(shí)驗(yàn)箱右邊9芯插座J4連接起來,J1插座為空。短路套JP0~JP4插入RAM側(cè),JP5插入HKZK側(cè):K10接上短路套,K11,K12撥至RAM側(cè)。在J5上插上外接電源電纜插頭(注意插入方向),電源開關(guān)K13撥至左端,用外接電源供電。每打開電源上電后,實(shí)驗(yàn)機(jī)數(shù)碼管上將顯示:HKZK8688。三、系統(tǒng)運(yùn)行打開PC機(jī),進(jìn)入WINDOWS環(huán)境下,執(zhí)行HK88TE,實(shí)驗(yàn)機(jī)數(shù)碼管顯示:8688,表示連機(jī)成功。此時(shí)便可在串行方式下,加載程序到實(shí)驗(yàn)機(jī)上,進(jìn)行運(yùn)行,并且可以進(jìn)行設(shè)置斷點(diǎn)、單步/跟蹤運(yùn)行等調(diào)試功能。附錄B運(yùn)行匯編語言源程序的過程由于匯編語言的固有特點(diǎn),實(shí)踐環(huán)節(jié)尤為重要,上機(jī)實(shí)驗(yàn)是快速掌握匯編語言程序設(shè)計(jì)的重要方法。本書的匯編語言實(shí)踐環(huán)境基于DOS平臺(tái)。編制好的匯編語言源程序,若要上機(jī)運(yùn)行,必須經(jīng)過如圖4-2所示的幾個(gè)步驟:圖4-2匯編語言程序的建立過程圖4-2匯編語言程序的建立過程①調(diào)用EDIT編輯程序建立和修改匯編語言源程序。②匯編語言源程序文件必須經(jīng)過匯編,變?yōu)闄C(jī)器碼的目標(biāo)文件。③經(jīng)過連接,把程序的各個(gè)模塊連接在一起,形成可執(zhí)行文件。④運(yùn)行可執(zhí)行文件。通常,一個(gè)較復(fù)雜得匯編語言源程序,不出現(xiàn)一點(diǎn)錯(cuò)誤是不太可能的。如果發(fā)現(xiàn)運(yùn)行錯(cuò)誤,可以使用DEBUG跟蹤調(diào)試程序動(dòng)態(tài)調(diào)試可執(zhí)行文件,檢查出錯(cuò)誤后,再使用EDIT編輯程序?qū)R編語言源程序進(jìn)行修改,然后再次進(jìn)行匯編、連接、運(yùn)行程序,直至程序運(yùn)行正確為止。下面對(duì)編輯、匯編、連接、運(yùn)行和調(diào)試程序的使用過程作簡要介紹。一、編輯使用EDIT編輯程序建立和編輯匯編語言源程序。啟動(dòng)EDIT的常用命令格式是:>EDIT文件名.ASM;文件名可選,“”表示按回車鍵,帶有下劃線的字符均為鍵盤輸入,下同。如果啟動(dòng)時(shí)不帶文件名,且該文件存在,則啟動(dòng)后可以選擇File菜單中的Open命令打開該文件,然后對(duì)其編輯,最后選擇Save命令保存該文件。如果是新文件,可以直接輸入該文件名,然后選擇File菜單中的SaveAs命令保存。如果啟動(dòng)時(shí)帶有文件名,即把已存在的文件調(diào)入。如果該文件不存在,則啟動(dòng)后即建立一個(gè)新文件,可在該新文件名下輸入?yún)R編語言源程序。對(duì)于匯編語言源程序,其文件的擴(kuò)展名必須是.ASM。在EDIT下,源程序以ASCII字符的形式存放在內(nèi)存緩沖區(qū)中。若輸入過程有錯(cuò),可以利用EDIT的命令對(duì)輸入文件進(jìn)行修改,若源程序在匯編過程或運(yùn)行過程中發(fā)現(xiàn)有錯(cuò),則也可用EDIT命令對(duì)源文件進(jìn)行修改,這樣,在盤上就有了源文件和它的備份文件。編輯完成后,必須選擇File菜單中的Save或SaveAs命令,將該文件保存到指定得目錄(文件夾)中。然后選擇File菜單中的Exit命令退出EDIT。二、匯編匯編語言源程序經(jīng)過匯編后才可以生成目標(biāo)程序,這個(gè)過程由匯編程序?qū)崿F(xiàn)。匯編程序的基本功能是將用匯編語言編寫的源程序翻譯成機(jī)器語言的目標(biāo)代碼,還提供生成用戶的宏指令、檢查用戶源程序中的錯(cuò)誤、生成源程序語句和目標(biāo)程序語句的列表等功能。為了適應(yīng)編制多模塊的大程序和調(diào)用MS-DOS支持下的公共子程序的需要,匯編以后的目標(biāo)程序中的地址部分是可浮動(dòng)的相對(duì)地址,而不是可執(zhí)行的絕對(duì)地址。在DOS平臺(tái)上使用較普遍的匯編程序是MS-DOS的宏匯編(MACROassembler)MASM。匯編程序在匯編后于盤上建立三個(gè)文件,如圖4-3所示。源文件(.ASM)源文件(.ASM)匯編程序MASM.EXE列表文件(.LST)目標(biāo)文件(.OBJ)交叉索引文件(.CRF)圖4-3匯編程序的輸入/輸出文件第2個(gè)是擴(kuò)展名為.OBJ的目標(biāo)程序。在此程序中,操作碼部分己變?yōu)闄C(jī)器碼,但地址操作數(shù)只是一個(gè)可浮動(dòng)的相對(duì)地址,而不是在內(nèi)存中的絕對(duì)地址。第3個(gè)是擴(kuò)展名為.CRF的交叉索引文件,可以對(duì)符號(hào)(symbol)進(jìn)行前后對(duì)照。在匯編時(shí),首先在DOS提示符下鍵入masm命令。匯編程序會(huì)對(duì)要不要建立上述三個(gè)文件,以及要建立時(shí)的文件名進(jìn)行提問。以源程序exam.asm為例,屏幕顯示如下:注意在顯示中凡用斜體書寫的內(nèi)容是用戶從鍵盤輸入的。在調(diào)入?yún)R編程序后,先顯示版本號(hào)、版權(quán)信息,然后出現(xiàn)第一行提示,詢問要匯編的源文件名。在用戶輸入文件名(在鍵入源文件名后可省去擴(kuò)展名.ASM)后回車,則出現(xiàn)第二個(gè)提示,詢問目標(biāo)程序的文件名,括號(hào)中的顯示為機(jī)器由輸入的源文件名導(dǎo)出的默認(rèn)文件名。通常直接按回車鍵,表示采用默認(rèn);接著出現(xiàn)第三個(gè)提示,詢問是否要建立列表文件(默認(rèn)為空),需要?jiǎng)t鍵入文件名;最后發(fā)出第四個(gè)提示,詢問是否要建立交叉索引文件(默認(rèn)為空),若要?jiǎng)t鍵入文件名。在回答了第四個(gè)詢問后,匯編程序就對(duì)源程序進(jìn)行匯編。若匯編過程中發(fā)現(xiàn)源程序中有語法錯(cuò)誤,則給出錯(cuò)誤的行號(hào)和錯(cuò)誤信息提示,最后列出警告錯(cuò)誤數(shù)及嚴(yán)重錯(cuò)誤數(shù)。此時(shí),要根據(jù)給出錯(cuò)誤的行號(hào)和錯(cuò)誤信息提示,分析錯(cuò)誤后,再進(jìn)入EDIT編輯器加以修改,改正后重新匯編,直至匯編后無錯(cuò)誤為止。也可以用命令行的形式按順序?qū)λ膫€(gè)提示予以回答,其格式是:>MASM源文件名,目標(biāo)文件名,列表文件名,交叉索引文件名;其中都不必給出擴(kuò)展名,匯編程序會(huì)按照默認(rèn)情況使用或產(chǎn)生。若只想對(duì)部分提示給出回答,則在相應(yīng)位置用逗號(hào)隔開;若不想對(duì)剩余部分作答,則用分號(hào)結(jié)束。例如以下命令行與前邊的分行回答等效。>MASMexam,exam,exam,exam;匯編后建立的.LST文件,可用于顯示或打印,以了解匯編后的情況。三、連接程序被匯編通過后,需要經(jīng)過連接才能執(zhí)行。連接程序的功能是連接分別產(chǎn)生的目標(biāo)模塊,把相對(duì)地址變?yōu)榻^對(duì)地址。連接是由MS-DOS下的LINK程序?qū)崿F(xiàn)的,LINK程序的輸入文件和輸出文件如圖4-4所示。目標(biāo)碼文件目標(biāo)碼文件.OBJ.OBJ庫文件.OBJ.OBJ.LIB連接程序LINK.EXE.EXE.MAP可執(zhí)行文件內(nèi)存分配文件++…………目標(biāo)碼文件圖4-4LINK程序的輸入/輸出文件啟動(dòng)LINK程序有二種方式;提問方式和命令行方式,假設(shè)目標(biāo)碼文件、連接程序都在同一目錄下。1、提問方式:在DOS提示符>下鍵入LINK命令,如下:>LINK就以提問方式啟動(dòng)了LINK程序。在顯示版本信息后,依次提出4個(gè)問題,以Prag.OBJ為被連接的目標(biāo)文件:EE第1行詢問被連接的各目標(biāo)碼文件名(隱含的擴(kuò)展名為.OBJ)。當(dāng)鍵入不止一個(gè)文件名時(shí),中間以“+”(加號(hào))相連,最后按回車鍵。第2行詢問連接產(chǎn)生的可執(zhí)行文件名,方括號(hào)內(nèi)為默認(rèn)值。第3行詢問連接產(chǎn)生的內(nèi)存分配圖文件名,默認(rèn)情況表示不產(chǎn)生內(nèi)存分配圖文件。第4行詢問欲連接的庫文件名,也可能是多個(gè),若無庫文件連接則鍵入回車鍵即可?;卮鹜?個(gè)問題,LINK程序開始工作。2、命令行方式格式如下:>LINK目標(biāo)文件名,執(zhí)行文件名,內(nèi)存分配圖文件名,庫文件名;其中都不必給出擴(kuò)展名,LINK程序會(huì)按照默認(rèn)情況使用。若只想對(duì)部分提示給出回答,則在相應(yīng)位置用逗號(hào)隔開;若不想對(duì)剩余部分作答,則用分號(hào)結(jié)束。例如以下命令行與前邊的分行回答等效:>LINKProg,,,Prog;也可用簡短命令:>LINKProg;使用該命令時(shí),若以分號(hào)結(jié)尾,則不顯示提問,直接執(zhí)行連接任務(wù)。經(jīng)過連接后的文件就可以直接運(yùn)行了。而連接后,若已要求產(chǎn)生內(nèi)存分配圖文件(MAP),則可用TYPE命令將其打印出來,該文件提供了各段的名字、起始地址和長度,以及程序入口地址。例如:在DOS環(huán)境下編寫一段程序:>EDITEX1.ASM進(jìn)人編輯狀態(tài)后,輸人下列程序:存盤退出EDIT狀態(tài),匯編:>MASMEX1.ASM連接:>LINKEX1.OBJ匯編和連接后,生成EXl.EXE執(zhí)行文件。即可在DOS狀態(tài)下直接運(yùn)行該程序。四、運(yùn)行經(jīng)過了上述過程,在盤上有了可執(zhí)行文件,則可在DOS的提示符下,直接鍵入文件名而不需要擴(kuò)展名EXE或COM,MS-DOS系統(tǒng)把可執(zhí)行文件從盤上調(diào)入內(nèi)存,且立即執(zhí)行此程序。如在D盤MAS50子目錄下存在EXl.EXE執(zhí)行文件,可在該子目錄下直接運(yùn)行該程序,如:D:\MAS50>EX1.EXE若在程序中,有向CRT輸出結(jié)果的語句,則結(jié)果就會(huì)顯示在CRT上(也可在打印機(jī)上打印硬拷貝)。五、調(diào)試通常,希望一個(gè)較復(fù)雜、較長、用匯編語言編寫的源程序一點(diǎn)錯(cuò)誤也沒有,一次通過的可能性是很小的。這樣就需要調(diào)用MS-DOS支持下的動(dòng)態(tài)排錯(cuò)程序DEBUG調(diào)試目標(biāo)程序。DEBUG是一種使用廣泛的強(qiáng)有力的匯編語言程序或二進(jìn)制文件的調(diào)試工具。在DEBUG的管理下,可以單步執(zhí)行程序,也可以在程序中設(shè)置斷點(diǎn),可以顯示和修改指定的內(nèi)存單元和區(qū)域的內(nèi)容,也可以顯示和修改CPU內(nèi)部寄存器和標(biāo)志位的內(nèi)容。這樣將便于尋找程序中的錯(cuò)誤,有關(guān)DEBUG的使用,請(qǐng)參閱附錄C。附錄C調(diào)試程序DEBUG的使用說明一、DEBUG程序的調(diào)用在DOS提示符下,調(diào)用DEBUG。(本附錄中,帶有下劃線的字符均為鍵盤輸入)如在D盤MAS50子目錄下存在EXl.EXE執(zhí)行文件,用戶鍵入了文件名,則DEBUG將指定的文件裝入內(nèi)存中,可對(duì)其進(jìn)行調(diào)試,如:D:\MAS50>DEBUGEX1.EXE在調(diào)用DEBUG程序后,將出現(xiàn)提示符“_”,表示已進(jìn)入DEBUG此時(shí)就可以調(diào)試程序了。如果未鍵入文件名,則可以用MAS50子目錄下存在的可執(zhí)行文件,用DEBUG的N命令和L命令把需要的文件調(diào)入后再進(jìn)行調(diào)試。DEBUG狀態(tài)下:_NABC.EXE_L二、DEBUG程序?qū)拇嫫骱蜆?biāo)志位的初始化在調(diào)入DEBUG程序后,它把各寄存器和標(biāo)志位置成以下狀態(tài):1、段寄存器(CS,DS,ES和SS)置于自由存儲(chǔ)空間的底部,也就是DEBUG程序結(jié)束以后的第一個(gè)段。2、指令指針(IP)置為0100H。3、堆棧指針置于段的結(jié)尾處或裝入程序的臨時(shí)底部,取決于哪一個(gè)更低。4、余下的AX,BX,CX,DX,BP,SI和DI置為0。5、標(biāo)志位都置為清除狀態(tài)。注意:若由DEBUG調(diào)入的程序具有擴(kuò)展名.EXE,則DEBUG必須進(jìn)行再分配,把段寄存器、堆找指針置為程序中所規(guī)定的值。三、DEBUG的主要命令1、DEBUG命令的有關(guān)規(guī)定(1)DEBUG命令都是單字母命令,后面跟著一個(gè)或多個(gè)有關(guān)參數(shù)。多個(gè)操作參數(shù)之間用“,”或空格隔開。(2)鍵入DEBUG命令后必須接著按ENTER鍵命令才有效。(3)參數(shù)中的地址和數(shù)據(jù),均用十六進(jìn)制取表示,但十六進(jìn)制數(shù)據(jù)后面不要用“H”。(4)可以用Ctrl-Break鍵來停止一個(gè)命令的執(zhí)行,返回到DEBUG的提示符“_”下。(5)用Ctrl-NumLock鍵中止正在上卷的輸出行,再通過按任意鍵繼續(xù)輸出信息。2、DEBUG命令格式(1)匯編命令A(yù)格式:①A[段寄存器名:偏移地址]②A[段地址:偏移地址]③A[偏移地址]④A功能:用該命令可以將匯編語言程序直接匯編后出入指定或默認(rèn)的內(nèi)存中。當(dāng)鍵入A命令后,顯示段地址和偏移地址等待用戶鍵入?yún)R編指令。每鍵入一條匯編指令回車后,自動(dòng)顯示下一條指令的段地址和偏移地址,再鍵入下一條匯編指令,直到匯編語言程序全部鍵入,又顯示下一條地址時(shí)可直接鍵入回車返回到提示符“一”為止。其中①的段地址在段地址寄存器中,因此在使用該命令時(shí)自動(dòng)將給出的段寄存器名中的段地址送入CS段寄存器中,③的段地址在CS中,④的段地址在CS中,偏移地址為100H。例如:用匯編語言編寫一個(gè)程序段,將十六進(jìn)制0,1,2,……F的ASGII碼送入偏移地址為100H單元開始的存儲(chǔ)單元中,并將該十六進(jìn)制數(shù)據(jù)從100H單元開始的存儲(chǔ)區(qū)傳送到以200H為起始地址的存儲(chǔ)區(qū)中。將編寫好的程序段通過A命令送入內(nèi)存并匯編,用字符串傳送指令MOVSB將數(shù)據(jù)串進(jìn)行傳送。其中,SI為源串地址寄存器,DI為目的串地址寄存器;計(jì)數(shù)寄存器CX存放計(jì)數(shù)初值10H。REP為無條件重復(fù)前綴指令,以字節(jié)為傳送單位。每傳送一個(gè)字節(jié),CX中計(jì)數(shù)值減“1”,直到CX為0為止。(2)顯示內(nèi)存命令D格式:①D[段寄存器名/段地址:偏移地址]②D[段地址:偏移地址1,偏移地址2]③D功能:顯示指定內(nèi)存范圍內(nèi)的內(nèi)容。顯示的內(nèi)容為兩種形式:一種為十六進(jìn)制內(nèi)容,一種為與十六進(jìn)制相對(duì)應(yīng)的ASCII碼字符,對(duì)不可見字符以“.”代替。對(duì)于①、③每次顯示128個(gè)字節(jié)內(nèi)容,②顯示的字節(jié)由地址范圍來決定。若命令中有地址,則顯示的內(nèi)容從指定地址開始,若命令中無地址,如③則從上一個(gè)D命令所顯示的最后一個(gè)單元的下一個(gè)單元開始。若以前沒有使用過D命令,則以DEBUG初始化的段寄存器的內(nèi)容為起始段地址,起始偏移地址為100H,即CS:100。對(duì)于①中的地址為偏移地址,段地址為CS的內(nèi)容。對(duì)②中的地址范圍,可以指定段地址和起始偏移地址和終止偏移地址。例如:顯示起始地址為100H的內(nèi)存單元內(nèi)容為:再顯示偏移地址為100H-120H的內(nèi)容為:接著再顯示,只用D命令不鍵入地址,那么接著上次D顯示的地址開始顯示為:例如:指定數(shù)據(jù)段寄存器DS的內(nèi)容為段地址,顯示在該段內(nèi)偏移地址為100H-150H的內(nèi)容。DDS:100,150(3)修改存儲(chǔ)單元內(nèi)容命令E格式:①E[地址][內(nèi)容表]②E[地址]功能:①用命令所給定的內(nèi)容表去代替指定地址范圍的內(nèi)存單元內(nèi)容。②一個(gè)單元一個(gè)單元地連續(xù)修改單元內(nèi)容.其中:內(nèi)容表為一個(gè)十六進(jìn)制數(shù)或一串十六進(jìn)制數(shù),也可以是用單引號(hào)括起的一串字符。例如:往200H為起始地址單元存放一串十六進(jìn)制數(shù),如:_E20061626364656667686970717273747576要看一看是否將這些十六進(jìn)制數(shù)替換了原來單元內(nèi)容。_D2002170A47:020061626364656667686970717273747576abcdefjhipqrstuv0A47:02100304050661626364….abcd如果用一串字符來替換200H單元開始的內(nèi)容(用單引號(hào)括起部分),有:_E200‘ABCDEFGHIJKLMNOPQRETUVWXYZ’再用D命令看看內(nèi)容是否被替換:如果一個(gè)單元一個(gè)單元地修改,每修改一個(gè)單元內(nèi)容按空格鍵,再鍵入下一個(gè)單元的修改內(nèi)容,直到按回車鍵為止。如:(注:.代表空格鍵)0A47:0A47:0230FF(4)檢查和修改寄存器內(nèi)容命令R格式:①R②R[寄存器名]功能:①顯示CPU內(nèi)部所有寄存器的內(nèi)容和全部標(biāo)志位的狀態(tài)。②顯示和修改一個(gè)指定寄存器的內(nèi)容。其中,對(duì)狀態(tài)標(biāo)志寄存器FLAG按位形式顯示。顯示時(shí),8個(gè)狀態(tài)的顯示次序和符號(hào)如表1.1所示。例如:對(duì)在DOS環(huán)境下編寫的程序,詳見23頁的舉例,將程序EXl.EXE調(diào)入,并顯示程序運(yùn)行前各寄存器的初始狀態(tài):D:\MAS50>DEBUGEX1.EXE用R命令顯示各寄存器的初始狀態(tài):前面兩行顯示了CPU內(nèi)部各寄存器的內(nèi)容和標(biāo)志寄存器的全部標(biāo)志狀態(tài),最后一行顯示了EXl.EXE程序的第一條指令的地址(CS:IP)和指令的機(jī)器碼及匯編語言指令,也就是下一條即將要執(zhí)行的指令。表1-1.狀態(tài)標(biāo)志位顯示形式表1-1.狀態(tài)標(biāo)志位顯示形式也可以用R命令顯示某個(gè)寄存器的內(nèi)容:如果要顯示并修改某個(gè)寄存器內(nèi)容,如AX的內(nèi)容:顯示修改標(biāo)志寄存器的內(nèi)容:可以看到將標(biāo)志寄存器的NV改為OV,UP改為DN,修改各標(biāo)志位的次序可以任意。再用R命令看修改過的內(nèi)容是否裝入各寄存器和標(biāo)志位的每一位;==(5)反匯編命令U格式:①U[地址]②U[地址范圍]功能:①將代碼段內(nèi)指定的地址開始,將其代碼以匯編語言形式顯示,同時(shí)顯示該代碼位于內(nèi)存的地址和機(jī)器碼。②將代碼段內(nèi)指定范圍內(nèi)的代碼以匯編語言形式顯示,同時(shí)顯示該代碼位于內(nèi)存的地址和機(jī)器碼。若在命令中沒有指定地址,則以上一個(gè)U命令的最后一條指令地址的下一個(gè)單元為起始地址,若沒有輸入過U命令,則以DEBUG初始化時(shí),CS和IP寄存器內(nèi)的值作為段地址和偏移地址。例如:將EXl.EXE文件調(diào)入DEBUG,并顯示該文件:D:\MASM50>DEBUGEX1.EXE_U0F02:0000B032MOVAL,320F02:0002B237MOVDL,370F02:000402D0ADDDL,AL0F02:000680EA30SUBDL,300F02:0009B4023MOVAH,020F02:000BCD21INT210F02:000DB44CMOVAH,4C0F02:000FCD21INT210F02:00112804SUB[SI],AL0F02:0013017408ADD[SI+08],SI0F02:001606PUSHES

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論