




已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2.1顯示程序?qū)嶒?yàn)1. 實(shí)驗(yàn)?zāi)康模?) 掌握在PC機(jī)上以十六進(jìn)制形式顯示數(shù)據(jù)的方法。(2) 掌握部分DOS功能調(diào)用使用方法。(3) 熟悉Windows集成操作軟件Tdpit的操作環(huán)境和操作方法2. 實(shí)驗(yàn)設(shè)備 PC微機(jī)一臺(tái)、TD-PITD實(shí)驗(yàn)系統(tǒng)一套。3.實(shí)驗(yàn)步驟和結(jié)果 (1)編輯源代碼STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDATA SEGMENTMES DB Press any key to exit!,0AH,0DH,0AH,0DH,$MES1 DB Show 34H as hex:,0AH,0DH,$SD DB 15HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV DX,OFFSET MES MOV AH,09H INT 21H MOV DX,OFFSET MES1 MOV AH,09H INT 21H MOV SI,OFFSET SD MOV AL,DS:SI AND AL,0F0H MOV CL,4 SHR AL,CL CMP AL,0AH JB C2 ADD AL,07HC2:ADD AL,30H MOV DL,AL MOV AH,02H INT 21H MOV AL,DS:SI AND AL,0FH CMP AL,0AH JB C3 ADD AL,07HC3:ADD AL,30H MOV DL,AL MOV AH,02H INT 21HKEY:MOV AH,1 INT 16H JZ KEY MOV AX,4C00H INT 21H CODE ENDSEND START(2)實(shí)驗(yàn)結(jié)果圖所示: 2.2 數(shù)據(jù)傳送實(shí)驗(yàn)1 實(shí)驗(yàn)?zāi)康?. 掌握與數(shù)據(jù)有關(guān)的不同尋址方式。2. 繼續(xù)熟悉實(shí)驗(yàn)操作軟件的環(huán)境及使用方法。2實(shí)驗(yàn)設(shè)備PC 微機(jī)一臺(tái)、TD-PITD 實(shí)驗(yàn)系統(tǒng)一套。3.實(shí)驗(yàn)內(nèi)容本實(shí)驗(yàn)要求將數(shù)據(jù)段中的一個(gè)字符串傳送到附加段中,并輸出附加段中的目標(biāo)字符串到屏幕上。參考實(shí)驗(yàn)程序如下。實(shí)驗(yàn)程序清單(例程文件名:A2.ASM)DDATA SEGMENT ;定義源數(shù)據(jù)段MSR DB HELLO,WORLD!$LEN EQU $- MSRDDATA ENDSEXDA SEGMENT ;定義附加數(shù)據(jù)段MSD DB LEN DUP(?)EXDA ENDSMYSTACK SEGMENT STACK ;定義堆棧段DW 20 DUP(?)MYSTACK ENDSCODE SEGMENT ;定義代碼段ASSUME CS:CODE,DS:DDATA,ES:EXDASTART:MOV AX,DDATAMOV DS,AX ;裝載數(shù)據(jù)段寄存器MOV AX,EXDAMOV ES,AX ;裝載附加數(shù)據(jù)段寄存器MOV SI,OFFSET MSR ;設(shè)置 SIMOV DI,OFFSET MSD ;設(shè)置 DIMOV CX,LENNEXT: MOV AL,SI ;開(kāi)始傳輸數(shù)據(jù)MOV ES:DI,ALINC SIINC DIDEC CXJNZ NEXTPUSH ESPOP DS ;將附加段寄存器指向的段值賦給數(shù)據(jù)段寄存器MOV DX,OFFSET MSDMOV AH,9INT 21HKEY: MOV AH,1 ;判斷是否有按鍵按下?INT 16H ;(為觀察運(yùn)行結(jié)果,使程序有控制的退出)JZ KEYMOV AX,4C00H ;結(jié)束程序退出INT 21HCODE ENDSEND START將程序主體部分的寄存器間接尋址方式改為相對(duì)尋址方式,則如下所示。MOV BX,0MOV CX,LENNEXT: MOV AL,MSRBXMOV ES:MSDBX,ALINC BXLOOP NEXT4實(shí)驗(yàn)步驟(1) 編輯源代碼將程序源代碼編輯完成之后修改文件名為A2.asm保存在目錄E:masm5.0MYCODE下。(2) 編譯A2.asm文件進(jìn)入DOS系統(tǒng)打開(kāi)MASM5.0所在目錄,并編譯A2.asm文件,直到編譯無(wú)錯(cuò)誤。如圖2-2-2所示。(3) 連接A2.obj文件使用LINK命令連接A2.obj文件,生成A2.exe文件。運(yùn)行A2.exe文件,查看運(yùn)行結(jié)果。如圖所示:運(yùn)行程序后,屏幕顯示“HELLO, WORLD!”。說(shuō)明程序運(yùn)行正確。下面通過(guò)調(diào)試查看內(nèi)存數(shù)據(jù)來(lái)了解數(shù)據(jù)的傳輸過(guò)程。(4) DEBUG調(diào)試輸入命令E:masm5.0debug a2.exe 回車可進(jìn)入調(diào)試系統(tǒng),首先對(duì)a2.exe進(jìn)行反匯編,如圖所示:從反匯編的程序上可以看出,原字符串存放的段地址為0,13E5,偏移地址為0x0000,復(fù)制字符串的母的地址為0x13E6,偏移地址為0x0000,字符串的長(zhǎng)度為0x0D。下面通過(guò)內(nèi)存查看命令源地址和目的地址的數(shù)據(jù)情況,如圖所示:從此圖可以直接看出原地址所存放的數(shù)據(jù)位“HELLO,WORLD!”,目的地址存放的數(shù)據(jù)全部為0?,F(xiàn)將程序運(yùn)行至13EA:001B處,程序運(yùn)行到此處時(shí),可完成一個(gè)字節(jié)的數(shù)據(jù)傳輸,查看目的地址的內(nèi)存數(shù)據(jù)。如圖所示。輸入一個(gè)字節(jié)后可在目的地址的第一個(gè)數(shù)據(jù)位0x48,其ASCII碼為H。同時(shí)也可觀察AX寄存的低8位為0x48.將程序運(yùn)行至13EA:001D處,此時(shí)程序已經(jīng)跳出了數(shù)據(jù)傳送的循環(huán),數(shù)據(jù)的傳送工作已將完成。查看目的地址的內(nèi)存數(shù)據(jù),如上圖所示。2.5 分支程序設(shè)計(jì)實(shí)驗(yàn)1實(shí)驗(yàn)?zāi)康恼莆辗种С绦虻脑O(shè)計(jì)方法。2實(shí)驗(yàn)設(shè)備PC 微機(jī)一臺(tái)、TD-PITD 實(shí)驗(yàn)系統(tǒng)一套。3實(shí)驗(yàn)內(nèi)容及說(shuō)明 程序有順序、循環(huán)、分支和子程序四種結(jié)構(gòu)形式,分支結(jié)構(gòu)的示意圖如圖 2-5-1 所示。本實(shí)驗(yàn)要求參考圖 2-5-2 流程,通過(guò)求無(wú)符號(hào)字節(jié)序列中的最大值和最小值來(lái)反映分支程序的結(jié)構(gòu)形式。 實(shí)驗(yàn)可以使用 BH,BL 作為暫存現(xiàn)行的最大值和最小值,且在程序的初始,將 BH 和 BL 初始化為首字節(jié)的內(nèi)容,然后進(jìn)入循環(huán)操作。在循環(huán)操作中,依次從字節(jié)序列中逐個(gè)取出一個(gè)字節(jié)的內(nèi)容與 BH,BL 進(jìn)行比較,若取出的字節(jié)內(nèi)容比 BH 的內(nèi)容大或比 BL 中的內(nèi)容小,則修改之。當(dāng)循環(huán)結(jié)束操作時(shí),將 BH,BL 分別送屏幕顯示。實(shí)驗(yàn)程序如下:STACK SEGMENT STACK STACK DW 256 DUP(?)STACK ENDSDATA SEGMENT MSR DB 0D9H,07H,8BH,0C5H,0EBH,04H,9DH,0F9HDATA ENDSCODE SEGMENT ASSUME SS:STACK,CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV SI,OFFSET MSR MOV CX,7 CMP CX,0H JZ NEXT0 MOV BH,SI MOV BL,SINEXT1: INC SI MOV AL,SI CMP AL,BH JNB NEXT2 CMP AL,BL JNA NEXT3NEXT2: MOV BH,AL JMP NEXT5 NEXT3: MOV BL,ALNEXT5:DEC CX CMP CX,0H JNZ NEXT1NEXT0:RETCODE ENDS END START4實(shí)驗(yàn)步驟(1) 運(yùn)行 Tdpit 集成操作軟件,根據(jù)實(shí)驗(yàn)要求編寫程序,在數(shù)據(jù)段聲明 8 個(gè)的數(shù)據(jù):0D9H,07H,8BH,0C5H,0EBH,04H,9DH,0F9H。(2) 對(duì)實(shí)驗(yàn)程序進(jìn)行編譯、鏈接。(3) 使用運(yùn)行命令運(yùn)行程序,觀察運(yùn)行結(jié)果。3.1 8255 并行接口實(shí)驗(yàn)1實(shí)驗(yàn)?zāi)康?. 學(xué)習(xí)并掌握 8255 的工作方式及其應(yīng)用。2. 掌握 8255 典型應(yīng)用電路的接法。2.實(shí)驗(yàn)設(shè)備PC 機(jī)一臺(tái),TD-PITD 實(shí)驗(yàn)裝置一套。3.實(shí)驗(yàn)內(nèi)容1. 基本輸入輸出實(shí)驗(yàn)。編寫程序,使 8255 的 A 口為輸出,B 口為輸入,完成撥動(dòng)開(kāi)關(guān)到數(shù)據(jù)燈的數(shù)據(jù)傳輸。要求只要開(kāi)關(guān)撥動(dòng),數(shù)據(jù)燈的顯示就發(fā)生相應(yīng)改變。2. 流水燈顯示實(shí)驗(yàn)。編寫程序,使 8255 的 A 口和 B 口均為輸出,數(shù)據(jù)燈 D7D0 由左向右,每次僅亮一個(gè)燈,循環(huán)顯示,D15D8 與 D7D0 正相反,由右向左,每次僅點(diǎn)亮一個(gè)燈,循環(huán)顯示。4.實(shí)驗(yàn)原理并行接口是以數(shù)據(jù)的字節(jié)為單位與 I/O 設(shè)備或被控制對(duì)象之間傳遞信息。CPU 和接口之間的數(shù)據(jù)傳送總是并行的,即可以同時(shí)傳遞 8 位、16 位或 32 位等。8255 可編程外圍接口芯片是 Intel 公司生產(chǎn)的通用并行 I/O 接口芯片,它具有 A、B、C 三個(gè)并行接口,用+5V 單電源供電,能在以下三種方式下工作:方式 0-基本輸入/輸出方式、方式 1-選通輸入/輸出方式、方式 2-雙向選通工作方式。8255 的內(nèi)部結(jié)構(gòu)及引腳如圖3-1-1 所示,8255 工作方式控制字和 C 口按位置位/復(fù)位控制字格式如圖 3-1-2 所示。8255 實(shí)驗(yàn)單元電路圖如圖 3-1-3 所示:5.實(shí)驗(yàn)步驟1. 基本輸入輸出實(shí)驗(yàn)本實(shí)驗(yàn)使 8255 端口 A 工作在方式 0 并作為輸出口,端口 B 工作在方式 0 并作為輸入口。用一組開(kāi)關(guān)信號(hào)接入端口 B,端口 A 輸出線接至一組數(shù)據(jù)燈上,然后通過(guò)對(duì) 8255 芯片編程來(lái)實(shí)現(xiàn)輸入輸出功能。具體實(shí)驗(yàn)步驟如下述:(1)實(shí)驗(yàn)接線圖如圖 3-1-4 所示,按圖連接實(shí)驗(yàn)線路圖。(2)運(yùn)行 Tdpit 集成操作軟件,根據(jù)實(shí)驗(yàn)內(nèi)容,編寫實(shí)驗(yàn)程序,編譯、鏈接。(3)運(yùn)行程序,改變撥動(dòng)開(kāi)關(guān),同時(shí)觀察 LED 燈的顯示,驗(yàn)證程序功能。實(shí)驗(yàn)程序清單(T8255-1.ASM)IOY0 EQU 3000H ;片選 IOY0 對(duì)應(yīng)的端口始地址MY8255_A EQU IOY0+00H*2 ;8255 的 A 口地址MY8255_B EQU IOY0+01H*2 ;8255 的 B 口地址MY8255_C EQU IOY0+02H*2 ;8255 的 C 口地址MY8255_MODE EQU IOY0+03H*2 ;8255 的控制寄存器地址STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODESTART: MOV DX,MY8255_MODE ;初始化 8255 工作方式MOV AL,82H ;工作方式 0,A 口輸出,B 口輸入OUT DX,ALLOOP1: MOV DX,MY8255_B ;讀 B 口IN AL,DXMOV DX,MY8255_A ;寫 A 口OUT DX,ALMOV AH,1 ;判斷是否有按鍵按下INT 16HJZ LOOP1 ;無(wú)按鍵則跳回繼續(xù)循環(huán),有則退出QUIT: MOV AX,4C00H ;結(jié)束程序退出INT 21HCODE ENDSEND START2. 流水燈顯示實(shí)驗(yàn)使 8255 的 A 口和 B 口均為輸出,數(shù)據(jù)燈 D7D0 由左向右,每次僅亮一個(gè)燈,循環(huán)顯示,D15D8 與 D7D0 正相反,由右向左,每次僅點(diǎn)亮一個(gè)燈,循環(huán)顯示。實(shí)驗(yàn)接線圖如圖 3-1-5 所示。實(shí)驗(yàn)步驟如下所述:(1)實(shí)驗(yàn)接線圖如圖 3-1-5 所示,按圖連接實(shí)驗(yàn)線路圖。(2)運(yùn)行 Tdpit 集成操作軟件,根據(jù)實(shí)驗(yàn)內(nèi)容,編寫實(shí)驗(yàn)程序,編譯、鏈接。(3)運(yùn)行程序,觀察 LED 燈的顯示,驗(yàn)證程序功能。(4)自己改變流水燈的方式,編寫程序。實(shí)驗(yàn)程序清單(T8255-2.ASM)IOY0 EQU 3000H ;片選 IOY0 對(duì)應(yīng)的端口始地址MY8255_A EQU IOY0+00H*2 ;8255 的 A 口地址MY8255_B EQU IOY0+01H*2 ;8255 的 B 口地址MY8255_C EQU IOY0+02H*2 ;8255 的 C 口地址MY8255_MODE EQU IOY0+03H*2 ;8255 的控制寄存器地址STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSDATA SEGMENTLA DB ? ;定義數(shù)據(jù)變量LB DB ?DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV DX,MY8255_MODE ;定義 8255 工作方式MOV AL,80H ;工作方式 0,A 口和 B 口為輸出OUT DX,ALMOV DX,MY8255_A ;寫 A 口發(fā)出的起始數(shù)據(jù)MOV AL,80HOUT DX,ALMOV LA,ALMOV DX,MY8255_B ;寫 B 口發(fā)出的起始數(shù)據(jù)MOV AL,01HOUT DX,ALMOV LB,ALLOOP1: CALL DALLYMOV AL,LA ;將 A 口起始數(shù)據(jù)右移再寫入 A 口ROR AL,1MOV LA,ALMOV DX,MY8255_AOUT DX,ALMOV AL,LB ;將 B 口起始數(shù)據(jù)左移再寫入 B 口ROL AL,1MOV LB,ALMOV DX,MY8255_BOUT DX,ALMOV AH,1 ;判斷是否有按鍵按下INT 16HJZ LOOP1 ;無(wú)按鍵則跳回繼續(xù)循環(huán),有則退出QUIT: MOV AX,4C00H ;結(jié)束程序退
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇護(hù)理職業(yè)學(xué)院課件
- 安全作業(yè)視頻課件考試
- 安全事故培訓(xùn)課件
- 護(hù)理學(xué)導(dǎo)論2025年試題及答案
- 印刷工藝品設(shè)計(jì)
- 行政管理??普Z(yǔ)文核心試題及答案
- 自考行政管理2025年知識(shí)應(yīng)用試題及答案全覽
- 家庭護(hù)理課件教學(xué)
- 雪景寒冬課件()
- 正交分解法的步驟與技巧課件
- 2025華陽(yáng)新材料科技集團(tuán)有限公司招聘(500人)筆試參考題庫(kù)附帶答案詳解
- 2024年美睫技術(shù)考核試題及答案
- 兒童言語(yǔ)康復(fù)試題及答案
- 解析:湖北省十一校2024-2025學(xué)年高三第二次聯(lián)考數(shù)學(xué)試卷(原卷版)
- 2024年江蘇省常州外國(guó)語(yǔ)學(xué)校中考一模語(yǔ)文試題(含答案)
- 畢業(yè)設(shè)計(jì)(論文)-可調(diào)節(jié)辦公椅分析與設(shè)計(jì)
- 2025年全球及中國(guó)潛孔鉆機(jī)行業(yè)發(fā)展現(xiàn)狀調(diào)研及投資前景分析報(bào)告
- 多模態(tài)數(shù)據(jù)交互式可視化-全面剖析
- 門診外配處方管理制度
- 中國(guó)國(guó)際大學(xué)生創(chuàng)新大賽(2025)職教賽道重點(diǎn)培育項(xiàng)目申報(bào)表
- 2025年骨干教師復(fù)試試題及答案
評(píng)論
0/150
提交評(píng)論