微機(jī)原理實驗_第1頁
微機(jī)原理實驗_第2頁
微機(jī)原理實驗_第3頁
微機(jī)原理實驗_第4頁
微機(jī)原理實驗_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

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

一、實驗?zāi)康?.熟練掌握DEBUG的常用命令,學(xué)會用DEBUG調(diào)試程序。2.了解數(shù)據(jù)在存儲器中的存取方法以及堆棧中數(shù)據(jù)的壓入與彈出。3.掌握各種尋址方式以及簡單指令的執(zhí)行過程。4.掌握變量和標(biāo)號的處理,數(shù)值的默認(rèn)進(jìn)位制。

二、實驗內(nèi)容

1.設(shè)堆棧指針SP=2000H,AX=3000H,BX=5000H;利用堆棧實現(xiàn)將AX,BX的內(nèi)容交換。用DEBUG進(jìn)展匯編和調(diào)試。1.1

DEBUG的主要命令

DEBUG是為匯編語言設(shè)計的一種調(diào)試工具,它通過單步、設(shè)置斷點等方式為匯編語言程序員提供了非常有效的調(diào)試手段。一.進(jìn)入DEBUG狀態(tài)二.DEBUG的命令

1.匯編命令A(yù)

該命令允許鍵入?yún)R編語言語句,并能把它們匯編成機(jī)器代碼,相繼地存放在從指定地址開場的存儲區(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?[段地址]:[偏移地址]說明:[]表示可選項,假設(shè)未指定地址,則默認(rèn)地址為CS:0100H。例:用匯編語言編寫一個簡單的加法程序。

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

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

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

4.寫盤命令W

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

5.讀盤命令L

格式為:-L[地址]

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

6.反匯編命令U

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

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

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

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

格式為:a.T

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

8.運行命令G

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

9.修改存儲單元內(nèi)容命令E?〔參閱10〕

10.顯示存儲單元內(nèi)容命令

注意:在DOS環(huán)境,應(yīng)關(guān)閉所有運行程序,退回DOS提示符狀態(tài)“>〞才能關(guān)機(jī)。

1.2

DEBUG調(diào)試軟件的使用

編寫程序:

從3000H單元地址開場傳送10個數(shù)據(jù)到4000H地址開場的單元中。

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

實驗三、給出假設(shè)干個數(shù)據(jù),求其中的最大值和最小值一.實驗?zāi)康?.掌握無符號數(shù)和有符號數(shù)條件轉(zhuǎn)移指令的使用。2.掌握指針的移動和循環(huán)程序設(shè)計的方法。二.實驗內(nèi)容:用EDIT編寫出源程序,將其匯編、連接成一個可執(zhí)行文件,用DEBUG來調(diào)試??砂l(fā)揮局部:將數(shù)據(jù)排序。三.實驗報告要求:1.實驗?zāi)康模?.實驗內(nèi)容;3.實驗程序,程序必須有必要的注釋;4.實驗結(jié)果、數(shù)據(jù)或現(xiàn)象分析;5.實驗思考題、實驗的心得體會及對本實驗的意見或建議。四、編寫程序:D:\>EDIT文件名.ASM實驗三、給出假設(shè)干個數(shù)據(jù),求其中的最大值和最小值一.實驗?zāi)康?.掌握無符號數(shù)和有符號數(shù)條件轉(zhuǎn)移指令的使用。2.掌握指針的移動和循環(huán)程序設(shè)計的方法。二.實驗內(nèi)容:用EDIT編寫出源程序,將其匯編、連接成一個可執(zhí)行文件,用DEBUG來調(diào)試??砂l(fā)揮局部:將數(shù)據(jù)排序。三.實驗報告要求:1.實驗?zāi)康模?.實驗內(nèi)容;3.實驗程序,程序必須有必要的注釋;4.實驗結(jié)果、數(shù)據(jù)或現(xiàn)象分析;5.實驗思考題、實驗的心得體會及對本實驗的意見或建議。四、編寫程序:D:\>EDIT文件名.ASM

實驗四、基本I/O接口電路實驗一.實驗?zāi)康?.掌握無符號數(shù)和有符號數(shù)條件轉(zhuǎn)移指令的使用。2.掌握指針的移動和循環(huán)程序設(shè)計的方法。二.實驗內(nèi)容:用EDIT編寫出源程序,將其匯編、連接成一個可執(zhí)行文件,用DEBUG來調(diào)試??砂l(fā)揮局部:將數(shù)據(jù)排序。三.實驗報告要求:1.實驗?zāi)康模?.實驗內(nèi)容;3.實驗程序,程序必須有必要的注釋;4.實驗結(jié)果、數(shù)據(jù)或現(xiàn)象分析;5.實驗思考題、實驗的心得體會及對本實驗的意見或建議。四、編寫程序:D:\>EDIT文件名.ASM

實驗五、地址譯碼電路實驗一.實驗?zāi)康?.掌握無符號數(shù)和有符號數(shù)條件轉(zhuǎn)移指令的使用。2.掌握指針的移動和循環(huán)程序設(shè)計的方法。二.實驗內(nèi)容:用EDIT編寫出源程序,將其匯編、連接成一個可執(zhí)行文件,用DEBUG來調(diào)試??砂l(fā)揮局部:將數(shù)據(jù)排序。三.實驗報告要求:1.實驗?zāi)康模?.實驗內(nèi)容;3.實驗程序,程序必須有必要的注釋;4.實驗結(jié)果、數(shù)據(jù)或現(xiàn)象分析;5.實驗思考題、實驗的心得體會及對本實驗的意見或建議。四、編寫程序:D:\>EDIT文件名.ASM

實驗五、地址譯碼電路實驗一.實驗?zāi)康?.掌握無符號數(shù)和有符號數(shù)條件轉(zhuǎn)移指令的使用。2.掌握指針的移動和循環(huán)程序設(shè)計的方法。二.實驗內(nèi)容:用EDIT編寫出源程序,將其匯編、連接成一個可執(zhí)行文件,用DEBUG來調(diào)試??砂l(fā)揮局部:將數(shù)據(jù)排序。三.實驗報告要求:1.實驗?zāi)康模?.實驗內(nèi)容;3.實驗程序,程序必須有必要的注釋;4.實驗結(jié)果、數(shù)據(jù)或現(xiàn)象分析;5.實驗思考題、實驗的心得體會及對本實驗的意見或建議。四、編寫程序:D:\>EDIT文件名.ASM實驗七、8255并口控制器實驗一、實驗?zāi)康模?/p>

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

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

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

從虛擬啟動軟盤啟動。〞

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

2.StartcomputerwithoutCD-ROMsupport

3.ViewtheHelpfile.〞

選擇2.StartcomputerwithoutCD-ROMsupport

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

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

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

〔注:以下是8255基本輸入輸出實驗參考程序〕

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;檢測鍵盤有無按鍵

INT16H

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

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

INT21H

CODEENDS

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

〔注:以下是8255流水燈實驗參考程序〕

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口將要寫入的初始數(shù)據(jù)

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

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

MOVAL,BL

OUTDX,AL

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

MOVAL,BH

OUTDX,AL

CALLDELAY

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

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

MOVAH,1;檢測鍵盤有無按鍵

INT16H

JZNEXT;無按鍵,

溫馨提示

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

最新文檔

評論

0/150

提交評論