資源描述:
《微機(jī)原理實(shí)驗(yàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、.WORD完美格式.?實(shí)驗(yàn)一、DEBUG調(diào)試軟件的使用??一、實(shí)驗(yàn)?zāi)康????1.熟練掌握DEBUG的常用命令,學(xué)會(huì)用DEBUG調(diào)試程序。2.了解數(shù)據(jù)在存儲(chǔ)器中的存取方法以及堆棧中數(shù)據(jù)的壓入與彈出。3.掌握各種尋址方式以及簡(jiǎn)單指令的執(zhí)行過(guò)程。4.掌握變量和標(biāo)號(hào)的處理,數(shù)值的默認(rèn)進(jìn)位制。???二、實(shí)驗(yàn)內(nèi)容????1.設(shè)堆棧指針SP=2000H,AX=3000H,BX=5000H;利用堆棧實(shí)現(xiàn)將AX,BX的內(nèi)容交換。用DEBUG進(jìn)行匯編和調(diào)試。1.1??DEBUG的主要命令???DEBUG是為匯編語(yǔ)言設(shè)計(jì)的一種調(diào)試工具,它通過(guò)單步、設(shè)置斷點(diǎn)等方式為匯編語(yǔ)言程序員提供了非常有效的調(diào)試手
2、段。一.進(jìn)入DEBUG狀態(tài)二.DEBUG的命令??1.匯編命令A(yù)?????該命令允許鍵入?yún)R編語(yǔ)言語(yǔ)句,并能把它們匯編成機(jī)器代碼,相繼地存放在從指定地址開始的存儲(chǔ)區(qū)中。注意:匯編程序默認(rèn)的數(shù)據(jù)是十進(jìn)制,而DEBUG默認(rèn)的數(shù)據(jù)是16進(jìn)制,即DEBUG中沒有二進(jìn)制、八進(jìn)制及十進(jìn)制,只有16進(jìn)制。匯編命令格式為:-A?[段地址]:[偏移地址]說(shuō)明:[]表示可選項(xiàng),若未指定地址,則默認(rèn)地址為CS:0100H。例:用匯編語(yǔ)言編寫一個(gè)簡(jiǎn)單的加法程序。輸入的匯編指令有語(yǔ)法錯(cuò)誤的,將提示“error”,再重新輸入正確指令即可。若程序輸入完畢,發(fā)現(xiàn)某條指令輸入錯(cuò)誤,比如第三條語(yǔ)句輸入有誤,就從該指令
3、的偏移地址開始匯編(即-A106)。如果新輸入的指令所占用的內(nèi)存空間跟舊指令一樣,修改完回車退出匯編即可;如果新輸入的指令所占用的內(nèi)存空間比舊指令少,可在多余的內(nèi)存空間輸入“NOP(空操作,占一字節(jié))”指令;如果新輸入的指令所占用的內(nèi)存空間比舊指令多,就必須將后面的所有指令重新輸入。思考:匯編程序時(shí),偏移地址為何不是連續(xù)的,它是如何變化的?(參考第6小點(diǎn))??2.命名命令N????讀(L)/寫(W)程序前,必須先命名,即該命令結(jié)合讀(L)/寫(W)命令使用。(參閱4、5)例:-NEX1;給程序文件命名為EX1。??3.檢查和修改寄存器命令R??4.寫盤命令W????W命令沒有任何
4、參數(shù)時(shí),與命令N配合使用進(jìn)行寫操作,使用W命令前在BX:CX中應(yīng)寫入文件的字節(jié)數(shù)。CX的最大值是0FFFFH,即文件超過(guò)64K,低字放CX,高字放BX寄存器。??5.讀盤命令L????格式為:-L[地址]??該命令裝入指定文件到內(nèi)存,如未指定地址,則裝入CS:100開始的存儲(chǔ)區(qū)中。反匯編,顯示程序??讀取文件還可以在DOS狀態(tài),輸入DEBUG后接著輸入文件名,如E:TANGDU>DEBUG?EX1,進(jìn)入DEBUG狀態(tài)的同時(shí)即把EX1文件裝入內(nèi)存,等同于前兩條命令。.技術(shù)資料.專業(yè)整理..WORD完美格式.??6.反匯編命令U????ASCII碼所組成的助記符轉(zhuǎn)換成機(jī)器碼的過(guò)程稱
5、為“匯編”(命令A(yù)),“反匯編”(命令U)即將內(nèi)存中的機(jī)器碼翻譯成助記符的過(guò)程。格式為:a.U[地址]???;從指定地址開始,反匯編32字節(jié)b.U[地址范圍]???;對(duì)指定范圍內(nèi)的存儲(chǔ)單元進(jìn)行反匯編??7.跟蹤命令(單步執(zhí)行命令)T????格式為:a.T?????;從當(dāng)前的CS:IP開始執(zhí)行一條指令,并顯示所有寄存器的內(nèi)容??8.運(yùn)行命令G????格式為:G[=起始地址][斷點(diǎn)地址]?如不指定地址,則從CS:IP開始運(yùn)行例:-G????;不帶參數(shù)時(shí),特別要注意IP的值。運(yùn)行前可使用R命令查看IP的值,如果運(yùn)行了程序之外一些非指令的隨機(jī)數(shù),容易造成死機(jī)的后果。??9.修改存儲(chǔ)單元內(nèi)
6、容命令E?(參閱10)??10.顯示存儲(chǔ)單元內(nèi)容命令????注意:在DOS環(huán)境,應(yīng)關(guān)閉所有運(yùn)行程序,退回DOS提示符狀態(tài)“>”才能關(guān)機(jī)。?1.2?DEBUG調(diào)試軟件的使用???編寫程序:????從3000H單元地址開始傳送10個(gè)數(shù)據(jù)到4000H地址開始的單元中。??實(shí)驗(yàn)報(bào)告要求:寫出以上三個(gè)實(shí)驗(yàn)內(nèi)容的運(yùn)行步驟、相關(guān)程序以及執(zhí)行的結(jié)果或現(xiàn)象。?實(shí)驗(yàn)三、給出若干個(gè)數(shù)據(jù),求其中的最大值和最小值一.實(shí)驗(yàn)?zāi)康?.掌握無(wú)符號(hào)數(shù)和有符號(hào)數(shù)條件轉(zhuǎn)移指令的使用。2.掌握指針的移動(dòng)和循環(huán)程序設(shè)計(jì)的方法。二.實(shí)驗(yàn)內(nèi)容:用EDIT編寫出源程序,將其匯編、連接成一個(gè)可執(zhí)行文件,用DEBUG來(lái)調(diào)試??砂l(fā)揮部
7、分:將數(shù)據(jù)排序。三.實(shí)驗(yàn)報(bào)告要求:1.實(shí)驗(yàn)?zāi)康模?.實(shí)驗(yàn)內(nèi)容;3.實(shí)驗(yàn)程序,程序必須有必要的注釋;4.實(shí)驗(yàn)結(jié)果、數(shù)據(jù)或現(xiàn)象分析;5.實(shí)驗(yàn)思考題、實(shí)驗(yàn)的心得體會(huì)及對(duì)本實(shí)驗(yàn)的意見或建議。四、編寫程序:D:>EDIT文件名.ASM.技術(shù)資料.專業(yè)整理..WORD完美格式.????????????????????????????實(shí)驗(yàn)三、給出若干個(gè)數(shù)據(jù),求其中的最大值和最小值一.實(shí)驗(yàn)?zāi)康?.掌握無(wú)符號(hào)數(shù)和有符號(hào)數(shù)條件轉(zhuǎn)移指令的使用。2.掌握指針的移動(dòng)和循環(huán)程序設(shè)計(jì)的方法。二.實(shí)驗(yàn)內(nèi)容:用