微機實驗報告_第1頁
微機實驗報告_第2頁
微機實驗報告_第3頁
微機實驗報告_第4頁
微機實驗報告_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

實驗一.熟悉宏匯編程序及debug一.實驗?zāi)康?.學(xué)習(xí)并掌握匯編語言指令尋址方式2.熟悉在PC機上用DEBUG調(diào)試和運行匯編語言指令的過程。二.實驗內(nèi)容根據(jù)給定寄存器內(nèi)容及存儲單元內(nèi)容,運行給定指令,觀察統(tǒng)計運行成果。三.給定的寄存器內(nèi)容和存儲單元內(nèi)容及指令 1、給定的寄存器內(nèi)容及存儲單元內(nèi)容 (DS)=H,(SI)=0002H,(BX)=0100H(0H)=12H,(1H)=34H,(2H)=56H,(3H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=0B7H,(21203H)=65H,2、指令(1)MOVAX,1200H(2)MOVAX,BX(3)MOVAX,[1200H](4)MOVAX,[BX](5)MOVAX,1100H[BX](6)MOVAX,[BX][SI](7)MOVAX,1100H[BX][SI]四.調(diào)試環(huán)節(jié)1.運行DEBUG。2.用A命令匯編指令(1)3.按給定寄存器和存儲單元內(nèi)容修改寄存器和存儲單元內(nèi)容。4.單步運行指令,查當(dāng)作果5.重復(fù)上述環(huán)節(jié),調(diào)試指令(2)——(7)

指令尋址方式源操作數(shù)有效地址源操作數(shù)物理地址指令運行成果(AX)1

立刻尋址

1200H

21200H

2AH2

寄存器尋址

0100H

0H

12H

3

直接尋址

1200H

21200H

2AH4

寄存器間接尋址

0100H

0H

12H5

寄存器相對尋址

1200H

21200H

2AH6

基址變址尋址

0102H

2H

56H7

相對基址變址

1202H

21202H

0B7H五.思考題1、匯編語言指令有哪些尋址方式?用于尋址的寄存器有哪些?匯編語言指令的尋址方式:立刻尋址方式,寄存器尋址方式,直接尋址方式,寄存器間接尋址方式,寄存器相對尋址方式,基址變址尋址方式,相對基址變址尋址方式用于尋址的寄存器:基址寄存器BX和BP,變址寄存器SI和DI運行成果:三、2(1)(2)(3)(4)(5)(6)(7)實驗二.匯編語言程序的調(diào)試與運行一.實驗?zāi)康?.學(xué)習(xí)并掌握數(shù)據(jù)傳送指令和算術(shù)運算指令2.熟悉在PC機上編輯、匯編、連接、調(diào)試與運行匯編語言程序的過程。二.實驗內(nèi)容實現(xiàn)兩個16位無符號數(shù)乘法。三.程序清單 DATA SEGMENT D1 DW1234H D2 DW5678H P1 DD? P2 DD?DATA ENDSSTACK SEGMENT STACK'STACK'STT DB 100DUP(?)TOP EQU LENGTHSTTSTACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKMAIN PROC FARSTART: MOV AX,STACK MOV SS,AX MOV SP,TOP PUSH DS SUB AX,AX PUSH AX MOV AX,DATA MOV DS,AXL1: MOV AX,D1 MUL D2 MOV BX,OFFSETP1 MOV [BX],AX MOV [BX+2],DX RETMAIN ENDPCODE ENDSEND START 四.實驗環(huán)節(jié)1.編輯源程序,建立一種后來綴名為.ASM的文獻。2.匯編源程序,檢查程序與否有錯誤,有錯時回到編輯狀態(tài),修改程序中錯誤行;無錯誤繼續(xù)(3)。3.連接目的程序,生成可執(zhí)行程序。4.DEBUG調(diào)試程序,統(tǒng)計以下數(shù)據(jù):(1)統(tǒng)計斷點處地址。 (2)統(tǒng)計斷點處DS、CS及IP的值。 (3)數(shù)據(jù)段DS:0~DS:0F的內(nèi)容,并統(tǒng)計。五、思考題已知從數(shù)據(jù)段DATA單元開始寄存字節(jié)型的帶符號數(shù)X和Y,請設(shè)計計算Y=6X+8的程序。(必做)實驗成果:四.4數(shù)據(jù)統(tǒng)計以下:五、思考題1.實驗程序:DATASEGMENTX DB2Y DW?DATA ENDSSTACK SEGMENTSTACK'STACK' ST1 DB100DUP(?)STACKENDSCODE SEGMENTMAIN PROCFARASSUMECS:CODE,DS:DATA,SS:STACKSTART: MOVAX,STACK MOVSS,AX PUSHDS SUBAX,AX PUSHAX MOVAX,DATAMOVDS,AXMOVAL,X MOVBL,6 IMULBLADDAX,8H MOVY,AX RETMAIN ENDPCODE ENDSEND START2.運行成果實驗三.分支程序設(shè)計一.實驗?zāi)康?.學(xué)習(xí)并掌握分支程序的設(shè)計辦法2.掌握對的分派與使用寄存器。二.實驗內(nèi)容實現(xiàn)符號函數(shù)。三.程序清單:參考課件四.實驗環(huán)節(jié)1.編輯源程序,建立一種后來綴名為.ASM的文獻。2.匯編源程序,檢查程序與否有錯誤,有錯時回到編輯狀態(tài),修改程序中錯誤行;無錯誤繼續(xù)(3)。3.連接目的程序,生成可執(zhí)行程序。4.DEBUG調(diào)試程序,統(tǒng)計以下數(shù)據(jù):(1)統(tǒng)計斷點處地址。 (2)統(tǒng)計斷點處DS、CS及IP的值。 (3)數(shù)據(jù)段DS:0~DS:0F的內(nèi)容,并統(tǒng)計。 (4)修改X的值,觀察并統(tǒng)計實驗成果。五.思考題:觀察實驗數(shù)據(jù),分析負數(shù)在內(nèi)存中的表達辦法。負數(shù)在內(nèi)存中以補碼的形式表達實驗運行成果:1.X=52.X=-23.X=0實驗四.循環(huán)程序設(shè)計一.實驗?zāi)康?.學(xué)習(xí)并掌握循環(huán)程序的設(shè)計辦法2.掌握對的分派與使用寄存器。二.實驗內(nèi)容實現(xiàn)冒泡法排序。三.程序清單DATASEGMENTBUFDB20H,90H,10H,80H,70HDB40H,50H,30H,60HN=$-BUFDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVBX,0MOVCX,N-1L1:MOVDX,CXL2:MOVAL,BUF[BX]CMPAL,BUF[BX+1]JBECONTIXCHGBUF[BX+1],ALMOVBUF[BX],ALCONTI:INCBXLOOPL2MOVCX,DXMOVBX,0LOOPL1MOVAH,4CHINT21HCODEENDSENDSTART四.實驗環(huán)節(jié)1.編輯源程序,建立一種后來綴名為.ASM的文獻。2.匯編源程序,檢查程序與否有錯誤,有錯時回到編輯狀態(tài),修改程序中錯誤行;無錯誤繼續(xù)(3)。3.連接目的程序,生成可執(zhí)行程序。4.DEBUG調(diào)試程序,統(tǒng)計以下數(shù)據(jù):(1)統(tǒng)計斷點處地址。

(2)統(tǒng)計斷點處DS、CS及IP的值。

(3)數(shù)據(jù)段DS:0~DS:0F的內(nèi)容,并統(tǒng)計。

(4)修改源程序,把數(shù)據(jù)改為從小到大排序,觀察并統(tǒng)計實驗成果。

(5)修改源程序,把排好序的數(shù)據(jù)保存在原數(shù)據(jù)的背面存儲區(qū)中。觀察并統(tǒng)計實驗成果。

(6)修改源程序,運用DOS功效調(diào)用把排好序的數(shù)據(jù)顯示在屏幕上,觀察并統(tǒng)計實驗成果。(選作)五.思考題1、分析源程序,運用子程序?qū)崿F(xiàn)上述問題。2、已知從數(shù)據(jù)段BUF單元開始寄存15個字節(jié)型數(shù)據(jù),請設(shè)計程序?qū)⑵渲胸摂?shù)和零分別送往MINUS和ZERO開始的存儲器單元。(必做)實驗成果:四.源程序的實驗成果統(tǒng)計:修改源程序,把數(shù)據(jù)改為從小到大實驗成果統(tǒng)計:五.思考題2.運行成果實驗五8255并行接口實驗(一)一.實驗?zāi)康模?)掌握8255的基本工作方式及其應(yīng)用。(2)掌握8255的典型應(yīng)用電路接法。二.實驗內(nèi)容基本輸入輸出實驗。本實驗使8255端口A工作在方式0并作為輸入口,端口B工作在方式0并作為輸出口。用一組開關(guān)信號接入端口A,端口B輸出線接至一組數(shù)據(jù)燈上,然后通過對8255芯片編程來實現(xiàn)輸入輸出功效。8255端口地址為0646H-0640H。三.實驗環(huán)節(jié)1.實驗連線圖如圖所示,按圖連線實驗線路圖。

2.編寫實驗程序,經(jīng)編譯、連接無誤后加載系統(tǒng)。

3.運行程序,變化撥動開關(guān),同時觀察LED顯示,驗證程序功效。四.實驗思考題修改程序和連線,規(guī)定從C口輸入數(shù)據(jù)并從B口輸出。(必做)參考程序MY8255_A

EQU

0640HMY8255_B

EQU

0642HMY8255_C

EQU

0644HMY8255_MODE

EQU

0646H

SSTACK

SEGMENT

STACK

DW

32

DUP(?)SSTACK

ENDSCODE

SEGMENT

ASSUMECS:CODE,SS:SSTACK

START:

MOVDX,0646H

MOVAL,90H

OUTDX,AA1:

MOVDX,0640H

INAL,DX

CALL

DELAY

MOVDX,0642H

OUTDX,

JMP

AA1DELAY:

PUSHCX

MOVCX,0F00H

AA2:

PUSHAX

POP

AX

LOOPAA2

POP

CX

RET

CODE

ENDS

END

START四.實驗思考題1.實驗程序:MY8255_A

EQU

0640HMY8255_B

EQU

0642HMY8255_C

EQU

0644HMY8255_MODE

EQU

0646H

SSTACK

SEGMENT

STACK

DW

32

DUP(?)SSTACK

ENDSCODE

SEGMENT

ASSUMECS:CODE,SS:SSTACK

START:

MOVDX,0646H

MOVAL,89H

OUTDX,AA1:

MOVDX,0644H

INAL,DX

CALL

DELAY

MOVDX,0642H

OUTDX,

JMP

AA1DELAY:

PUSHCX

MOVCX,0F00H

AA2:

PUSHAX

POP

AX

LOOPAA2

POP

CX

RET

CODE

ENDS

END

START2.實驗圖連線:把 PA0~PA7改為PC0~PC7實驗六8255并行接口實驗(二)一

實驗?zāi)康模?)掌握8255的多個工作方式及其應(yīng)用。(2)掌握8255的典型應(yīng)用電路接法。二.實驗內(nèi)容流水燈顯示實驗。使8255的A口和B口均為輸出,數(shù)據(jù)燈D7——D0由左向右,每次僅亮一種燈,循環(huán)顯示,D15——D8與D7——D0正反相,由右向左,每次僅點亮一個燈,循環(huán)顯示。實驗接線圖如圖所示。8255端口地址為0646H-0640H。三.實驗環(huán)節(jié)1.按圖連接實驗線路圖。2.編寫實驗程序,經(jīng)編譯、連接無誤后加載系統(tǒng)。

3.

運行程序,觀察LED燈的顯示,驗證程序功效。

4.自己變化流水燈的方式,編寫程序。

5.運用C口,連接三個開關(guān),實現(xiàn)燈亮的開始、暫停、停止、復(fù)位等功效。(選做)連線圖

程序清單MY8255_A

EQU

0640HMY8255_B

EQU

0642HMY8255_C

EQU

0644HMY8255_MODE

EQU

0646H

SSTACK

SEGMENT

STACK

DW

32

DUP(?)SSTACK

ENDSCODE

SEGMENT

ASSUMECS:CODE,SS:SSTACKSTART:

MOVDX,0646H

MOVAL,10000000B

OUTDX,AL

MOVBX,8001HAA1:

MOVDX,0640H

MOVAL,BL

OUTDX,

ROLBL,1

MOVDX,0642H

MOVAL,BH

OUTDX,

RORBH,1

CALL

DELAY

CALL

DELAY

JMP

AA1DELAY:

PUSH

CX

MOV

CX,0F000HAA2:

PUSH

AX

POP

AX

LOOP

AA2

POP

CX

RET

CODE

ENDS

ENDSTART實驗七8253定時/計數(shù)實驗一.實驗?zāi)康模?)掌握8253的典型應(yīng)用技術(shù)。二.實驗內(nèi)容定時應(yīng)用實驗編寫程序,將8254的計數(shù)器0和計數(shù)器1都設(shè)立為方式3,用信號源1MHZ作為CLK0時鐘,OUT0為波形輸出1ms方波,再通過CLK1輸入,OUT1輸出1s方波。(1)實驗板上的芯片為8254,功效構(gòu)造與8253同樣,其最高計數(shù)頻率可達10MHz。(2)連接ISA仿真總線;(3)按下圖連接線路:三.實驗環(huán)節(jié)1.連線圖如圖所示。2.根據(jù)實驗內(nèi)容,編寫實驗程序,經(jīng)編譯、鏈接無誤后加載系統(tǒng)。3運行實驗程序,8254的OUT1會輸出1s的方波。4.用示波器觀察波形的辦法:單擊虛擬儀器菜單中的示波器按鈕或直接單擊工具欄的示波器按鈕,在新彈出的示波器界面上運行示波器,就能夠觀察出OUT1輸出的波形。A8254EQU0600HB8254EQU0602HC8254EQU0604HCON8254EQU0606HSSTACK SEGMENTSTACK DW32DUP(?)SSTACK ENDSCODE SEGMENT ASSUMECS:CODE,SS:SSTACKSTART: MOVDX,CON8254 ;8254 MOVAL,36H ;計數(shù)器0,方式3 OUTDX MOVDX,A8254 MOVAL,0E8H OUTDX MOVAL,03H OUTDX MOVDX,CON8254 ;8254 MOVAL,76H ;計數(shù)器1,方式3 OUTDX MOVDX,B8254 MOVAL,0E8H OUTDX MOVAL,03H OUTDXAA1: NOP JMPAA1 CODE ENDS ENDSTART實驗成果:實驗八靜態(tài)存儲器擴展實驗一.實驗?zāi)康模?)理解存儲器擴展的辦法和存儲器的讀/寫。(2)掌握CPU對16位存儲器的訪問辦法。二.實驗內(nèi)容編寫程序,將0000H~000FH共16個數(shù)寫入SRAM的從0000H起始的一段空間中,然后通過系統(tǒng)命令查看該存儲空間,檢測寫入數(shù)據(jù)與否對的。三.實驗環(huán)節(jié)1.實驗接線圖如圖,按圖接線。2.編寫實驗程序,經(jīng)編譯、連接無誤后載入系統(tǒng)。3.先運行程序,待程序運行停止。4.通過D命令查看寫入存儲器中的數(shù)據(jù),應(yīng)為0000、0001、0002、···、000F共16個字。5.變化實驗程序,按非規(guī)則字寫存儲器,觀察實驗成果。6.變化實驗程序,按字節(jié)方式寫存儲器,觀察實驗成果。7.將實驗程序改為死循環(huán)程序,分別按規(guī)則字與

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論