微機(jī)原理實(shí)驗(yàn)_第1頁(yè)
微機(jī)原理實(shí)驗(yàn)_第2頁(yè)
微機(jī)原理實(shí)驗(yàn)_第3頁(yè)
微機(jī)原理實(shí)驗(yàn)_第4頁(yè)
微機(jī)原理實(shí)驗(yàn)_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

...wd......wd......wd...

實(shí)驗(yàn)一、DEBUG調(diào)試軟件的使用

一、實(shí)驗(yàn)?zāi)康?.熟練掌握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)試手段。一.進(jìn)入DEBUG狀態(tài)二.DEBUG的命令

1.匯編命令A(yù)

該命令允許鍵入?yún)R編語(yǔ)言語(yǔ)句,并能把它們匯編成機(jī)器代碼,相繼地存放在從指定地址開(kāi)場(chǎng)的存儲(chǔ)區(qū)中。注意:匯編程序默認(rèn)的數(shù)據(jù)是十進(jìn)制,而DEBUG默認(rèn)的數(shù)據(jù)是16進(jìn)制,即DEBUG中沒(méi)有二進(jìn)制、八進(jìn)制及十進(jìn)制,只有16進(jìn)制。匯編命令格式為:-A?[段地址]:[偏移地址]說(shuō)明:[]表示可選項(xiàng),假設(shè)未指定地址,則默認(rèn)地址為CS:0100H。例:用匯編語(yǔ)言編寫(xiě)一個(gè)簡(jiǎn)單的加法程序。

輸入的匯編指令有語(yǔ)法錯(cuò)誤的,將提示“error〞,再重新輸入正確指令即可。假設(shè)程序輸入完畢,發(fā)現(xiàn)某條指令輸入錯(cuò)誤,比方第三條語(yǔ)句輸入有誤,就從該指令的偏移地址開(kāi)場(chǎng)匯編〔即-A106〕。如果新輸入的指令所占用的內(nèi)存空間跟舊指令一樣,修改完回車(chē)退出匯編即可;如果新輸入的指令所占用的內(nèi)存空間比舊指令少,可在多余的內(nèi)存空間輸入“NOP〔空操作,占一字節(jié)〕〞指令;如果新輸入的指令所占用的內(nèi)存空間比舊指令多,就必須將后面的所有指令重新輸入。思考:匯編程序時(shí),偏移地址為何不是連續(xù)的,它是如何變化的〔參考第6小點(diǎn)〕

2.命名命令N讀〔L〕/寫(xiě)〔W〕程序前,必須先命名,即該命令結(jié)合讀〔L〕/寫(xiě)〔W〕命令使用?!矃㈤?、5〕例:-NEX1;給程序文件命名為EX1。

3.檢查和修改存放器命令R

4.寫(xiě)盤(pán)命令W

W命令沒(méi)有任何參數(shù)時(shí),與命令N配合使用進(jìn)展寫(xiě)操作,使用W命令前在BX:CX中應(yīng)寫(xiě)入文件的字節(jié)數(shù)。CX的最大值是0FFFFH,即文件超過(guò)64K,低字放CX,高字放BX存放器。

5.讀盤(pán)命令L

格式為:-L[地址]

該命令裝入指定文件到內(nèi)存,如未指定地址,則裝入CS:100開(kāi)場(chǎng)的存儲(chǔ)區(qū)中。反匯編,顯示程序??讀取文件還可以在DOS狀態(tài),輸入DEBUG后接著輸入文件名,如E:\TANGDU>DEBUG?EX1,進(jìn)入DEBUG狀態(tài)的同時(shí)即把EX1文件裝入內(nèi)存,等同于前兩條命令。

6.反匯編命令U

ASCII碼所組成的助記符轉(zhuǎn)換成機(jī)器碼的過(guò)程稱(chēng)為“匯編〞〔命令A(yù)〕,“反匯編〞〔命令U〕即將內(nèi)存中的機(jī)器碼翻譯成助記符的過(guò)程。格式為:a.U[地址]

;從指定地址開(kāi)場(chǎng),反匯編32字節(jié)b.U[地址范圍]

;對(duì)指定范圍內(nèi)的存儲(chǔ)單元進(jìn)展反匯編

7.跟蹤命令〔單步執(zhí)行命令〕T

格式為:a.T

;從當(dāng)前的CS:IP開(kāi)場(chǎng)執(zhí)行一條指令,并顯示所有存放器的內(nèi)容

8.運(yùn)行命令G

格式為:G[=起始地址][斷點(diǎn)地址]?如不指定地址,則從CS:IP開(kāi)場(chǎng)運(yùn)行例:-G????;不帶參數(shù)時(shí),特別要注意IP的值。運(yùn)行前可使用R命令查看IP的值,如果運(yùn)行了程序之外一些非指令的隨機(jī)數(shù),容易造成死機(jī)的后果。

9.修改存儲(chǔ)單元內(nèi)容命令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)試軟件的使用

編寫(xiě)程序:

從3000H單元地址開(kāi)場(chǎng)傳送10個(gè)數(shù)據(jù)到4000H地址開(kāi)場(chǎng)的單元中。

實(shí)驗(yàn)報(bào)告要求:寫(xiě)出以上三個(gè)實(shí)驗(yàn)內(nèi)容的運(yùn)行步驟、相關(guān)程序以及執(zhí)行的結(jié)果或現(xiàn)象。

實(shí)驗(yàn)三、給出假設(shè)干個(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編寫(xiě)出源程序,將其匯編、連接成一個(gè)可執(zhí)行文件,用DEBUG來(lái)調(diào)試。可發(fā)揮局部:將數(shù)據(jù)排序。三.實(shí)驗(yàn)報(bào)告要求:1.實(shí)驗(yàn)?zāi)康模?.實(shí)驗(yàn)內(nèi)容;3.實(shí)驗(yàn)程序,程序必須有必要的注釋?zhuān)?.實(shí)驗(yàn)結(jié)果、數(shù)據(jù)或現(xiàn)象分析;5.實(shí)驗(yàn)思考題、實(shí)驗(yàn)的心得體會(huì)及對(duì)本實(shí)驗(yàn)的意見(jiàn)或建議。四、編寫(xiě)程序:D:\>EDIT文件名.ASM實(shí)驗(yàn)三、給出假設(shè)干個(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編寫(xiě)出源程序,將其匯編、連接成一個(gè)可執(zhí)行文件,用DEBUG來(lái)調(diào)試。可發(fā)揮局部:將數(shù)據(jù)排序。三.實(shí)驗(yàn)報(bào)告要求:1.實(shí)驗(yàn)?zāi)康模?.實(shí)驗(yàn)內(nèi)容;3.實(shí)驗(yàn)程序,程序必須有必要的注釋?zhuān)?.實(shí)驗(yàn)結(jié)果、數(shù)據(jù)或現(xiàn)象分析;5.實(shí)驗(yàn)思考題、實(shí)驗(yàn)的心得體會(huì)及對(duì)本實(shí)驗(yàn)的意見(jiàn)或建議。四、編寫(xiě)程序:D:\>EDIT文件名.ASM

實(shí)驗(yàn)四、基本I/O接口電路實(shí)驗(yàn)一.實(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編寫(xiě)出源程序,將其匯編、連接成一個(gè)可執(zhí)行文件,用DEBUG來(lái)調(diào)試??砂l(fā)揮局部:將數(shù)據(jù)排序。三.實(shí)驗(yàn)報(bào)告要求:1.實(shí)驗(yàn)?zāi)康模?.實(shí)驗(yàn)內(nèi)容;3.實(shí)驗(yàn)程序,程序必須有必要的注釋?zhuān)?.實(shí)驗(yàn)結(jié)果、數(shù)據(jù)或現(xiàn)象分析;5.實(shí)驗(yàn)思考題、實(shí)驗(yàn)的心得體會(huì)及對(duì)本實(shí)驗(yàn)的意見(jiàn)或建議。四、編寫(xiě)程序:D:\>EDIT文件名.ASM

實(shí)驗(yàn)五、地址譯碼電路實(shí)驗(yàn)一.實(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編寫(xiě)出源程序,將其匯編、連接成一個(gè)可執(zhí)行文件,用DEBUG來(lái)調(diào)試??砂l(fā)揮局部:將數(shù)據(jù)排序。三.實(shí)驗(yàn)報(bào)告要求:1.實(shí)驗(yàn)?zāi)康模?.實(shí)驗(yàn)內(nèi)容;3.實(shí)驗(yàn)程序,程序必須有必要的注釋?zhuān)?.實(shí)驗(yàn)結(jié)果、數(shù)據(jù)或現(xiàn)象分析;5.實(shí)驗(yàn)思考題、實(shí)驗(yàn)的心得體會(huì)及對(duì)本實(shí)驗(yàn)的意見(jiàn)或建議。四、編寫(xiě)程序:D:\>EDIT文件名.ASM

實(shí)驗(yàn)五、地址譯碼電路實(shí)驗(yàn)一.實(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編寫(xiě)出源程序,將其匯編、連接成一個(gè)可執(zhí)行文件,用DEBUG來(lái)調(diào)試。可發(fā)揮局部:將數(shù)據(jù)排序。三.實(shí)驗(yàn)報(bào)告要求:1.實(shí)驗(yàn)?zāi)康模?.實(shí)驗(yàn)內(nèi)容;3.實(shí)驗(yàn)程序,程序必須有必要的注釋?zhuān)?.實(shí)驗(yàn)結(jié)果、數(shù)據(jù)或現(xiàn)象分析;5.實(shí)驗(yàn)思考題、實(shí)驗(yàn)的心得體會(huì)及對(duì)本實(shí)驗(yàn)的意見(jiàn)或建議。四、編寫(xiě)程序:D:\>EDIT文件名.ASM實(shí)驗(yàn)七、8255并口控制器實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康模?/p>

1.掌握8255的典型應(yīng)用電路接法。

2.掌握8255的工作方式及應(yīng)用編程。二、實(shí)驗(yàn)內(nèi)容:

程序設(shè)計(jì)及運(yùn)行:①、開(kāi)機(jī),屏幕出現(xiàn)提示“MicrosoftWindows2000Professional.

從虛擬啟動(dòng)軟盤(pán)啟動(dòng)。〞

選擇“從虛擬啟動(dòng)軟盤(pán)啟動(dòng)〞②、再次出現(xiàn)提示“1.StartcomputerwithCD-ROMsupport.

2.StartcomputerwithoutCD-ROMsupport

3.ViewtheHelpfile.〞

選擇2.StartcomputerwithoutCD-ROMsupport

啟動(dòng)后出現(xiàn)提示:A:\>③、A:\>E:;下劃線處是要從鍵盤(pán)輸入的命令

E:\>CDTANGDU\PIT-ASM④、E:\TANGDU\PIT-ASM>CHECK。

使用CHECK程序查找到IOY0空間始地址為:H。⑤、編輯源程序:E:\TANGDU\PIT-ASM>EDIT程序名.ASM。

〔注:以下是8255基本輸入輸出實(shí)驗(yàn)參考程序〕

IOY0EQUH

AAEQUIOY0+0*4

BBEQUIOY0+1*4

CCEQUIOY0+2*4

MODEEQUIOY0+3*4

STACK1SEGMENTSTACK

DW256DUP(?)

STACK1ENDS

CODESEGMENT

ASSUMECS:CODE

START:MOVDX,MODE;8255A初始化

MOVAL,82H

OUTDX,ALNEXT:MOVDX,BB;8255A的B口讀入數(shù)據(jù)

INAL,DX

MOVDX,AA

OUTDX,AL;將數(shù)據(jù)送至8255A的A口輸出MOVAH,1;檢測(cè)鍵盤(pán)有無(wú)按鍵

INT16H

JZNEXT;無(wú)按鍵,轉(zhuǎn)NEXT

MOVAH,4CH;有按鍵,則退回DOS

INT21H

CODEENDS

ENDSTART⑥、編譯程序:E:\TANGDU\PIT-ASM>TASM程序名.ASM。⑦、連接程序:E:\TANGDU\PIT-ASM>LINK程序名.OBJ。⑧、運(yùn)行程序:E:\TANGDU\PIT-ASM>程序名.EXE。

〔注:以下是8255流水燈實(shí)驗(yàn)參考程序〕

IOY0EQUH

AAEQUIOY0+0*4

BBEQUIOY0+1*4

CCEQUIOY0+2*4

MODEEQUIOY0+3*4

STACK1SEGMENTSTACK

DW256DUP(?)

STACK1ENDS

CODESEGMENT

ASSUMECS:CODE

START:MOVDX,MODE;8255A初始化

MOVAL,80H

OUTDX,AL

MOVBL,80H;設(shè)置A口將要寫(xiě)入的初始數(shù)據(jù)

MOVBH,10H;設(shè)置B口將要寫(xiě)入的初始數(shù)據(jù)

NEXT:MOVDX,AA;8255A的A口寫(xiě)入數(shù)據(jù)

MOVAL,BL

OUTDX,AL

MOVDX,BB;8255A的B口寫(xiě)入數(shù)據(jù)

MOVAL,BH

OUTDX,AL

CALLDELAY

RORBL,1;A口數(shù)據(jù)循環(huán)右移一位

ROLBH,1;B口數(shù)據(jù)循環(huán)左移一位

MOVAH,1;檢測(cè)鍵盤(pán)有無(wú)按鍵

INT16H

JZNEXT;無(wú)按鍵,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論