




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、實 驗 報 告微機原理及應用課 程 名 稱實驗1 DEBUG操作實驗 實驗2 匯編程序設(shè)計實驗實驗3 8253定時/計數(shù)器實驗 實驗4 8255 并行接口實驗實 驗 名 稱年 月 日 至 年 月 日實 驗 日 期學 生 專 業(yè)學 生 學 號學 生 姓 名教 師 姓 名成 績南京理工大學機械工程學院實驗一 DEBUG命令及其操作一、實驗目的1 熟練掌握debug的常用命令,學會用debug來調(diào)試程序。2 深入了解數(shù)據(jù)在存儲器中的存取方法及堆棧中數(shù)據(jù)的壓入與彈出。3 掌握各種尋址方法以及簡單指令的執(zhí)行過程。二、實驗要求1 實驗前要作好充分準備,包括匯編程序清單、調(diào)試步驟、調(diào)試方法以及對程序結(jié)果的分
2、析等。2 本實驗要求在PC機上進行。3 本實驗只要求在DEBUG調(diào)試狀態(tài)下進行,包括匯編程序,調(diào)試程序,執(zhí)行程序。三、實驗內(nèi)容l 實驗內(nèi)容1:學習用DEBUG調(diào)試工具進行源程序的輸入、匯編、調(diào)試和執(zhí)行。實驗報告要求:1 寫出運行結(jié)果;2 小結(jié)debug常用命令及使用體會答:1.原文已給出(略) 2a 匯編 d顯示內(nèi)存單元內(nèi)容 e修改單元內(nèi)存內(nèi)容 g執(zhí)行命令 t單步(或多步)調(diào)試n指定文件路徑文件名(含擴展名)u反匯編 r查看寄存器值及修改 l加載程序 w寫盤命令體會:提升學習熱情和動手能力 有助于理解代碼執(zhí)行過程l 實驗內(nèi)容2設(shè)AX=3000H,BX=5000H,請編一程序段將AX的內(nèi)容和BX
3、的內(nèi)容進行交換。請用堆棧作為兩寄存器交換內(nèi)容的中間存儲單元,用DEBUG調(diào)試程序進行匯編與調(diào)試。實驗報告要求:1 寫出完成上述功能的程序段;2 單步執(zhí)行,并記錄寄存器AX, BX及堆棧指針SP的值答:A100 Mov ax,3000 ; ax:3000 bx:0000 sp:ffeeMov bx,5000 ;ax:3000 bx:5000 sp:ffeePush ax ;ax:3000 bx:5000 sp:ffecMov ax,bx ;ax:5000 bx:5000 sp:ffecPop bx ;ax:5000 bx:3000 sp:ffeeInt 20l 實驗內(nèi)容3設(shè)DS=當前段地址,BX
4、=0300H,SI=0002H,請用DEBUG的命令將存儲器偏移地址300H304H連續(xù)單元裝入0AH,0BH,0CH,0DH,0EH。在DEBUG狀態(tài)下送入下面的程序,并用單步執(zhí)行的方法,分析每條指令源地址的形成過程?當數(shù)據(jù)傳送完畢時,AX中的內(nèi)容是什么?實驗報告要求:1 寫出源操作數(shù)的尋址方式;2 單步執(zhí)行,并記錄相關(guān)寄存器及存儲單元的值A(chǔ)100 ;給各內(nèi)存單元賦值Mov di,0300 Mov dx,0a Mov cx,5 1oop1:movdi,dxInc diInc dx1oop loop1程序清單如下: 尋址方式和AX的內(nèi)容MOV BX,0300 立即尋址MOV SI, 0002
5、立即尋址MOV AX,BX 寄存器尋址 AX: 0300 MOV AX,0304H 立即尋址 AX:0304MOV AX,0304H 存儲器直接尋址 AX:ds:0304 內(nèi)存單元的內(nèi)容0EHMOV AX,BX 寄存器間接尋址 AX:ds:0300 內(nèi)存單元的內(nèi)容0AHMOV AX,0001BX 基址相對尋址 AX:ds:0301 內(nèi)存單元的內(nèi)容0BHMOV AX,BXSI 基址變址尋址 AX:ds:0302 內(nèi)存單元的內(nèi)容0CHMOV AX,0001BXSI 基址變址尋址 AX:ds:0303內(nèi)存單元的內(nèi)容0DHl 實驗內(nèi)容4設(shè)AX=0002H,編寫程序?qū)X的內(nèi)容乘10,要求用移位的方法完
6、成。寫出實現(xiàn)上實驗報告要求:1 述功能的程序段;2 單步執(zhí)行程序,記錄每條指令的機器碼及相關(guān)寄存器的內(nèi)容注意:左移指令用SHL,而不能使用SAL A100Mov ax,2 機器碼:b80200 ax:0002 dx:0000 cl:00Mov dx,0 機器碼:ba0000 ax:0002 dx:0000 cl:00Shl ax,1 機器碼:d1e0 ax:0004 dx:0000 cl:00Mov dx,ax 機器碼: 01d0 ax:0004 dx:0004 cl:00 Mov cl,2 機器碼:b102 ax:0004 dx:0004 cl:02Shl ax,cl 機器碼:d3e0 ax
7、:0010 dx:0004 cl:02 Add ax,dx 機器碼:01d0 ax:0014 dx:0004 cl:02Int 20 機器碼:cd20 ax:0014 dx:0004 cl:02實驗二 簡單程序的編寫及匯編連接一、 實驗目的1 熟練掌握編寫匯編語言源程序的基本方法和基本框架。2 學會編寫順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的匯編程序,掌握宏定義與宏調(diào)用的方法。3 掌握程序中數(shù)據(jù)的產(chǎn)生與數(shù)輸出的方法。4 熟悉建立源文件,進行匯編和連接的全過程,并對程序進行調(diào)試。二、 實驗要求1 實驗前準備 分析題目,將程序中的原始數(shù)據(jù)、中間結(jié)果和最終結(jié)果的存取方式確定好。 寫出算法或畫出流程圖。 寫出源
8、程序。 對程序中的結(jié)果進行分析,并準備好上機調(diào)試的過程。2 本實驗要求在PC機上進行。3 匯編過程中出現(xiàn)問題,可用DEBUG進行調(diào)試。三、 實驗內(nèi)容1 實驗內(nèi)容1 編輯源程序(參考程序見下),建立 .ASM文件; 用MASM程序匯編,生成 .OBJ文件;查看 .LST文件的內(nèi)容 用LINK程序鏈接,生成 .EXE文件; 使用DEBUG命令將 .EXE文件調(diào)進內(nèi)存,執(zhí)行后查看程序運行結(jié)果; 使用DEBUG命令,檢查各段在內(nèi)存當中分配情況。參考程序:; exercize21data segment org 0200h buffer dw 0, 1, -5, 10, 256, -128, -100,
9、 45, 6, 3, dw -15,-67, 39, 4, 20, -1668, -32766, 32765, -525,dw 300 count equ ($-buffer)/2 max dw ?data endsstack segment stack 'stack' db 100 dup ('s')stack endscode segment para 'code' assume cs:code, ds:data, ss:stacksta proc far push ds xor ax, ax push ax mov ax, data mov
10、 ds, ax lea si, buffer mov cx, count dec cx mov ax, sichkmax: add si, 2 cmp si, ax jle next mov ax, sinext: loop chkmax mov max, ax retsta endpcode ends end sta實驗報告要求:1 小結(jié)匯編語言源程序的編譯及連接過程;2 記錄數(shù)據(jù)段在程序執(zhí)行前后的內(nèi)容3 寫出程序調(diào)試中出現(xiàn)的問題及解決方法;答:1 把待匯編的程序放在存放匯編、鏈接程序的文件夾里打開匯編程序輸入待匯編的程序名字 ,以默認配置生成obj文件,再打開鏈接程序輸入待鏈接的程序名字以
11、默認配置生成exe文件2 執(zhí)行前后buff數(shù)據(jù)數(shù)據(jù)塊不變 max執(zhí)行前數(shù)據(jù)為0000H執(zhí)行后為7ffdH3 很順利作業(yè):編程并且在計算機上調(diào)試。用匯編語言編寫一個加法程序:1234+5678請用ASCII碼的形式將加數(shù)與被加數(shù)存放在數(shù)據(jù)區(qū)DATA1和DATA2中,并將相加的結(jié)果顯示輸出。假設(shè)有一組數(shù)據(jù):5,-4,0,3,100,-51,請編一程序,判斷每個數(shù)是否大于0,等于0,還是小于0,并輸出判斷結(jié)果。即:1當x>0y = 0當x=0-1當x<0sstack segment dw 32 dup(?)sstack endsdata segment data1 db 1234'
12、; data2 db 5678 data3 db 4 dup(?)data endscode segment assume cs:code,ss:sstack,ds:datasta:push ds xor ax,ax push ax mov ax,data mov ds,ax lea si,data1 lea di,data2 lea bx,data3 mov al,si+3 mov ah,di+3 and al,0fh and ah,0fh add al,ah or al,30h mov bx+3,al mov al,si+2 mov ah,di+2 and al,0fh and ah,0f
13、h adc al,ah or al,30h mov bx+2,al mov al,si+1 mov ah,di+1 and al,0fh and ah,0fh adc al,ah or al,30h mov bx+1,al mov al,si mov ah,di and al,0fh and ah,0fh adc al,ah or al,30h mov bx,al mov cx,4 mov ah,2ha1:mov dl,bx int 21h inc bx loop a1 retcode ends end stasstack segment stack 'stack' dw 32
14、 dup(?)sstack endsdata segment buff db 12,-23,5,-4,0,3,100,-51,3,-45,9,2 data endscount equ $-buffcode segment assume ss:sstack,ds:data,cs:codestart prog far push ds xor ax,ax push ax mov ax,data mov ds,ax lea bx,buff lea si,count mov cx,siloop1:mov al,bx cmp al,0 jz aa1 and al,80h jz aa2 mov ah,2 m
15、ov dl,2dh int 21h aa: inc bx loop loop1 jmp ov aa1:mov ah,2 mov dl,30h int 21h jmp aa aa2:mov ah,2 mov dl,31h int 21h jmp aa ov:retstart endpcode ends end start 實驗三 8254定時/計數(shù)器應用實驗一、實驗目的1、掌握8254的工作方式及應用編程;2、掌握8254典型應用電路的接法。二、實驗設(shè)備 PC機一臺,TD-PIE實驗裝置一套,示波器一臺。三、實驗內(nèi)容 1、計數(shù)應用實驗。編寫程序,應用8254的計數(shù)功能,使用單次脈沖模擬計數(shù),使每
16、當按動KK1 +5次后,產(chǎn)生一次計數(shù)中斷,并在屏幕上顯示一個字符M。 2、定時應用實驗。編寫程序,應用8254的定時功能,產(chǎn)生一個1 ms的方波。1、計數(shù)應用實驗編寫程序,將8254的計數(shù)器0設(shè)置為方式3,計數(shù)值為十進制數(shù)4,用單次脈沖KK 1+作為CLK0時鐘,OUT0連接MIR7,每當KK1+按動5次后產(chǎn)生中斷請求,在屏幕上顯示字符M。實驗步驟:(1) 實驗接線如圖4-2所示;(2) 編寫實驗程序,經(jīng)編譯、鏈接無誤后裝入系統(tǒng);(3) 運行程序,按動KK1+產(chǎn)生單次脈沖,觀察實驗現(xiàn)象;(4) 改變計數(shù)值,驗證8254的計數(shù)功能。圖4.2 8254計數(shù)應用實驗接線圖實驗程序清單:A8254 E
17、QU 06C0H;8254計數(shù)器0的端口地址B8254 EQU 06C2H;8254計數(shù)器1的端口地址C8254 EQU 06C4H;8254計數(shù)器2的端口地址CON8254 EQU 06C6H;8254控制字寄存器的端口地址SSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODE, SS:SSTACKSTART : PUSH DSMOV AX, 0000HMOV DS,AXLea ax,irq7mov si,3chmov si,axmov ax,seg irq7mov si+2,axCLIPOP DS;初始化主
18、片8259,其端口地址為20H和21HMOV AL,11HOUT 20H,AL;ICW1MOV AL,08HOUT 21H,AL;ICW2MOV AL,04HOUT 21H,AL;ICW3MOV 21H,01HOUT 21H,AL;ICW4MOV AL,6FH;OCW1OUT 21H,AL;初始化8254MOV DX,CON8254MOV AL,_11h_;計數(shù)器0,方式0OUT DX,ALMOV DX,A8254MOV AL,_04h_;給計數(shù)器0送初值OUT DX,ALSTIAA1: JMP AA1;中斷服務程序IRQ7: MOV AX,014DHINT 10H;顯示字符MMOV AX,0
19、120HINT 10HMOV AL,_20h_OUT _20h_,AL;中斷結(jié)束命令I(lǐng)RETCODE ENDS END SEGMENT2、定時應用實驗 編寫程序,將8254的計數(shù)器0設(shè)置為方式3,用信號源1MHz作為CLK0時鐘,OUT0輸出波形為1 ms方波。實驗步驟:(1)接線圖如圖4-3所示;(2)根據(jù)實驗內(nèi)容,編寫實驗程序,經(jīng)編譯、鏈接無誤后裝入系統(tǒng);(3)運行實驗程序,用示波器測試OUT0輸出,驗證程序功能。圖4.3 8254定時應用實驗接線圖實驗程序清單A8254 EQU 06C0HB8254 EQU 06C2HC8254 EQU 06C4HCON8254 EQU 06C6HSST
20、ACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODESTART:MOV DX,CON8254 MOV AL,_37h_;8254控制字,計數(shù)器0,方式3 OUT DX,AL MOV DX,A8254MOV AL,_63h_;給計數(shù)器0送初值OUT DX,ALMOV AL,_09h_OUT DX,ALAA1: JMP AA1CODE ENDS END START六、思考題1、在將計數(shù)初值賦給8254后,馬上就可以啟動并進行定時或計數(shù)嗎?答:不是,計數(shù)的開始還得看門控信號,在寫入初值后若門控信號有效(軟件觸發(fā)為高電平有
21、效,硬件觸發(fā)為上升沿有效)則開始計數(shù),否則等待有效門控信號的到來才開始計數(shù)2、若CLK0輸入1.925MHz的時鐘,能否在OUT0實現(xiàn)輸出30ms的定時脈沖?答:30*1925=57750<65535 所以用二進制寫初值方式可以實現(xiàn),若用十進制方式寫初值則不能實現(xiàn)(十進制最大計數(shù)初值為0,即10000)實驗四 8255并行接口實驗一、實驗目的 1、學習并掌握8255的工作方式及其應用; 2、掌握8255典型應用電路的接法。二、實驗設(shè)備 PC機一臺,TD-PITE實驗裝置一套。三、實驗內(nèi)容1、基本輸入輸出實驗。本實驗系統(tǒng)中,8255的端口地址分別為0640H,0642H,0644H以及06
22、46H。編寫程序,使8255的A口為輸入,接撥動開關(guān),B口為輸出,接發(fā)光二極管;要求只要開關(guān)撥動,發(fā)光二極管的顯示就發(fā)生相應改變。2、流水燈顯示實驗。編寫程序,使8255的A口和B口均為輸出,數(shù)據(jù)燈D7D0由左向右,每次僅亮一個燈,循環(huán)顯示,D15D8與D7D0正相反,由右向左,每次僅點亮一個燈,循環(huán)顯示。四、實驗原理圖5.1 8255內(nèi)部結(jié)構(gòu)及外部引腳圖 并行接口是以數(shù)據(jù)的字節(jié)為單位與I/O設(shè)備或被控制對象之間傳遞信息。CPU和接口之間的數(shù)據(jù)傳送總是并行的,即可以同時傳遞8位、16位或32位等。8255可編程外圍接口芯片是Intel公司生產(chǎn)的通用并行I/O接口芯片,它具有A, B, C三個并
23、行接口,用+5 V單電源供電,能在以下三種方式下工作:方式0基本輸入/輸出方式、方式1選通輸入/輸出方式、方式2雙向選通工作方式。8255的內(nèi)部結(jié)構(gòu)及引腳如圖5-1所示,8255工作方式控制字和C口按位置位/復位控制字格式如圖5-2所示。五、實驗步驟1、基本輸入輸出實驗 本實驗使8255端口A工作在方式0并作為輸入口,端口B工作在方式0并作為輸出口。用一組開關(guān)信號接入端口A,端口B輸出線接至一組發(fā)光二極管上,然后通過對8255芯片編程來實現(xiàn)輸入輸出功能。具體實驗步驟如下述: 圖5.2 8255控制字格式 (1) 實驗接線圖如圖5-3所示,按圖連接實驗線路圖; (2) 編寫實驗程序,經(jīng)編譯、連接無誤后裝入系統(tǒng);圖5-3 8255基本輸入輸出實驗接線圖 (3) 運行程序,改變撥動開關(guān),同時觀察LED顯示,驗證程序功能。實驗程序清單SSTACK SEGMENT STACK DW 32 DUP (?)S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山西初三期中試卷及答案
- 2025企業(yè)資產(chǎn)管理合同范本
- 2025合同權(quán)益轉(zhuǎn)讓協(xié)議
- 煤炭加工過程中的余熱發(fā)電技術(shù)考核試卷
- 毛織品行業(yè)市場競爭態(tài)勢考核試卷
- 木材的再生和循環(huán)利用考核試卷
- 牛的飼養(yǎng)遺傳改良技術(shù)研究考核試卷
- 臨沂大型考試試題及答案
- 建筑安全檢測考核試卷
- 臨床踝泵運動護理宣教
- 山東鐵投集團招聘招聘筆試真題2024
- 共有人房屋貸款協(xié)議
- 江西卷-2025屆高考歷史4月模擬預測卷(解析版)
- bim安全教育試題及答案
- 運輸公司機務管理制度
- 婦科管理制度
- 新晉管理者培訓
- GB 19762-2025離心泵能效限定值及能效等級
- 2025-2030中國二氯乙烷行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 供電公司故障搶修服務規(guī)范
- 2025年日歷(日程安排-可直接打印)
評論
0/150
提交評論