微機計算機原理與接口技術實驗日志_第1頁
微機計算機原理與接口技術實驗日志_第2頁
微機計算機原理與接口技術實驗日志_第3頁
微機計算機原理與接口技術實驗日志_第4頁
微機計算機原理與接口技術實驗日志_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、.微型計算機原理與接口技術 實驗日志指導教師 祝家鈺 實驗時間: 2011 年 11 月 9 日學院 計算機科學與技術 專業(yè) 計算機科學與技術(計算機網(wǎng)絡方向) 班級 3110905 學號 2009214922 姓名 鄭啟平 實驗室 S318 實驗題目:認識tddebug集成操作軟件實驗目的:1. 熟悉匯編程序的開發(fā)過程。2. 認識Tddebug集成操作軟件。3. 掌握在Tddebug集成環(huán)境中編輯、編譯、連接匯編語言程序方法。4. 掌握INT 21H軟件中斷來調用DOS內部子程序的方法實驗要求:PC微機一臺實驗主要步驟:1、 認識Tddebug編譯環(huán)境匯編語言程序的開發(fā)過程如圖1.1所示,這

2、個過程主要有編輯、編譯、鏈接幾個步驟構成。匯編源程序調用編輯程序edit.exe調用編譯程序tasm.exe或masm.exe調用鏈接程序tlink.exe或link.exe編輯.asm匯編.obj鏈接.編輯編譯鏈接圖1.1 匯編語言程序開發(fā)過程A、源程序的編輯E: > EDIT TEST.ASM編輯過程就是將源程序輸入內存,生成一個擴展名為ASM的文本文件并存入硬盤。B、源程序的編譯E:>TASM TEST.ASM編譯也稱為匯編,就是利用匯編器(如TASM或MASM)對源程序進行編譯,生成擴展名為OBJ的目標文件。在編譯過程中,檢查語法錯誤,若有錯,則不生成目標代碼

3、文件,并給出錯誤信息。根據(jù)錯誤信息應返回到編輯狀態(tài),修改源程序。C、目標程序的鏈接E:> TLINK TEST.OBJ鏈接過程是利用鏈接程序(如TLINK或LINK)將用戶目標程序和庫文件鏈接、定位,生成擴展名為EXE的可執(zhí)行文件。鏈接時,如果鏈接文件找不到所需要的鏈接信息,則發(fā)出錯誤信息,不生成可執(zhí)行文件。D、調試可執(zhí)行程序E:>TD TEST.EXE;數(shù)據(jù)傳送實驗,采用相對尋址方式DDATASEGMENT ;定義源數(shù)據(jù)段MSRDB "HELLO,WORLD!$"LENEQU $- MSRDDATAENDSEXDA SEGMENT ;定義附加數(shù)據(jù)段MSDDB

4、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 MSRMOV DI,OFFSET MSD MOV CX,LENMOV BX,0NEXT: MOV AL,MSRBX ;開始傳輸數(shù)據(jù) MOV ES:MSDBX,ALINCBXLOOP NEXTP

5、USH ESPOP DS ;將附加段寄存器指向的段值賦給數(shù)據(jù)段寄存器 MOV DX,OFFSET MSDMOV AH,9 INT 21H ;顯示字符串MOV AX,4C00H INT 21H ;返回DOS狀態(tài)CODE ENDS END START2、 運行Tddebug軟件,選擇Edit菜單編寫實驗程序3、 使用Compile菜單中的Compile和Link對實驗程序進行匯編、連接,生成執(zhí)行文件。4、 使用Rmrun菜單中的Run運行程序,觀察運行結果。5、 使用Rmrun菜單中的Debug調試程序,查看程序段、數(shù)據(jù)段、附加段裝入內存后的分配情況。TDDBLUG退出了單步執(zhí)行數(shù)據(jù)傳送指令后,觀

6、察各寄存器及數(shù)據(jù)區(qū)的內容。過程如下:1) 按F7單步執(zhí)行,在代碼區(qū)中有一個三角,表示正在執(zhí)行的指令。每一條指令的執(zhí)行一定會使目標寄存器和狀態(tài)寄存器發(fā)生變化,從相關窗口看結果。2) 檢查內存數(shù)據(jù)區(qū)的內容,關鍵是找出用戶程序的數(shù)據(jù)段和附加段:l 方法1:在CPU窗口按Tab鍵使內存數(shù)據(jù)顯示區(qū)成為活動區(qū),按Ctrl+G鍵,輸入:“DS或ES寄存器的值:偏移地址”,即可顯示用戶指定的數(shù)據(jù)區(qū)l 方法2:選擇菜單View| Dump,彈出內存數(shù)據(jù)顯示窗口。3) 查看執(zhí)行結果:按Alt+F5,切換到用戶窗口。6、 更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察、調試程序的正確性。實驗結果:心得體會:通過這次實驗,讓我清楚的了解了

7、在Tddebug集成環(huán)境中編輯、編譯、連接匯編語言程序方法過程,和INT 21H軟件中斷來調用DOS內部子程序的方法。*;微型計算機原理與接口技術 實驗日志指導教師 實驗時間: 2011 年 11 月 9 日學院 計算機科學與技術 專業(yè) 計算機科學與技術(計算機網(wǎng)絡方向) 班級 3110905 學號 2009214922 姓名 鄭啟平 實驗室 S318 實驗題目:I/O程序設計實驗目的:1. 理解軟中斷的調用方法及中斷過程。2. 掌握INT 21H軟件中斷來調用DOS系統(tǒng)I/O子程序的方法。3. 掌握將存儲在內存單元中的數(shù)據(jù)在屏幕上顯示的方法。4. 掌握從鍵盤輸入信息到內存的方法。實驗要求:1

8、.習DOS功能調用(INT 21H)中用于字符輸入(功能號為01H)、字符輸出(功能號為02H)、字符串輸入(功能號為0AH)以及字符串輸出(功能號為09H)的調用方法。參見教材32位微型計算機原理與接口技術89頁。2閱讀示例程序,掌握輸入/輸出方法。3從實驗內容中任選一道題目,仔細閱讀相關的實驗要求及說明,編寫程序,以便上機調試。實驗主要步驟:1. 畫出實驗流程圖。2. 運行Tddebug軟件,選擇Edit菜單編寫實驗程序3. 使用Compile菜單中的Compile和Link對實驗程序進行匯編、連接,生成執(zhí)行文件。4. 使用Rmrun菜單中的Run運行程序,觀察運行結果。5. 使用Rmru

9、n菜單中的Debug調試程序。單步執(zhí)行指令,觀察各寄存器及數(shù)據(jù)區(qū)的內容。6. 更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察程序的正確性。;將指定數(shù)據(jù)區(qū)SD的數(shù)據(jù)以十六進制數(shù)形式顯示在屏幕上圖2-1 一個字節(jié)數(shù)以十六進制數(shù)形式顯示處理流程DATASEGMENTUSE16MESDB'Show a as hex:',0AH,0DH,'$'SDDB'a'DATAENDSCODESEGMENTUSE16ASSUMECS:CODE,DS:DATASTART:MOV AX,DATAMOVDS,AXMOVDX,OFFSET MES;顯示提示信息MOVAH,09HINT 21HMOV

10、SI,OFFSET SDMOVAL,DS:SIANDAL,0F0H;取高4位SHRAL,4CMPAL,0AH;是否是A以上的數(shù)JBC2ADDAL,07HC2:ADDAL,30HMOVDL,AL;顯示字符 MOVAH,02HINT21HMOVAL,DS:SIANDAL,0FH;取低4位CMPAL,0AHJBC3ADD AL,07HC3:ADDAL,30HMOVDL,AL;顯示字符 MOVAH,02HINT21HMOVAX,4C00H;返回DOSINT21HCODEENDSENDSTART編譯:連接:運行:實驗心得:通過本次實驗課,讓我掌握INT 21H軟件中斷來調用DOS系統(tǒng)I/O子程序的方法,

11、理解了軟中斷的調用方法及中斷過程,將存儲在內存單元中的數(shù)據(jù)在屏幕上顯示的方法,總之收益匪淺,同時也加強了自我動手和思考能力,最重要的是感謝老師課后講解,讓我印象深刻! 微型計算機原理與接口技術 實驗日志指導教師 實驗時間: 2011 年 11 月 9 日學院 計算機科學與技術 專業(yè) 計算機科學與技術(計算機網(wǎng)絡方向) 班級 3110905 學號 2009214922 姓名 鄭啟平 實驗室 S318 實驗題目:循環(huán)程序設計實驗目的:1. 掌握比較指令、轉移指令和循環(huán)指令的使用方法2掌握循環(huán)結構程序的組成3掌握循環(huán)程序的設計、調試方法實驗要求:1復習比較指令、條件轉移指令和循環(huán)指令。2閱讀示例程序

12、,掌握循環(huán)程序的結構、循環(huán)控制方法及相關技巧。3從實驗內容中任選一道題目,仔細閱讀相關的實驗要求及說明,編寫程序,以便上機調試。實驗主要步驟:實驗題目:確定數(shù)據(jù)區(qū)NUMB中負數(shù)的個數(shù)(存放于BL中)DDATASEGMENTNUMBDB12H,88H,82H,89H,33H,90H,01H,10H,0BDH,01HMESDB'The number of negative is:$'DDATAENDSCODE SEGMENTASSUME CS:CODE,DS:DDATASTART:MOVAX,DDATAMOVDS,AXMOVDI,OFFSET NUMBXORBH,BHMOVCX,1

13、0DA1:MOV AL,DITEST AL,80HJE A2INC BLA2:INC DILOOP A1MOVDX,OFFSET MES;show mesMOVAH,09HINT 21HMOVAL,BL;show the number of negativeANDAL,0F0H;get the highest 4 bitsSHRAL,4CMPAL,0AHJBC2ADDAL,07HC2:ADDAL,30HMOVDL,AL;show character MOVAH,02HINT21HMOVAL,BLANDAL,0FH;get the lowest 4 bitsCMPAL,0AHJBC3ADD AL

14、,07HC3:ADDAL,30HMOVDL,AL;show character MOVAH,02HINT21HMOVAX,4C00H;go back to dosINT21HCODE ENDS END START1. 運行Tddebug軟件,選擇Edit菜單編寫實驗程序2. 使用Compile菜單中的Compile和Link對實驗程序進行匯編、連接,生成執(zhí)行文件。 3. 使用Rmrun菜單中的Run運行程序,觀察運行結果。 4. 使用Rmrun菜單中的Debug調試程序。觀察構成分支、循環(huán)條件的各標志的變化情況及相關寄存器內容。5. 更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察程序的正確性。實驗結果:屏幕輸出:0

15、5心得體會:通過本節(jié)課的循環(huán)程序設計練習,讓我了解和掌握了部分調整指令的用法,同時也熟悉了部分指令的運用,彌補了課堂紙上談兵之不足,增強了動手能力! 微型計算機原理與接口技術 實驗日志指導教師 祝家鈺 實驗時間: 2011 年 11 月 9 日學院 計算機科學與技術 專業(yè) 計算機科學與技術(計算機網(wǎng)絡方向) 班級 3110905 學號 2009214922 姓名 鄭啟平 實驗室 S318 實驗題目:代碼轉換程序設計實驗目的:1. 了解微機中所使用的各類數(shù)制及編碼方法。2. 掌握不同進制數(shù)及編碼相互轉換的程序設計方法,加深對數(shù)碼轉換的理解。3. 掌握將存儲在內存單元中的數(shù)據(jù)以十六進制數(shù)形式、十進

16、制數(shù)形式和二進制數(shù)形式顯示在屏幕上的方法。實驗要求:1復習運算類指令的用法。2復習子程序設計及調用方法。3閱讀示例程序,掌握子程序的編程方法及相關技巧。4從實驗內容中任選一道題目,仔細閱讀相關的實驗要求及說明,用子程序處理方式編寫程序,以便上機調試實驗主要步驟:7. 畫出實驗流程圖。圖6-3 將十進制數(shù)的數(shù)字串轉換為BCD碼參考流程圖6-2 將5位十進制數(shù)的數(shù)字串轉換為二進制數(shù)參考流程 8. 運行Tddebug軟件,選擇Edit菜單編寫實驗程序打開TddebugàAlt+Eà命名一個zh.asm文件àok,然后編輯下列代碼入內,并保存將十進制數(shù)的數(shù)字串轉換為數(shù)DD

17、ATASEGMENTMESDB'The ascii code of decimal code are:$'BUFDB30H,30H,30H,31H,32H ;十進制數(shù)00012的ASCII碼DB10H DUP(0)DDATAENDSCODE SEGMENTASSUME CS:CODE,DS:DDATASTART:MOVAX,DDATAMOVDS,AXMOV SI,OFFSET BUFMOV BX,000AH ;送被乘數(shù)10MOV CX,0004H ;送轉換的位數(shù) 控制循環(huán)次數(shù)MOV AH,00H ;清零MOV AL,SI ;取第一位的ASCII碼SUB AL,30H ;獲取數(shù)字

18、0A1:IMUL BX ;乘10(dx, ax)ß(ax)*bxADD AL,SI+01 SUB AL,30HINC SI ;si+1LOOP A1MOV SI,AXMOVDX,OFFSET MES ;顯示提示信息MOVAH,09HINT21HINCSI ;顯示高字節(jié)CALLSHOWDECSI ;顯示低字節(jié)CALLSHOWMOVAX,4C00H ;返回DOSINT21HSHOWPROCNEAR ;顯示內存中一個字節(jié)字符的程序MOVAL,DS:SIANDAL,0F0H ;取高4位SHRAL,4CMPAL,0AH ;是否是A以上的數(shù)JBC2ADDAL,07HC2:ADDAL,30HMOV

19、DL,AL ;顯示字符 MOVAH,02HINT21HMOVAL,DS:SIANDAL,0FH ;取低4位CMPAL,0AHJBC3ADD AL,07HC3:ADDAL,30HMOVDL,AL ;顯示字符MOVAH,02HINT21HRETENDPCODE ENDS END START9. 使用Compile菜單中的Compile和Link對實驗程序進行匯編、連接,生成執(zhí)行文件。 點擊Alt+Fàexit;返回Tddebug初始界面在點擊Alt+Càcompileàok 點擊enter鍵返回àAlt+c>linkàok 10. 使用Rmr

20、un菜單中的Run運行程序,觀察運行結果。在3的基礎上點擊enter鍵返回Tddebug界面,Alt+RàRun 11. 使用Rmrun菜單中的Debug調試程序。單步執(zhí)行指令,觀察各寄存器及數(shù)據(jù)區(qū)的內容。12. 更改數(shù)據(jù)區(qū)中的數(shù)據(jù),考察程序的正確性。實驗結果:屏幕輸出:000c心得體會:通過微機原理與接口技術的初步學習知道,計算機輸入設備輸入的信息一般是由ASCII碼或BCD碼表示的數(shù)據(jù)或字符,CPU一般均用二進制數(shù)進行計算或用其他信息進行處理,處理的結果又必須依照外設的要求變?yōu)锳SCII碼、或BCD碼或七段顯示碼等。因此,在應用軟件中,各類數(shù)制的轉換和代碼的轉換是必不可少的。通過

21、本次實驗,加深了對十進制數(shù)的數(shù)字串轉換為二進制數(shù)、內存中一個字的數(shù)轉換為十進制數(shù)的數(shù)字串、十進制數(shù)的數(shù)字串轉換為BCD碼、BCD碼轉換為二進制數(shù)的了解,對于循環(huán)和加減運算的運用更加深刻 微型計算機原理與接口技術 實驗日志指導教師 祝家鈺 實驗時間: 2011 年 11 月 9 日學院 計算機科學與技術 專業(yè) 計算機科學與技術(計算機網(wǎng)絡方向) 班級 3110905 學號 2009214922 姓名 鄭啟平 實驗室 S318 實驗題目:子程序及中斷程序設計實驗目的:1. 掌握子程序的定義和調用方法2. 掌握系統(tǒng)功能調用程序(軟中斷程序)的使用和編寫方法3. 了解子程序與軟中斷之間的差異。4. 認

22、識和理解中斷特性。實驗要求:1. 復習子程序的定義與調用方法。2復習中斷的概念,了解PC機系統(tǒng)中斷向量表的占用情況(見表10-1)。3復習子程序的調用過程與軟中斷調用過程之間異同。4閱讀示例程序,掌握編寫軟中斷程序的方法及相關技巧。5從實驗內容中任選一道題目,仔細閱讀相關的實驗要求及說明,編寫程序,以便上機調試。實驗主要步驟:1. 打開tddebug編寫運行下列程序:數(shù)碼轉換及顯示:實驗利用47H號中斷將一組字符轉換成16進制數(shù)碼,并在屏幕上顯示出來DDATASEGMENTCSBAK DW ?IPBAK DW ?MKBAK DB ?SW DW ?MES DB 'The data in

23、buf1 are:',0AH,0DH,'$'BUF1DB11H,22H,33H,44H,55H,66H,77H,88H,99H,0AAH,0BBH,0CCH,0DDH,0EEH,0FFH,00HDDATAENDSCODE SEGMENT ASSUME CS:CODE,DS:DDATASTART PROC FAR MOV AX,DDATA MOV DS,AX MOV AX,0;修改47H號中斷的中斷矢量 MOV ES,AX MOV DI,4*47H MOV AX,ES:DI MOV IPBAK,AX;保存原有IP MOV AX,OFFSET MYINT;修改為用戶自定義中

24、斷入口 CLD STOSW MOV AX,ES:DI;保存原有CS MOV CSBAK,AX MOV AX,SEG MYINT STOSWMOV DX,OFFSET MES;顯示提示信息MOV AH,09HINT 21H ;顯示BUF1中的內容MOV SI,OFFSET BUF1MOV CX,10HINT 47H ;調用中斷服務程序 MOV AX,0;恢復系統(tǒng)中斷矢量 MOV ES,AX MOV DI,4*47H MOV AX,IPBAK CLD STOSW MOV AX,CSBAK STOSW MOV AX,4C00H; 返回dos INT 21H RET ENDP MYINT PROC F

25、AR;自定義顯示中斷,入口參數(shù)為SI,CX PUSHAXPUSHDXC1:MOVAL,SIANDAL,0F0H;取高4位SHRAL,4CMPAL,0AH;是否是A以上的數(shù)JBC2ADDAL,07HC2:ADDAL,30HMOVDL,AL;顯示字符MOVAH,02HINT21HMOVAL,SIANDAL,0FH;取低4位CMPAL,0AHJBC3ADD AL,07HC3:ADDAL,30HMOVDL,AL;顯示字符MOVAH,02HINT21HINCSILOOPC1POPDXPOPAX IRET;中斷返回 ENDPCODE ENDS END START編譯:連接:運行:實驗結果:屏幕上顯示一串1

26、6進制數(shù):112233445566778899AABBCCDDEEFF00心得體會: 本節(jié)課通過對子程序及軟中段程序設計的學習,讓我對子程序中斷調用call有了初步的認識用戶可自己開發(fā)中斷服務程序,用它取代系統(tǒng)原有的服務程序,過程如下:l 編寫中斷服務子程序,用IRET指令返回(清理現(xiàn)場后才返回dos系統(tǒng))l 確定使用的中斷號n,修改中斷向量表中4×n4×n+3單元的對應中斷服務程序入口l INT n指令調用中斷,此時CPU保護現(xiàn)場:將F、CS、IP寄存器入棧,然后從中斷向量表中4×n4×n+3單元取出n型中斷向量寫入IP,CS中,CPU根據(jù)CS:IP的

27、值轉向服務子程序。l 當執(zhí)行IRET時,恢復現(xiàn)場:從堆棧中彈出6個字節(jié)傳送給IP、CS、F寄存器,回到斷點繼續(xù)執(zhí)行。l 程序結束返回DOS之前,要恢復系統(tǒng)的中斷向量設置。本次實驗超于課堂進度,讓我對中斷的重要性有了一定的認識,同時也讓我對中斷子程序調用過程有了初步的認識,相信本次實驗為我課堂學習減輕了難度!微型計算機原理與接口技術 實驗日志指導教師 實驗時間: 2011 年 11 月 15 日學院 計算機科學與技術 專業(yè) 計算機科學與技術(計算機網(wǎng)絡方向) 班級 3110905 學號 2009214922 姓名 鄭啟平 實驗室 S318 實驗題目:PC機內部8259中斷應用實驗目的:1. 進一

28、步認識和理解中斷特性。2. 掌握8259中斷控制器的工作原理、編程方法以及PC機如何通過8259A實現(xiàn)對外部可屏蔽硬件中斷源的管理。3. 熟悉實驗中涉及到的中斷屏蔽寄存器IMR和中斷服務寄存器ISR等的使用方法。4. 進一步掌握中斷服務程序的設計方法。實驗要求:PC微機一臺1復習中斷的概念,了解PC機系統(tǒng)中斷向量表的占用情況(見表10-1)。2復習8259中斷控制器的工作原理,了解PC機中外部可屏蔽硬件中斷的處理過程。實驗原理硬件中斷是由CPU以外的器件發(fā)出的中斷請求信號而引發(fā)的中斷。80x86CPU只有兩個引腳(INTR和NMI)可以接受外部的中斷脈沖,為了管理眾多的外部中斷源,INTER公

29、司設計了專用的配套芯片8259A中斷控制器3復習PC機如何通過8259A實現(xiàn)對外部可屏蔽硬件中斷源的管理。8259A的中斷過程,即微機系統(tǒng)響應可屏蔽中斷的過程(1)將加到引腳IR0IR7上的中斷請求寄存到中斷請求寄存器中。(2)在中斷屏蔽寄存器的管理下,沒有被屏蔽的中斷請求被送到優(yōu)先權電路判優(yōu)。(3)選中當前級別最高的中斷源,然后從引腳INT向CPU發(fā)出中斷請求信號。(4)CPU滿足一定的條件后,向8259A發(fā)出兩個中斷響應信號(負脈沖):1)8259A從引腳INTA收到第1個中斷響應信號之后,立即使中斷服務寄存器中與被選中的中斷源對應的那一位置1,同時把中斷請求寄存器中的相應位清0。2)從引

30、腳INTA收到第2個中斷響應信號之后,8259A把選中的中斷源類型碼n通過數(shù)據(jù)線送往CPU。(5)在實模式下,CPU從4×n4×n+3單元取出該中斷源的中斷向量IP,CS,從而引導CPU執(zhí)行該中斷源的中斷服務程序。4仔細閱讀實驗原理、示例程序,掌握中斷服務程序的編寫方法及相關技巧。5從實驗內容中任選一道題目,仔細閱讀相關的實驗要求及說明,編寫程序,以便上機調試。8259:選擇優(yōu)先級別高的指令進行運行!實驗主要步驟:1、 運行示例程序,按鍵8次,觀察運行結果:;按鍵8次,響應16次中斷DATA SEGMENTCSBAK DW ?IPBAK DW ?MKBAK DB ?DATA

31、 ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART PROC FAR MOV AX,DATA MOV DS,AX IN AL,21H;保留8259初始屏蔽字的狀態(tài) MOV MKBAK,AL CLI;關中斷 ANDAL,11111101B;打開鍵盤屏蔽 OUT 21h,AL MOV AX,0;修改鍵盤中斷的中斷矢量 MOV ES,AX MOV DI,24H ;IRQ1,09H,24H=09H*4 鍵盤中斷是09H,09H*4四個字節(jié) MOV AX,ES:DI MOV IPBAK,AX;寫入IP MOV AX,OFFSET MYINT CLD STOSW M

32、OV AX,ES:DI;寫入CS MOV CSBAK,AX MOV AX,SEG MYINT STOSW XOR DX,DX ;清計數(shù)器A1: STI ;開中斷 CMP DX,10H ;是否按了8次鍵 JZ A2 ;是,結束程序運行 JMP A1 ;否則繼續(xù)等待鍵盤中斷A2: PUSH DX ;保存計數(shù)值 CLI ;關中斷 MOV AX,0;恢復系統(tǒng)中斷矢量 MOV ES,AX MOV DI,24H ;IRQ1,09H MOV AX,IPBAK CLD STOSW MOV AX,CSBAK STOSW MOV AL,MKBAK;恢復系統(tǒng)8259屏蔽字 OUT 21h,AL STI ;開中斷 P

33、OP DX ;顯示計數(shù)值 CALL SHWORD MOV AX,4C00H INT 21H RETSTART ENDPMYINT PROC FAR;自定義鍵盤中斷處理程序 STI ;開中斷 INC DX ;計數(shù)加一 IN AL,60H;讀入掃描碼(用戶可對此鍵值進行處理) IN AL,61H;讀入控制字節(jié) MOV AH,AL OR AL,80H OUT 61H,AL;復位鍵盤 CLI ;關中斷 MOV AL,61H;中斷結束命令送中斷控制器OUT20H,AL IRET ;中斷返回MYINT ENDPSHWORDPROCNEAR;216進制顯示 MOV CX,4AGA: ROL DX,4 MOV

34、 AL,DL AND AL,0FH CMP AL,10 JC NEXT2 ADD AL,7NEXT2: ADD AL,30H MOV AH,0EH INT 10H LOOP AGARETSHWORD ENDP CODE ENDS END START實驗結果:輸入01010101按鍵輸入8次,屏幕輸入是0010心得體會:通過本次實驗,讓我進一步對子程序的定義和調用方法有了進一步的了解,同時也對系統(tǒng)功能調用程序的使用有了初步的了解,第一次真正感覺區(qū)分中斷和子程序之間的差異,讓我受益良多!微型計算機原理與接口技術 實驗日志指導教師 祝家鈺 實驗時間: 2011 年 11 月 9 日學院 計算機科學與

35、技術 專業(yè) 計算機科學與技術(計算機網(wǎng)絡方向) 班級 3110905 學號 2009214922 姓名 鄭啟平 實驗室 S318 實驗題目:PCI總線中斷應用實驗目的:1. 掌握使用PCI中斷的方法。2. 了解操作PCI設備I/O端口的方法。3. 進一步掌握8259中斷控制器的工作原理、編程方法以及PC機如何通過8259A實現(xiàn)對外部可屏蔽硬件中斷源的管理。4. 進一步掌握中斷服務程序的設計方法。實驗要求:1復習中斷的概念,了解PC機系統(tǒng)中斷向量表的占用情況。2復習8259中斷控制器的工作原理,了解PC機中外部可屏蔽硬件中斷的處理過程。3復習PC機如何通過8259A實現(xiàn)對外部可屏蔽硬件中斷源的管

36、理。4仔細閱讀實驗說明、示例程序,掌握PCI總線中斷服務程序的編寫方法。5根據(jù)實驗內容,仔細閱讀相關的實驗要求及說明,編寫程序,以便上機調試。實驗主要步驟:1. 分析程序,畫出實驗流程圖。2. 用排線將KK UNIT中的KK1脈沖開關與仿真ISA總線中的IRQ信號連接。打開實驗箱電源。3. 運行程序,按動KK1,觀察運行結果。INTCSR_BYTE0 EQU 9038H ;修改PCI操作寄存器的端口地址INTCSR_BYTE1 EQU 9039HINTCSR_BYTE2 EQU 903AHINTCSR_BYTE3 EQU 903BHIMB4_BYTE3 EQU 901FHDATA SEGMENTCSBAK DW ? IPBAK DW ?MKBAK DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: CLI MOV AX,DATA MOV DS,AX ;初始化PCI寄存器 MOV DX,INTCSR_BYTE0 MOV AL,00H OUT DX,AL MOV DX,INTCSR_BYTE1 MOV AL,1FH OUT DX,AL MOV

溫馨提示

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

評論

0/150

提交評論