第七章 習題 【微機原理】
- 前言
- 推薦
- 第七章 習題
- 5
- 6
- 7
- 9
- 10
- 最後
前言
第七章 習題
5
5.I/O端口與存儲單元是CPU啟動總線周期對外部進行通路的兩種外部資源,試問I/O
端口和存儲單元編址有哪兩種類型?各有哪此優缺點?8086/8088 CPU是使用哪種編址方式的?
1.統一編址(存儲器映射I/O編址):即把I/O端口的位址也看作是一個記憶體單元,與記憶體位址統一混合編址。
優點:對外設的操作可以直接使用對記憶體操作指令,指令較多、使用友善。
缺點:記憶體空間減少,采用記憶體操作指令的速度比專用I/O指令慢。
2.獨立編址(I/O映射編址):即I/O端口與記憶體分開獨立編址,二者各有一套位址空間,井水不犯河水。
這樣編址的微處理器都有個M/-IO信号,當使用MOV指令時它自動變成高電平,用IN/OUT指令時它自動變成低電平,
優點:
1、存儲器位址空間不受I/O端口位址空間的影響
2、專用的輸入/輸出指令與通路存儲器指令有明顯差別,便于了解和檢查。
缺點:
1、專用I/O指令增加了指令系統複雜性,且I/O指令類型少,程式設計靈活性較差;
2、要求CPU提供專門的控制信号以區分對存儲器和I/O端口的操作,增加了控制邏輯的複雜性。
8086/8088 CPU是使用獨立編址方式的
6
6.8086/8088 CPU中斷管理系統能管理多少個中斷源?這些中斷源産生中斷請求時
CPU是如何找到這些中斷源的中斷服務程式的入口位址的?
8086/8088共有256個中斷類型号,對應256個中斷服務程式的入口位址。
所有中斷服務子程式的入口位址都存放在中斷向量表中。
CPU響應中斷時,把中斷類型号N乘以4,得到對應位址4N,
然後把由此位址開始的兩個低位元組單元(4N,4N+1)的内容裝入IP寄存器,
再把兩個高位元組單元(4N+2,4N+3)的内容裝入CS寄存器,
于是CPU轉入中斷類型号為N的中斷服務子程式。
7
7.簡述8086/8088CPU中斷向量表的作用?DOS功能調用的中斷類型号為21H、試問
該中斷的中斷服務程式入口位址存放在中斷向量表的哪四個單元?該四個單元中的内容是何時由誰負責放入的?
中斷向量表是存放中斷向量的一個特定的記憶體區域。
每個入口位址的段位址和段内偏移位址占4個存儲單元
兩個低位元組單元的裝入内容是IP寄存器,兩個高位元組單元的裝入内容是CS寄存器
84H 85H 86H 87H
作業系統
9
9.編寫一個中斷服各程式,其功能為在螢幕上顯示“This is an interrupt service routine!",中斷類型号設為68H,試分别用DOS功能調用和直接寫入兩種方法把中斷服務程式的入口位址寫入中斷向量表。
DOS功能調用
91.asm
DATA SEGMENT
MESG DB 'This is an interrupt service routine!$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
PUSH DS
MOV DX,OFFSET DISP68 ;取DISP68的偏移位址
MOV AX,SEG DISP68 ;取中斷服務程式DISP68的段位址
MOV DS,AX
MOV AH,25H
MOV AL,68H
INT 21H
POP DS
INT 68H
MOV AH,4CH
INT 21H
DISP68 PROC FAR ;中斷服務程式DISP68
MOV DX,OFFSET MESG
MOV AH,09H
INT 21H
IRET
DISP68 ENDP
CODE ENDS
END START
直接寫入
92.asm
DATA SEGMENT
MESG DB 'This is an interrupt service routine!$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
PUSH DS
XOR AX,AX
MOV DS,AX
MOV AX,OFFSET DISP68
MOV DS:[01A0H],AX ;置偏移位址
MOV AX,SEG DISP68
MOV DS:[01A0H+2],AX;置段位址
POP DS
INT 68H
MOV AH,4CH
INT 21H
DISP68 PROC FAR ;中斷服務程式DISP68
MOV DX,OFFSET MESG
MOV AH,09H
INT 21H
IRET
DISP68 ENDP
CODE ENDS
END START
10
8259A是可程式設計中斷控制器(Programmable Interrupt Controller)晶片,用于管理和控制
80x86的外部中斷請求,可實作中斷優先級判定,提供中斷類型号,屏蔽中斷輸入等功能。
單片8259A可管理8級中斷,若采用級聯方式,最多可以用9片8259A構成兩級中斷機構,
管理64級中斷。8259A是可程式設計器件,它所具有的多種中斷優先級管理方式可以通過主程
序在任何時候進行改變或重新組織。