微機原理與接口技術(樓順天第二版)第八章習題解答_第1頁
微機原理與接口技術(樓順天第二版)第八章習題解答_第2頁
微機原理與接口技術(樓順天第二版)第八章習題解答_第3頁
微機原理與接口技術(樓順天第二版)第八章習題解答_第4頁
微機原理與接口技術(樓順天第二版)第八章習題解答_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、微機原理與接口技術(樓順天第二版)習題解答第8章中斷系統與可編程中斷控制器8259A8.1答:(1)非屏蔽,可屏蔽;(2)IF=1,完成當前總線操作,執行完當前指令;(3)電平觸發,邊沿觸發;(4)7,22;(5)IN3,12CH。8.2 答:(1)A;(2)C;(3)C;(4)A;(5)A;(6)D;(7)B;(8)B;(9)C。8.3 答:在CPU執行程序的過程中,由于某個事件的發生,CPU暫停當前正在執行的程序,轉去執行處理該事件的一個中斷服務程序,待中斷服務程序執行完成后,CPU再返回到原被中斷的程序繼續執行。這個過程稱為中斷。8086微機系統中有3種中斷:1) 外部可屏蔽中斷。2)

2、外部不可屏蔽中斷。3) 內部中斷其中,內部中斷又分5種,分別為:除法錯中斷,單步中斷,斷點中斷,溢出中斷以及INT N軟件中斷。8.4 答:通常用若干位二進制編碼來給中斷源編號,該編號稱為中斷類型號。8086微處理器用8位二進制碼表示一個中斷類型,有256個不同的中斷。這些中斷可以劃分為內部中斷、外部不可屏蔽中斷、外部可屏蔽中斷三類。用處:使CPU識別中斷源,從而能正確地轉向該中斷源對應的中斷服務程序入口。8.5 答:微處理器在處理低級別中斷的過程中,如果出現了級別高的中斷請求,微處理器停止執行低級中斷的處理程序而去優先處理高級中斷,等高級中斷處理完畢后,再接著執行低級的未處理完的程序,這種中

3、斷處理方式成為中斷嵌套。使用中斷嵌套的好處是能夠提高中斷響應的實時性。對于某些對實時性要求較高的操作,必須賦予較高的優先級和采取中斷嵌套的方式,才能保證系統能夠及時響應該中斷請求。對于可屏蔽中斷,實現中斷嵌套的條件有:(1)微處理器處于中斷允許狀態(IF=1)(2)中斷請求的優先級高于正在執行的中斷處理程序的優先級。(3)中斷請求未被8259屏蔽。(4)沒有不可屏蔽中斷請求和總線請求。8.6 答:中斷向量為每個中斷服務子程序的入口地址,為32位(16位的偏移地址和16位的段地址),在中斷向量表中占用4個地址單元。在8086CPU組成的計算機系統中,采用最低的1024個地址單元(稱為0頁)來存儲

4、中斷向量。這1024個地址單元成為中斷向量表。因此,中斷類型號為1FH的中斷向量,在中斷向量表中的存儲位置為1FH×4=07CH。中斷類型號為1FH的中斷向量在中斷向量表中的存放位置如圖8.6所示。圖8.6 中斷類型號為1FH的中斷向量在中斷向量表中的存放位置8.7 答:中斷向量表是用來存放中斷向量的。是中斷類型號與它對應的中斷服務程序入口地址之間的換算表。1) CPU獲得中斷類型號n后,將當前PSW、CS和IP的內容依次壓入堆棧,保存斷點的狀態和斷點地址,以便返回時恢復。2) 將PSW中的IF位和TF位清0,關閉中斷。3) 把地址為4×n和4×n+1兩個單元的1

5、6位數作為中斷服務程序入口的偏移地址置入IP,把地址為4×n+2和4×n+3兩個單元的16位數作為中斷服務程序入口的段地址置入CS。4) 轉入中斷服務程序。8.8 答:在IF位為1情況下,從INTR端加入中斷請求信號開始,到進入中斷服務程序為止所經過的一系列操作,稱為可屏蔽中斷的響應過程。首先等待當前指令結束后,進入中斷響應周期。然后,從微處理器外部的中斷控制邏輯獲得中斷類型號。隨后把當前的PSW、CS和IP的內容依次壓入堆棧,接著清除PSW中的IF位和TF位為0。最后把中斷服務程序的入口地址置入IP和CS。至此,完成了可屏蔽中斷的響應過程,開始進入中斷服務程序。8.9 答

6、:IRR:中斷請求寄存器,用來鎖存外部設備送來的中斷請求信號。當外部中斷請求線有中斷請求時,IRR中與之對應的第i位被置1。該寄存器內容可以被微處理器讀出。IMR:用于設置中斷請求的屏蔽信號。此寄存器第i位被置1時,與之對應的外部中斷請求線被屏蔽,不能向微處理器發出INT信號。ISR:用于記錄當前正在被服務的所有中斷級,包括尚未服務完而中途被更高優先級打斷的中斷級。若微處理器響應了中斷請求,則ISR中與之對應的第i位置1。中斷處理結束前,要用指令清除這一位。8.10 答:初始化編程就是指對ICW(初始化命令字)的初始化,對ICW的初始化有一定的順序,必須從ICW1開始。對中斷控制器8259A的

7、初始化編程次序如圖8.10所示。圖8.10 對中斷控制器8259A的初始化編程次序8.11 答:一片8259可控制8級中斷,第1片通過級聯8片8259可將中斷擴充至64級。所以組成該中斷機構共需9片8259。8.12 答:在全嵌套方式下,中斷優先級的級別是固定的,即優先級最高,逐級次之,最低。如果對8259A進行初始化后沒有設置其他優先級別,那么8259A就按全嵌套方式工作。8.13 答:(1)設備3和4同時發出中斷請求;中斷處理次序為:D3D4,示意圖如圖8.13(a)所示。圖8.13(a)設備3和4同時發出中斷請求的中斷處理程序的次序示意圖(2)設備3和4同時發出中斷請求,并在設備3的中斷

8、處理程序完成之前,設備2發出中斷請求;中斷處理次序為: D3D2D3D4,示意圖如圖8.13(b)所示。圖8.13(b)中斷處理程序的次序示意圖(3)設備1、3、5同時發出中斷請求,在設備3的中斷處理程序完成之前,設備2發出中斷請求。 中斷處理次序為:D1D3D2D3D5,示意圖如圖8.13(c)所示。圖8.13(c)中斷處理程序的次序示意圖8.14 答:ICW1、OCW2和OCW3共用一個端口地址,但在命令字中通過命令字的兩位取值不同來區分,ICW2、ICW3、ICW4和OCW1根據命令字的先后次序區分。 8.15 答:IMR為8259內決定是否屏蔽接入8259的中斷請求的,IF是8086C

9、PU內部決定是否可以響應外部非屏蔽中斷的標志位。在中斷系統中IMR決定外部中斷請求能否被8259轉發給CPU,IF決定CPU能否響應INTR引腳的中斷請求。8.16 答:在二片以上的8259芯片級聯的情況。主片的ICW3的每一位確定哪一個INi引腳接從片,從片的ICW3的低三位的組合確定從片的INT接主片的哪一個INi。8.17 答:8259A 利用優先權處理器來識別和管理中斷請求信號的優先級別。當幾個中斷請求信號同時出現時,優先權處理器根據控制邏輯規定的優先權級別和IMR的內容來判斷這些請求信號的最高優先級。微處理器響應中斷請求時,把優先權最高的IRR中的“1”送入ISR.。當8259A正在

10、為某一級中斷服務時,若又出現新的中斷請求,則由優先權處理器判斷新出現的中斷請求的級別是否高于正在處理的那一級。若是,則進入多重中斷處理。8259A有5種中斷優先級管理方式。(1)完全嵌套方式:按固定優先級高低來管理中斷,若8259A初始化時未對優先級管理方式編程,則8259A自動進入該方式;(2)自動循環方式:中斷源的優先級將隨中斷響應過程的結束而隨時跟著改變的中斷優先級管理方式。可用兩種方式使8259A進入自動循環方式:一是在中斷服務程序末尾發一條普通EOI循環命令;二是在主程序或中斷服務程序中,發置位/復位自動EOI命令;(3)特殊循環方式:通過在主程序或中斷服務程序中發“特殊循環方式”操

11、作命令來指定某個中斷源的優先級為最低級,其余中斷源的優先級隨之循環變化;(4)特殊屏蔽方式:可在中斷服務程序中用中斷屏蔽命令來屏蔽當前正在服務的中斷級別時,同時是中斷服務寄存器中對應當前中斷級的為自動清0,從而屏蔽了當前正在處理的本級中斷;(5)查詢排序方式:用軟件查詢方法來響應與8259A相連的8級中斷請求,CPU先用操作命令字發查詢命令給8259A,再用輸入指令讀取IRR寄存器的狀態,以識別當前有無中斷請求及最高級別的中斷請求。8.18 答:多片8259級聯時,主片必須工作在特殊全嵌套方式下。假設從片工作在全嵌套方式下,先后收到了兩次中斷請求,而且第二次中斷請求有較高的優先級,那么該從片就

12、會兩次通過INT引腳向上一級申請中斷。如果主片采用全嵌套方式,則它不會響應來自同一引腳的第二次中斷請求。而采用特殊全嵌套方式后,就會響應該請求。8.19 答:向8259A發送“中斷結束”命令,使相應的中斷級在ISR中的相應位清“0”,表示該中斷處理已經結束。8259A有自動中斷結束方式(AEOI)和非自動中斷結束方式(EOI)。(1) 自動中斷結束方式(AEOI)。在這種方式下,系統一旦進入中斷響應,8259A就在第二個中斷響應周期信號的后沿,自動將ISR中被響應中斷級的對應位清“0”。這是一種最簡單的中斷結束處理方式,可以通過初始化命令來設定,但這種方式只能用在系統中只有一個8259A,且多

13、個中斷不會嵌套的情況。(2) 非自動中斷結束方式(EOI)。在這種工作方式下,從中斷服務程序返回前,必須在程序里向8259A輸出一個中斷結束命令(EOI),把ISR對應位清“0”。具體做法有一般的中斷結束方式和特殊的中斷結束EOI命令。這種方式可用于系統中有多個8259A或多個中斷中有嵌套的情況,但這種方式要比自動中斷結束方式復雜。而且在這種方式下,如果在程序里忘記了將ISR對應位清零,那么,8259A在一般情況下將不再響應這個中斷以及比它級別低的中斷請求。8.20 答:必須發送中斷結束命令,即向操作控制字的EOI位寫1。如果不設置這種命令,則該中斷服務程序結束后,CPU將無法響應優先級比它低

14、的中斷請求以及它自身的下一次中斷請求。若初始化為自動結束方式,則不需設置這種操作。 8.21 答:關于有前綴的指令,前綴包括段寄存器前綴(例如指令MOV AX , CS:VAR)、重復前綴(例如指令 REP MOVSB)、和LOCK 前綴。應明確的是,指令前綴并不是一個獨立的指令,只是指令的一部分,所以不允許在前綴碼和指令碼之間響應中斷,所以應在這條指令前置CLI(關中斷)指令,在這條指令后置STI(開中斷)指令。 對于目的地址是段寄存器的MOV 和POP 指令(除CS外),本條指令后不允許響應中斷,而是還要執行一條指令結束后才能響應中斷,這時可以在指令前加CLI,指令后加STI。需要進行中斷

15、嵌套時,由于微處理器在響應中斷時已將IF清零,所以一定要在中斷處理程序中加開中斷指令,才有可能進行中斷嵌套。8.22 答:設備A在一次I/O操作完成后在8259A從片中斷請求輸入端IR5上產生中斷請求,中斷請求被鎖存在8259A從片IRR中,并經IMR“屏蔽”,其結果送給優先權電路判優。控制邏輯接收中斷請求,向8259A主片IR2引腳輸出INT信號,中斷請求被鎖存在8259A主片IRR中,并經IMR“屏蔽”,其結果送給優先權電路判優。控制邏輯接收中斷請求,向CPU輸出INT信號。CPU從INTR引腳接受8259A主片的INT信號,進入連續兩個周期。優先權電路設置ISR中的對應位,在收到第一個信

16、號后, 8259A主片把當前申請中斷的8259A從片的ID代碼010,通過CAS0CAS2送到相應的8259A從片。相應地8259A從片在收到第二個信號時,將中斷類型號N送到數據線上。 8086CPU獲得中斷類型號N后,在N×4和N×4+2對應的中斷向量表單元獲取中斷向量分別置入IP和CS,從此進入設備A的中斷服務程序。 在中斷服務程序結束前(即執行IRET指令前),應分別向從片8259和主片8259發送EOI中斷結束命令,然后執行IRET指令,返回斷點。8.23 答:設8258A主片的端口地址為20H(A0=0)和 21H(A1=1),第一個8259A從片的端口地址為50

17、H(A0=0)和 51H(A1=1),第二個8259A從片的端口地址為0A0H(A0=0)和 0A1H(A1=1),初始化程序如下:主片:MOV AL,00010001B;:邊沿觸發,級聯OUT 20H,AL MOV AL,00010000B;:中斷類型號10H17H OUT 21H,AL MOV AL,01010000B;:和連有從片 OUT 21H,AL MOV AL,00010001B;:特殊全嵌套,非緩沖,非自動中斷結束 OUT 21H,AL從片1:MOV AL,00010001B;:邊沿觸發,級聯OUT 50H,ALMOV AL,00100000B;:中斷類型號20H27HOUT 5

18、1H,ALMOV AL,00000100B;:INT引腳連主片OUT 51H,ALMOV AL,00000001B;:完全嵌套,非緩沖,非自動中斷結束OUT 51H,AL從片二:MOV AL,00010001B;:邊沿觸發,級聯OUT 0A0H,ALMOV AL,00110000B;:中斷類型號30H37HOUT 0A1H,ALMOV AL,00000110B;:INT引腳連主片OUT 0A1H,ALMOV AL,00000001B;:完全嵌套,非緩沖,非自動中斷結束OUT 0A1H,AL8.24 答:MOV AL, 13HOUT 50H, AL ;初始化,設置為邊沿觸發,單片工作MOV AL

19、, 08HOUT 51H, AL ; ;中斷類型號的高5位為00001B,即中斷類型號為08H0FHMOV AL, 0BHOUT 51H, AL ; 初始化,一般全嵌套緩沖方式,中斷非自動結束8.25 答:8259A可通過設置操作控制字發送中斷結束命令(EOI命令),來清除ISR的指定位。的值為23H,用低位端口地址(即A0=0)進行操作,因此可編程如下:MOV AL,23HMOV 20H,AL8.26 答:1)設計必要的中斷源,確定它們提出的中斷請求的方式。2)編寫初始化程序。根據急迫程度的不同,規定好中斷源的優先級別,以確定當幾個中斷源同時請求時,處理機能有一個先后響應次序。3)當處理機響

20、應中斷后,需要把被中斷程序的現場、斷點保護起來,以便中斷處理結束后能返回原程序。4)中斷服務程序設計。5)恢復現場,返回原程序。8.27 答:執行INT 8之后,(SP)=00FAH,(SS)=0300H,(IP)=0040H,(PSW)=0040H。由于INT8為雙字節指令,所以棧頂的三個字從上到下分別是 00A2H,0900H,0240H。8.28 答:可以。但這樣做存在問題。IRET指令執行時將出棧IP,CS和PSW的值,而RETF指令只出棧IP,CS的值,因而若中斷服務程序中改變了標志位,用RETF指令返回在主程序中將無法恢復標志位的值。尤其是在中斷服務程序中關中斷后(IF=0),用RETF指令將無法重新開中斷,從而導致中斷服務結束后CPU不能再響應其他可屏蔽中斷。8.29 答:根據題目,主片的ICW1為00010001B,邊沿觸發、級聯、寫ICW4,主片的ICW2為20H,ICW3為

溫馨提示

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

評論

0/150

提交評論