中斷服務程序流程圖_第1頁
中斷服務程序流程圖_第2頁
中斷服務程序流程圖_第3頁
中斷服務程序流程圖_第4頁
中斷服務程序流程圖_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精品資料第一講:第六章 I/O 接口原理-接口、端口、編址回顧:微機系統(tǒng)的層次結構,CPU、主機、接口電路及外部設備之間的結構關聯(lián),輸入/輸出的一般概念。重點和綱要:微機系統(tǒng)主機與外部設備之間的數(shù)據(jù)傳送,包括I/O端口的尋址方式,輸入/輸出的傳送控制方式。教學方法、實施步驟時間分配教學手段回顧5 ” 2板書 計算機 投影儀 多媒體課件等講授40 ” 2提問3 ” 2小結2” 2講授內容:6. 1輸入/輸出數(shù)據(jù)的傳輸控制方式、輸入/輸出的一般概念1.引言輸入/輸出是微機系統(tǒng)與外部設備進行信息交換的過程。 輸入/輸出設備稱 為外部設備,與存儲器相比,外部設備有其本身的特點,存儲器較為標準,而 外部

2、設備則比較復雜,性能的離散性比較大,不同的外部設備,其結構方式不 同,有機械式、電動式、電子式等;輸入 /輸出的信號類型也不相同,有數(shù)字 信號,也有模擬信號;有電信號,也有非電信號;輸入/輸出信息的速率也相差很大。因此,CPU與外部設備之間的信息交換技術比較復雜。CPU與外設之間的信息交換,是通過它們之間接口電路中的I/O 端口來進行的,由于同一個外部設備與 CPU之間所要傳送的信息類型不同,方向不 同,作用也不一樣(例如數(shù)據(jù)信息、狀態(tài)信息、控制信息、輸入/輸出等),所以接口電路中可以設置多個端口來分別處理這些不同的信息。2 .輸入/輸出端口的尋址方式微機系統(tǒng)采用總線結構形式,即通過一組總線來

3、連接組成系統(tǒng)的各個功能 部件(包括CPU、內存、I/O端口),CPU、內存、I/O端口之間的信息交換都是通過總線來進行的,如何區(qū)分不同的內存單元和I/O端口,是輸入/輸出尋址方式所要討論解決的問題。根據(jù)微機系統(tǒng)的不同,輸入/輸出的尋址方式通常有兩種形式:(1) 存儲器對應的輸入、輸出尋址方式這種方式又稱為存儲器統(tǒng)一編址尋址方式或存儲器映象尋址方式。方法:把外設的一個端口與存儲器的一個單元作同等對待,每一個 I/O 端口 都有一個確定的端口地址,CPU與I/O端口之間的信息交換,與存儲單元 的讀寫過程一樣,內存單元與I/O 端口的不同,只在于它們具有不同的的 地址。優(yōu)點: CPU對I/O端口的讀

4、/寫操作可以使用全部存儲器的讀/寫操作指令,也可以用對存儲器的不同尋址方式來對I/O端口中的信息,直接進行算術、邏輯運算及循環(huán)、移位等操作。 內存與外設地址的分配,可以用統(tǒng)一的分布圖。 不需要專門的輸入、輸出操作指令。缺點: 內存與I/O端口統(tǒng)一編址時,在地址總線根數(shù)一定的情況下,使系統(tǒng)中 實際可以直接尋址的內存單元數(shù)減少。 一般情況下,系統(tǒng)中I/O端口數(shù)遠小于內存單元數(shù),所以在用直接尋址 方式來尋址這些端口時,要表示一個端口地址,必須用與表示內存單元地址相同的字節(jié)數(shù),使得指令代碼較長,相應地讀/寫執(zhí)行時間也較長,這對 提高系統(tǒng)的運行速度是不利的。MOrtOrOIa 公司的M6800CPU 等

5、均采用這種尋址I/O 端口的方式。3. CPU與外設之間所傳送的信息類型CPU與I/O端口之間所交換的信息,可以有下列幾種類型: 數(shù)據(jù)信息:包括數(shù)字量、模擬量、開關量等,可以輸入、也可以輸出 狀態(tài)信息:這是I/O端口送給CPU的有關本端口所對應的外設當前狀 態(tài)的信息。供CPU進行分析、判斷、決策。 控制信息:這是CPU送給I/O端口的控制命令,使相應的外部設備完成 特定的操作。數(shù)據(jù)信息、狀態(tài)信息和控制信息是不同類型的信息,它們所起的作用也不一 樣。但在8086/8088 微機系統(tǒng)中,這三種不同類型的信息的輸入、 輸出過程是 相同的。為了加以區(qū)分,可以使它們具有不同的端口地址,在端口地址相同的情

6、況下,可以規(guī)定操作的順序,或者在輸入/輸出的數(shù)據(jù)中設置特征位二、CPU與外設之間輸入/輸出數(shù)據(jù)的傳輸控制方式CPU與外設之間傳輸數(shù)據(jù)的控制方式通常有三種:程序方式、中斷方式和 DMA方式。1.程序方式指用輸入/輸出指令,來控制信息傳輸?shù)姆绞?,是一種軟件控制方式,根 據(jù)程序控制的方法不同,又可以分為無條件傳送方式和條件傳送方式。無條件傳送方式條件:利用程控方式與外設交換信息時,如果輸入 /輸出的時刻,都可以保 證外設總是處于“準備好”狀態(tài),則可以直接利用輸入 /輸出指令進行信息的輸 入/輸出操作。圖5-1可編輯修改如圖5-1 ,從硬件電路上來看:輸入:加三態(tài)緩沖器(控制端由地址譯碼信號和 RD信

7、號選中,CPU用IN指令) 輸出:加鎖存器(控制端由地址譯碼信號和 WR信號選中,CPU用OUT指令) 這種方式下的硬、軟件設計都比較簡單,但應用的局限性較大,因為很難保 證外設在每次信息傳送時都處于“準備好”狀態(tài),一般只用在諸如開關控制、七 段數(shù)碼管的顯示控制等場合。條件傳送方式又稱查詢方式,即 通過程序查詢相應設備的狀態(tài),若狀態(tài)不符合,則CPU不能進行輸入 /輸出操作,需要等待; 只有當狀態(tài)信號符合要求時, CPU 才能進 行相應的輸入/輸出操作。一般外設均可以提供一些反映其狀態(tài)的信號,如對輸入設備來說,它能夠提供“準備好”(“ READY ”)信號,“ READY ” = 1表示輸入數(shù)據(jù)

8、已準備好。輸出設備則提供“忙”(“ BUSY ”)輸人一個宇節(jié)至忙PUj據(jù)進行妲里結東信號,“BUSY ”= 1表示當前時刻不能接收 CPU 來的數(shù)據(jù),只有當“ BUSY ”= 0時,才表明它可 以接受來自于CPU的輸出數(shù)據(jù)。過程:輸入操作的程序流程如圖5-2所示:對READY的狀態(tài)查詢,是通過讀狀態(tài)端口的相應位來實現(xiàn)的,輸出的情況 亦大致相同,這種傳送控制方式的最大優(yōu)點是,能夠保證輸入/輸出數(shù)據(jù)的正確性。輸入接口以輸入設備將數(shù)據(jù)送入鎖存,發(fā)選通信號開始, READY = 1 CPU查詢 (讀 READY ) 讀數(shù)據(jù) 清除 READY 。 見圖 5 3圖5 2輸出接口CPU送數(shù)據(jù)至鎖存器,發(fā)選

9、通信號, a。通知外設取數(shù)據(jù); b。BUSY 輸出設備取完數(shù)據(jù) ACK 清BUSY CPU查詢。見圖5 4圖5-3例1假設從某輸入設備上輸入一組數(shù)據(jù)送緩沖區(qū),接口電路如圖5-3 ,若緩沖區(qū)已滿則輸出一組信息“ BoFFER OVERFLoW,然后結束。設該設備的啟動地址為OFCH ,數(shù)據(jù)端口為0F8H ,狀態(tài)端口為FAH。DATASEGMENTMESS1DB“ BUFFER OVERFLOWBUFFDB 60DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE:,DS :DATASTART:MOVAX , IDATAMOVDS ,AXMOVBX ,OFFSETBUFFM

10、OVCX ,60OUT0FCHI , ALWAIT:INAL ,OFAHTESTAL ,01HJZWAITINAL ,0F8HMOVBX,ALINCBXLOOPWAITMOVDX ,OFFSET MESS1MOVAH ,09HINT21HMOVAH ,4CHINT21HCODEENDSENDSTART程序如下:;送緩沖區(qū)指針;送計數(shù)初值;啟動設備;查詢狀態(tài),若為0,則等待;輸入數(shù)據(jù)優(yōu)先級問題當CPU需對多個設備進行查 詢時,就出現(xiàn)了所謂的優(yōu)先級問題, 即究竟先為哪個設備服務,一般來 講,在這種情況下都是采用輪流查 詢的方式來解決,如圖5-5所示 這時的優(yōu)先級是很明顯的,即先查;檢測緩沖區(qū)是否滿

11、,不滿再輸入;緩沖區(qū)滿,輸出標志字符串圖5-5詢的設備具有較高的優(yōu)先級。但這種優(yōu)先級管理方式,也存在著一個問題,即某設備的優(yōu)先級是變化的,如當為設備 B服務以后,這時即使A已準備好,它也 不理睬,而是繼續(xù)查詢 C,也就是說A的優(yōu)先地位并不鞏固(即不能保證隨時 處于優(yōu)先)。為了保證A隨時具有較高的優(yōu)先級,可采用加標志的方法,當CPU 為B服務完以后,先查詢A是否準備好,若此時發(fā)現(xiàn) A已準備好,立即轉向對 A的查詢服務,而不是為C設備服務。第二講:I/O 接口原理-中斷方式、DMA方式回顧:微機系統(tǒng)主機與外部設備之間的數(shù)據(jù)傳送, 包括I/O端口的尋址方式,輸入/輸出的傳送控制方式。重點和綱要:I/

12、O接口原理(中斷方式、DMA方式)教學方法、實施步驟時間分配教學手段回顧5 ” 2板書 計算機 投影儀 多媒體課件等講授40 ” 2提問3 ” 2小結2” 2講授內容:1.中斷傳送方式(1)為什么要采用中斷傳送方式從查詢式的傳輸過程可以看出,它的優(yōu)點是硬件開銷小,使用起來比較簡單。 但在此方式下,CPU要不斷地查詢外設的狀態(tài),當外設未準備好時, CPU就只 能循環(huán)等待,不能執(zhí)行其它程序,這樣就浪費了 CPU的大量時間,降低了主機 的利用率。為了解決這個矛盾,我們提出了中斷傳送方式:即當CPU進行主程序操作 時,外設的數(shù)據(jù)已存入輸入端口的數(shù)據(jù)寄存器;或端口的數(shù)據(jù)輸出寄存器已空,由外設通過接口電路

13、向CPU發(fā)出中斷請求信號,CPU在滿足一定的條件下,暫 停執(zhí)行當前正在執(zhí)行的主程序,轉入執(zhí)行相應能夠進行輸入/輸出操作的子程序, 待輸入/輸出操作執(zhí)行完畢之后 CPU即返回繼續(xù)執(zhí)行原來被中斷的主程序。這 樣CPU就避免了把大量時間耗費在等待、查詢狀態(tài)信號的操作上,使其工作效 率得以大大地提高。能夠向CPU發(fā)出中斷請求的設備或事件稱為中斷源微機系統(tǒng)引入中斷機制后,使 CPU 與外設(甚至多個外設)處于并行工作狀 態(tài),便于實現(xiàn)信息的實時處理和系統(tǒng)的故 障處理。中斷方式的原理示意圖如圖 5-6所 示O(2)中斷方式下的接口電路圖5-6中斷方式提高了 CPU的工作效率,但是它同時也提高了系統(tǒng)的硬件開銷

14、。因為系統(tǒng)需增加含有中斷功能接口電路, 用來產生中斷請求信號。以輸入方式為 例,接口電路如圖5 7所示。數(shù)據(jù)總線地址總敎TMT中斷類型碼中斷屏蔽數(shù)鬲總線ii圖5-7數(shù)據(jù)輸入的過程:當外設發(fā)STB 數(shù)據(jù)入鎖存器,中斷請求觸發(fā)器置1 若 沒有屏蔽則產生INTR CPU滿足條件(允許中斷;指令執(zhí)行完)發(fā)INTA (進 入中斷服務子程序)讀數(shù)據(jù),發(fā)RD ,和地址清中斷請求觸發(fā)器,數(shù)據(jù)送Do D7 o (輸出過程請自己思考)(3)中斷優(yōu)先級 問題的提出:當系統(tǒng)中有多個設備提出中斷請求時,就有一個該響應誰的問題,也就是個優(yōu)先級的問題,解決優(yōu)先級的問題一般可有三種方法: 軟件查詢法、簡單硬件 方法及專用硬件

15、方法。下面分別介紹: 軟件查詢法只需有簡單的硬件電路,如 將A、B、C三臺設備的中斷請 求信號“或”后作為系統(tǒng)INTR, 這時,A、B、C三臺設備中只 要至少有一臺設備提出中斷請 求,都可以向CPU發(fā)中斷請求。 進入中斷服務子程序后,再用軟 件查詢的方式分別對不同的設 備的服務,查詢程序的設計思想 同查詢式,查詢的前后順序就給 出了設備的優(yōu)先級,框圖如圖所 示O 簡單硬件方法以鏈式中斷優(yōu)先權排隊電 路為例,基本設計思想:將所有的 設備連成一條鏈,靠近CPU的 設備優(yōu)先級最高,越遠的設備優(yōu) 先級別越低,則發(fā)出中斷響應信 號,若級別高的設備發(fā)出了中斷 請求,在它接到中斷響應信號的 同時,封鎖其后的

16、較低級設備使 得它們的中斷請求不能響應,只 有等它的中斷服務結束以后才 開放,允許為低級的設備服務。 如圖所示。保護觀場恢復現(xiàn)場T中斷輸出Ei中斷輻出3中斷輸出4專用硬件方式采用可編程的中斷控制器芯片,如In tel8259A中斷腔制韶Ci6圖5-11中斷控制器的系統(tǒng)連接有了中斷控制器以后,CPU的INTR和INTA引腳不再與接口直接相連,而 是與中斷控制器相連,外設的中斷請求信號通過IRoIR7進入中斷控制器,經優(yōu)先級管理邏輯確認為級別最高的那個請求的類型號會經過中斷類型寄存器在 當前中斷服務寄存器的某位上置1,并向CPU發(fā)INTR請求,CPU發(fā)出INTA信 號后,中斷控制器將中斷類型碼送出

17、。 在整個過程中,優(yōu)先級較低的中斷請求都 受到阻塞,直到較高級的中斷服務完畢之后,當前服務寄存器的對應位清0 ,較低級的中斷請求才有可能被響應。電路如圖圖5-11所示。利用中斷控制器可以通過編程來設置或改變其工作方式,使用起來方便靈 活。(4).中斷響應中斷源向CPU發(fā)出中斷請求,若優(yōu)先級別最高,CPU在滿足一定的條件 下,可以中斷當前程序的運行,保護好被中斷的主程序的斷點及現(xiàn)場信息。 然后, 根據(jù)中斷源提供的信息,找到中斷服務子程序的入口地址,轉去執(zhí)行新的程序段, 這就是中斷響應。注意:CPU響應中斷是有條件的,如內部允許中斷、中斷未被屏蔽、當前指令 執(zhí)行完等。(5)中斷服務子程序CPU響應

18、中斷以后,就會中止當前的程序,轉去執(zhí) 行一個中斷服務子程序,以完成為相應設備的服務。中 斷服務子程序的一般結構如圖5-12所示。 保護現(xiàn)場(由一系列的PUSH指令完成)。目的 是為了保護那些與主程序中有沖突的寄存器,(如AX, BX,CX等),如果中斷服務子程序中所使用的寄存器與 主程序中所使用的寄存器等沒有沖突的話,這一步驟可 以省略。 開中斷(由STI指令實現(xiàn))。目的是為了能實現(xiàn)中斷 的嵌套。 中斷服務圖5-12中斷服務子程序的流程 恢復現(xiàn)場(由一系列的POP指令完成)。是與保護現(xiàn)場對應的,但要注意數(shù) 據(jù)恢復的次序,以免混亂。 返回(使用中斷返回指令IRET )。不能使用一般的子程序返回指

19、令 RET, 因為IRET指令除了能恢復斷點地址外,還能恢復中斷響應時的標志寄存器的 值,而這后一個動作是RET指令不能完成的。中斷的工作過程可分為五大步驟:即中斷請求、中斷判優(yōu)、中斷響應、中斷服務和中斷返回 2. DMA傳送方式利用中斷進行信息傳送,可以大大提高 CPU的利用率,但是其傳送過程必 須由CPU進行監(jiān)控。每次中斷,CPU都必須進行斷點及現(xiàn)場信息的保護和恢復 操作,這些都是一些額外的操作,會占用一定的CPU時間。如果需要在內存的不同區(qū)域之間,或者在內存與外設端口之間進行大量信息快速傳送的話,用查詢或中斷方式均不能滿足速度上的要求,這時應采用直接數(shù)據(jù)通道傳送,即DMA數(shù)據(jù)傳送方式。D

20、MA (DireCt MemOry ACCeSS ) 意為直接數(shù)據(jù)傳送,它是在內存的不同 區(qū)域之間,或者在內存與外設端口之間直接進行數(shù)據(jù)傳送,而不經過CPU中轉的一種數(shù)據(jù)傳送方式,可以大大提高信息的傳送速度。DMA方式傳送的主要步驟(見圖5-13的流程圖)圖5-13DMA 的工作流程圖 外設準備就緒時,向DMA控制器發(fā)DMA請求,DMA控制器接到此信號后,向 CPU發(fā)DMA請求; CPU接到HoLD請求后,如果條件允 許(一個總線操作結束),則發(fā)出HLDA信號 作為響應,同時,放棄對總線的控制; DMA控制器取得總線控制權后,往地址 總線發(fā)送地址信號,每傳送1個字節(jié),就會自 動修改地址寄存器的

21、內容,以指向下一個要傳 送的字節(jié); 每傳送一個字節(jié),字節(jié)計數(shù)器的值減1, 當減到0時,DMA過程結束;DMA控制器向CPU發(fā)結束信號,將總線控制權交回 CPUDMA傳送控制方式,解決了在內存的不同區(qū)域之間,或者內存與外設之間 大量數(shù)據(jù)的快速傳送問題,代價是需要增加專門的硬件控制電路, 稱為DMA控 制器,其復雜程度與CPU相當。習題與思考:1. CPU與外設之間的數(shù)據(jù)傳輸控制方式有哪幾種?何謂程序控制方式?它有哪兩種 基本方式?請分別用流程圖的形式描述出來。2試從程序轉移的角度比較中斷控制與子程序調用這兩種處理過程,它們有哪些根本 區(qū)別?又有哪些相似之處?3.用查詢式將DATA開始的存貯區(qū)的1

22、00個字節(jié)數(shù)據(jù)在FCH端口輸出,完成程序, 狀態(tài)端口地址為:FFH。4 .什么是接口?什么是端口?在 8086/8088微機系統(tǒng)中,CPU是如何實現(xiàn)端口尋址的?5 簡述鏈式中斷優(yōu)先級排隊電路的工作過程?6 中斷處理的主要步驟有哪些?試說明每一步的主要動作。第三講:6. 38086/8088 中斷系統(tǒng)回顧:微機系統(tǒng)主機與外部設備之間的數(shù)據(jù)傳送控制方式,中斷的概念及處理過程。重點和綱要:8086/8088 中斷系統(tǒng)。教學方法、實施步驟時間分配教學手段回顧5 ” 2板書 計算機 投影儀 多媒體課件等講授35 ” 2提問3 ” 2小結2” 2討論5 ” 2講授內容:6. 3 8086/8088中斷系統(tǒng)

23、一、中斷分類及中斷類型碼皿源:引起中斷的原因或發(fā)出中斷請求的設備稱為中斷源。1. 中斷的分類共分為兩類:硬件中斷和軟件中斷 硬件中斷:即通過外部的硬件產生的中斷,如打印機、鍵盤等,有時也稱為外部中斷。硬件中斷又可分為兩類:可屏蔽中斷和不可屏蔽中斷。不可屏蔽中斷:由NMl弓I腳引入,它不受中斷允許標志的影響,每個系統(tǒng)中僅允許有一個,都是用來處理緊急情況的,如掉電處理。這種中斷一旦發(fā)生,系統(tǒng)會立即響應;可屏蔽中斷:由INTR引腳引入,它受中斷允許標志的影響,也就是說,只有當 IF = 1時,可屏蔽中斷才能進入,反之則不允許進入,可屏蔽中斷可有多個,一 般是通過優(yōu)先級排隊,從多個中斷源中選出一個進行

24、處理。INT n指令 軟件中斷(內部中斷):即根據(jù)某條指令或者對標志寄存器中某個標志的 設置而產生,它與硬件電路無關,常見的如除數(shù)為O ,或用INT n指令產生。非屏蔽中斷請求NMlINTRINT 3指令中斷邏輯中斷控制系統(tǒng)(8259A )可屏蔽中斷請求軟件中斷硬件中斷溢出中斷由INTO指令引起斷點中斷由INT3指令引起單步由標志TF引起不對應指令除0由計算結果引起/不對應指令2. 中斷類型碼:8086/8088 為每個中斷源分配了一個中斷類型碼,其取值范圍為0255, 即可處理56種中斷。其中包括軟件中斷,系統(tǒng)占用的中斷以及開放給用戶使用 的中斷。二、中斷向量和中斷向量表系統(tǒng)處理中斷的方法很

25、多,處理中斷的步驟中最主要的一步就是如何根據(jù)不 同的中斷源進入相應的中斷服務子程序,目前用的最多的就是向量式中斷。中斷向量:把各個中斷服務子程序的入口都稱為一個中斷向量;中斷向量表:將這些中斷向量按一定的規(guī)律排列成一個表, 就是所謂的中斷向量 表,當中斷源發(fā)出中斷請求時,即可查找該表,找出其中斷向量,就可轉入相應的中斷服務子程序。8086/8088 中斷系統(tǒng)中的中斷向量表 是位于0段的03FFFH的存貯區(qū)內,每 個中斷向量占四個單元,其中前兩個單元存 放中斷處理子程序的入口地址的偏移量(IP),低位在前,高位在后;后兩個單元 存放中斷處理子程序入口地址的段地址(CS),也是低位在前,高位在后,

26、整個中 斷向量的排列是按中斷類型號進行的。見P圖 5-14。圖示給出了中斷類型碼與中斷向量所在 位置之間的對應關系。其中 00H04H為 專用中斷,05H3FH為系統(tǒng)保留中斷,用戶一般是不能對它們定義的(這里面有一些為固定的用途,如INT 21H即為 MS DOS圖 5-14的系統(tǒng)調用),40FF為用戶定義的中斷。QQH04H系統(tǒng)專用10H 1FH BIQS 用40HFFH用戶用08HQFH硬件中斷20H3FH DQS用中斷類型號* 4即可計算某個中斷類型的中斷向量在整個中斷向量表中的位置。如類型號為20H ,則中斷向量的存放位置為20H * 4 = 80H,(設中斷服務 子程序的入口地址為

27、4030 : 2010 ,則在0000 : 0080H0000 : 0083H 中 就應順序放入10H、20H、30H、40H。當系統(tǒng)響應20H號中斷時,會自動查 找中斷向量,找出對應的中斷向量裝入 CS、IP ,即轉入該中斷服務子程序。三、中斷響應過程與時序8086/8088 對軟件中斷和硬件中斷響應的過程是不同的,這是由于軟件中 斷和硬件中斷所產生的原因不同,下面主要討論硬件中斷的情況。1. 硬件中斷的響應過程硬件中斷指的是由NMl弓I腳進入的非屏蔽中斷或由INTR引腳進入的可屏 蔽中斷。下面以可屏蔽中斷為例。CPU在INTR引腳上接到一個中斷請求信號,如果此時 IF = 1,CPU就會

28、在當前指令執(zhí)行完以后開始響應外部的中斷請求, 這時,CPU在INTA引腳連續(xù) 發(fā)兩個負脈沖,外設在接到第二個負脈沖以后,在數(shù)據(jù)線上發(fā)送中斷類型碼,接 到這個中斷類型碼后,CPU做如下動作:將中斷類型碼放入暫存器保存; 將標志寄存器內容壓入堆棧,以保護中斷時的狀態(tài); 將 IF 和 TF 標志清 0 ,目的是防止在中斷響應的同時又來別的中斷,而將 TF 清0 是為了防止 CPU 以單步方式執(zhí)行中斷處理子程序。這時要特別提醒,因 為 CPU 在中斷響應時自動關閉了 IF 標志,因此用戶如要進行中斷嵌套時, 必須在自己的中斷處理子程序中用開中斷指令來重新設置 IF; 保護斷點,斷點指的是在響應中斷時,

29、主程序當前指令下面的一條指令的地址。 因此保護斷點的動作就是將當前的 IP 和 CS 的內容入棧,保護斷點是為了以 后正確地返回主程序; 根據(jù)取到的中斷類型碼,在中斷向量表中找出相應的中斷向量,將其裝入IP和 CS ,即呆自動轉向中斷服務子程序。對NMl進入的中斷請求,由于其類型碼固定為 2,因此CPU不用從外設讀 取類型碼,也不需計算中斷向量表的地址,只要將中斷向量表中OOOO : 0008H 0000 :000BH 單元內容分別裝入 IP 和 CS 即可。圖 5-15 給出了 8O86/8O88 中斷響應過程的流程圖,對這個圖我們做幾點說明: 8086/8088 除軟件中斷外,內部“非屏蔽

30、中斷”、“可屏蔽中斷”均設立有優(yōu)先級,其中 內中(除單步外)即 0、1、3、4號中斷的優(yōu)先級高于非屏蔽中斷,非屏蔽中斷高于 可屏蔽中斷,單步中斷優(yōu)先級最低; 只有在可屏蔽中斷的情況下才判 IF = 1 ?,才取中斷類型碼,其余的沒有這個動作。 關于單步中斷, 它是每執(zhí)行一條指令中斷一次, 顯示出當時各寄存器的內容, 供用戶參考,當進入單步中斷響應時, CPU自動清除了 TF ,在中斷返回后,由于恢復了響應時的標志 寄存器的值,因此 TF = 1 ,執(zhí)行完一條指令后又進入單步中斷,直到程序將TF改為0為止。 關于中斷的嵌套, NMI 總是可以響應的, 若在中斷處理子程序中設立了開中斷指令, INTR 的請求也能響應。 彈出IP、CS、標志,返回斷點的動作由 IRET

溫馨提示

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

評論

0/150

提交評論