微機(jī)原理與接口技術(shù)——中斷系統(tǒng).ppt_第1頁
微機(jī)原理與接口技術(shù)——中斷系統(tǒng).ppt_第2頁
微機(jī)原理與接口技術(shù)——中斷系統(tǒng).ppt_第3頁
微機(jī)原理與接口技術(shù)——中斷系統(tǒng).ppt_第4頁
微機(jī)原理與接口技術(shù)——中斷系統(tǒng).ppt_第5頁
已閱讀5頁,還剩141頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第七章 中斷系統(tǒng),2,掌握:,中斷的基本概念 中斷響應(yīng)的一般過程 中斷向量表及其初始化 8088/8086中斷系統(tǒng) 可編程中斷控制器8259A 中斷調(diào)用,3,一、中斷的基本概念,中斷: CPU執(zhí)行程序時,由于發(fā)生了某種隨機(jī)的事件(外部或內(nèi)部),引起CPU暫時中斷正在運(yùn)行的程序,轉(zhuǎn)去執(zhí)行一段特殊的服務(wù)程序(稱為中斷服務(wù)程序或中斷處理程序),以處理該事件,該事件處理完后又返回被中斷的程序繼續(xù)執(zhí)行,這一過程稱為中斷。,4,中斷源,引起CPU中斷的事件,發(fā)出中斷請求的來源。,內(nèi)部中斷,外部中斷,異常中斷,軟件中斷,可屏蔽中斷,非屏蔽中斷,異常事件引起,中斷指令引起,INTR中斷,NMI中斷,5,引入中

2、斷的原因,提高數(shù)據(jù)傳輸率; 避免了CPU不斷檢測外設(shè)狀態(tài)的過程,提高了CPU的利用率。 實(shí)現(xiàn)對特殊事件的實(shí)時響應(yīng)。,6,中斷系統(tǒng),正確識別中斷請求,實(shí)現(xiàn)中斷響應(yīng)、中斷處理及中斷返回; 實(shí)現(xiàn)中斷優(yōu)先級排隊(duì); 實(shí)現(xiàn)中斷嵌套,中斷系統(tǒng)是指實(shí)現(xiàn)中斷功能的軟硬件的統(tǒng)稱。功能有:,中斷系統(tǒng)的功能,實(shí)現(xiàn)中斷及返回 中斷源發(fā)出中斷請求,CPU決定是否響應(yīng):若響應(yīng),則保護(hù)斷點(diǎn)和現(xiàn)場,轉(zhuǎn)入相應(yīng)中斷服務(wù)程序,中斷服務(wù)結(jié)束后,恢復(fù)現(xiàn)場和斷點(diǎn),繼續(xù)執(zhí)行原程序。,7,非預(yù)料事件是指事件發(fā)生的時間無法預(yù)知,即中斷源何時產(chǎn)生中斷不確定,是隨機(jī)的。,中斷源產(chǎn)生中斷的隨機(jī)性,使中斷服務(wù)程序的執(zhí)行也具有隨機(jī)性,即何時執(zhí)行中斷服務(wù)程

3、序不是在程序中安排好的。,中斷系統(tǒng)的功能(續(xù)),8,實(shí)現(xiàn)優(yōu)先權(quán)排隊(duì) 按各中斷請求的重要程度排列CPU響應(yīng)的次序稱為中斷優(yōu)先級。 即同時有多個中斷請求到來時,CPU會首先響應(yīng)和處理優(yōu)先級別最高的中斷請求。 中斷優(yōu)先級的實(shí)現(xiàn)可以用軟件或硬件的辦法。,中斷系統(tǒng)的功能(續(xù)),9,實(shí)現(xiàn)中斷嵌套: 當(dāng)CPU在處理某一級中斷時,若有高一級的中斷請求,中斷系統(tǒng)應(yīng)能安排CUP暫時停止現(xiàn)行的中斷處理,響應(yīng)高一級的中斷,中斷系統(tǒng)的功能(續(xù)),10,11,二、外部中斷響應(yīng)的一般過程,中斷請求 中斷源識別及中斷判優(yōu) 中斷響應(yīng) 中斷處理(服務(wù)) 中斷返回,12,中斷請求,中斷請求信號應(yīng)保持到中斷被處理為止; CPU響應(yīng)中

4、斷后,中斷請求信號應(yīng)及時撤銷。,NMI(非屏蔽中斷) INTR(可屏蔽中斷),13,中斷源識別,軟件查詢法 中斷矢量法 由中斷源提供中斷類型號,CPU根據(jù)類型確定中斷源。,中斷源識別及判優(yōu)由硬件系統(tǒng)完成,14,中斷判優(yōu),當(dāng)有多個中斷源同時提出請求時,需要確定首先響應(yīng)哪一個中斷源。 優(yōu)先級法則 低優(yōu)先級的中斷程序允許被高優(yōu)先級的中斷源所中斷 排隊(duì)法則 先來先響應(yīng),中斷嵌套,15,中斷判優(yōu),軟件判優(yōu) 順序查詢中斷請求,先查詢的先服務(wù) 即先查詢的優(yōu)先級別高 硬件判優(yōu) 鏈?zhǔn)脚袃?yōu)、并行判優(yōu)(中斷向量法),16,中斷響應(yīng),向中斷源發(fā)出INTA中斷響應(yīng)信號; 關(guān)中斷 保護(hù)硬件現(xiàn)場 將FLAGS壓入堆棧 保護(hù)

5、斷點(diǎn) 將CS、IP壓入堆棧 獲得中斷服務(wù)程序入口地址,由硬件系統(tǒng)完成,17,中斷處理,保護(hù)現(xiàn)場 執(zhí)行中斷服務(wù)程序 恢復(fù)現(xiàn)場 中斷服務(wù)程序的特點(diǎn): 為“遠(yuǎn)過程” 用IRET指令返回,18,中斷服務(wù)子程序完成的工作,關(guān)中斷,保護(hù)現(xiàn)場,保護(hù)斷點(diǎn),找入口地址 保護(hù)軟件現(xiàn)場(參數(shù)) 開中斷(STI) 中斷處理 關(guān)中斷(CLI) 恢復(fù)現(xiàn)場 中斷返回,19,中斷返回,執(zhí)行IRET指令,使IP、CS和FLAGS從堆棧彈出 如要實(shí)現(xiàn)中斷嵌套,則在保護(hù)現(xiàn)場后,要執(zhí)行開中斷指令,恢復(fù)斷點(diǎn)和硬件現(xiàn)場,中斷處理過程流程,20,當(dāng)前CPU正在進(jìn)行某一優(yōu)先權(quán)級別的中斷源的處理; 有更高級別的中斷源發(fā)出請求,且新中斷源滿足響

6、應(yīng)條件; CPU中止當(dāng)前的中斷服務(wù)程序,保護(hù)斷點(diǎn)和現(xiàn)場,轉(zhuǎn)而響應(yīng)高級中斷 這種多級中斷的處理方式即為“嵌套”。某些中斷系統(tǒng)對中斷嵌套的層數(shù)有一定限制。,中斷嵌套,21,高級中斷源能中斷低級的中斷處理 當(dāng)CPU正在處理某個中斷時,如果外部又有一個優(yōu)先級別比本優(yōu)先級別更高的中斷請求,則可以實(shí)現(xiàn)中斷嵌套。,22,中斷嵌套,中斷嵌套示意圖,23,中斷服務(wù)程序(用戶自行編制): 保護(hù)現(xiàn)場:保存CPU內(nèi)部各寄存器的內(nèi)容,以便在服務(wù)程序中使用; 開總中斷:將IF置1,使CPU在中斷服務(wù)期間仍能響應(yīng)更高級的INTR請求; 具體處理:用戶的中斷服務(wù) 關(guān)總中斷:將IF位清0; 恢復(fù)現(xiàn)場:將入棧保護(hù)的各寄存器內(nèi)容依

7、次彈出; 中斷返回:執(zhí)行IRET指令,CPU將自動彈出給IP、CS、FLAGS,就可以接著執(zhí)行被中斷的原程序; 開總中斷:再次將IF位置1,使返回后能夠重新響應(yīng),24,25,7.2 8086中斷系統(tǒng),內(nèi)部中斷 外部中斷,異常中斷 軟件中斷,非屏蔽中斷 可屏蔽中斷,256個中斷源,除法錯中斷 溢出中斷 單步中斷 ,根據(jù)8086內(nèi)部的中斷邏輯電路,各種中斷源的優(yōu)先權(quán)順序?yàn)椋罕?除中斷軟件中斷INTO NMI INTR 單步中斷。,CPU內(nèi)的中斷邏輯,8086中斷系統(tǒng),26,中斷類型碼、中斷向量表和中斷向量,中斷類型碼:8086可以處理256個中斷請求,每個中斷請求均對應(yīng)于惟一固定的類型碼。被0除類

8、型碼是0,單步為1;NMI為2;斷點(diǎn)中斷為3,溢出中斷為4 等。 中斷向量:即中斷服務(wù)程序的入口地址,包括段地址(高字單元)和偏移地址(低字單元)。 中斷向量表:存放中斷向量的表,位于內(nèi)存空間的最低地址單元,長1KB。共可容納256個中斷向量(25641024)。,27,中斷類型碼,一、中斷類型碼:8086可以處理256個中斷請求。每個中斷請求均對應(yīng)于唯一固定的類型碼。被0除類型碼是0,單步為1; NMI為2;斷點(diǎn)中斷為3,溢出中斷為4;等。,28,IBM PC/XT中斷源的功能,INTR,BIOS 可調(diào)用,DOS 可調(diào)用,29,1、非屏蔽中斷(NMI):不受中斷標(biāo)志位的控制,中斷類型號為2,

9、所以中斷向量放在0000:0008開始的4個單元中。NMI中斷一般用于緊急情況的處理,不受中斷標(biāo)志位IF影響 。 2、可屏蔽中斷(INTR):受中斷標(biāo)志位的控制,IF=1,CPU才能響應(yīng)INTR中斷。CPU響應(yīng)INTR中斷時,往INTA引腳上發(fā)兩個負(fù)脈沖,外設(shè)接到第二個負(fù)脈沖后,立即往數(shù)據(jù)總線上送出中斷類型碼,供CPU讀取。,1、外部中斷硬件中斷,30,非屏蔽中斷NMI,IBM PC/XT的NMI來源于三方面: 存儲器奇偶校驗(yàn)錯誤PCK I/O通道奇偶校驗(yàn)錯誤IOCHCK 協(xié)處理器產(chǎn)生異常N.P.NPI 三種信號通過NMI屏蔽觸發(fā)器,向CPU的NMI引腳送出; 系統(tǒng)上電之初,RESET信號先將

10、NMI屏蔽觸發(fā)器清0。等系統(tǒng)自檢完成之后,再寫入控制字解除對NMI的屏蔽。,31,外部中斷源的管理,多個外部硬件中斷源共用一條INTR線時,要在程序中采取一定措施或用外部硬件解決中斷源的優(yōu)先權(quán)排列和多級中斷的嵌套等。 中斷優(yōu)先權(quán)(優(yōu)先級):中斷優(yōu)先權(quán)就是為每個中斷源所確定的響應(yīng)級別。 軟件排序:CPU響應(yīng)中斷后,在程序中用查詢的方法判定外設(shè)的中斷請求。,32,外部中斷源的管理,軟件查詢排序的特點(diǎn)是:查詢次序即優(yōu)先權(quán)排序,最先被詢問的故障具有最高優(yōu)先級;節(jié)省硬件;修改方便,只要改變程序中的查詢次序即可;由詢問轉(zhuǎn)至真正的服務(wù)程序入口時間長,在中斷源較多的情況下執(zhí)行速度較慢。 硬件排序:采用優(yōu)先權(quán)的

11、編碼電路,對各種外部硬中斷進(jìn)行排隊(duì)。還有菊花鏈?zhǔn)接布判螂娐?,以及中斷控制集成芯?259A,33,34,2、內(nèi)部中斷軟件中斷,內(nèi)部中斷指由指令的執(zhí)行或軟件對標(biāo)志寄存器中某個標(biāo)志的設(shè)置產(chǎn)生的中斷,專用中斷 指令中斷,內(nèi)部中斷的種類,(1)除法出錯中斷 類型號為00H,除法出錯中斷既不是外部硬件產(chǎn)生,也不是用軟件指令產(chǎn)生,而是CPU自身產(chǎn)生的,因此0型中斷沒有對應(yīng)的中斷指令,即指令系統(tǒng)中沒有INT 0這條指令。,35,36,對單步中斷要注意三點(diǎn): 一、所有類型的中斷在其處理過程中,CPU會自動地把標(biāo)志寄存器FLAGS壓入堆棧,然后清除TF和IF。因此當(dāng)CPU進(jìn)入單步中斷處理程序時,就不再處于單步

12、工作方式,而以正常方式工作。只有在單步處理結(jié)束時,從堆棧中彈出原來的標(biāo)志,才能使CPU又回到單步方式。(IF=1, TF=1) 二、通常程序編制好后,在DEBUG調(diào)試程序時可使用單步中斷檢查程序,是通過跟蹤命令TF來實(shí)現(xiàn)單步運(yùn)行。,(2)單步中斷(陷阱中斷) 類型號為01H,37,三、8086/8088指令系統(tǒng)中沒有設(shè)置或清除TF標(biāo)志的指令,但指令系統(tǒng)中的PUSHF和POPF為程序員提供了置位或復(fù)位TF的手段。置位和復(fù)位TF的程序段如下所示:,(2)單步中斷(陷阱中斷) 類型號為01H,內(nèi)部中斷的種類,置位TF標(biāo)志(D8=1) PUSHF POP AX OR AX, 0100H PUSH AX

13、 POPF,;復(fù)位TF標(biāo)志 PUSHF POP AX AND AX, 0FEFFH PUSH AX POPF,(2)單步中斷(陷阱中斷) 類型號為01H,38,內(nèi)部中斷的種類,39,(3) 斷點(diǎn)中斷 類型號為03H,設(shè)置斷點(diǎn)實(shí)際上是把一條斷點(diǎn)指令I(lǐng)NT 3插入程序中,CPU每執(zhí)行到斷點(diǎn)處的INT 3指令便產(chǎn)生一個中斷。,(4)溢出中斷 類型號為04H,在執(zhí)行溢出中斷指令I(lǐng)NTO時,若標(biāo)志寄存器FLAGS中的溢出標(biāo)志OF=1,則產(chǎn)生一個類型號為4的內(nèi)部中斷,稱為溢出中斷。,內(nèi)部中斷的種類,對帶符號數(shù)來說,溢出就意味著出錯(加、減運(yùn)算),一旦產(chǎn)生應(yīng)立即發(fā)現(xiàn),而CPU并不知道當(dāng)前處理的數(shù)據(jù)是無符號數(shù)

14、還是帶符號數(shù),只有程序員才明確這一點(diǎn)。 因此通常在帶符號數(shù)的加、減法運(yùn)算后面總是跟著INTO指令,40,(4)溢出中斷 類型號為04H,41,如下面的指令用來測試加法的溢出: ADD AX ,VALU INTO,當(dāng)標(biāo)志寄存器的OF=0時,則INTO指令不產(chǎn)生中斷,CPU繼續(xù)運(yùn)行原程序; 當(dāng)OF=1時,進(jìn)入溢出中斷處理程序,打印出一個出錯信息,在處理程序結(jié)束時,不返回原程序繼續(xù)運(yùn)行,而是把控制交給操作系統(tǒng)。,(4)溢出中斷 類型號為04H,42,(5) 指令中斷,在8086/8088的指令系統(tǒng)中,當(dāng)CPU執(zhí)行中斷指令I(lǐng)NT n時,也能形成內(nèi)部中斷,其中n在理論上可取值0255。當(dāng)n0、1、3、4

15、時,就是上述的四種內(nèi)部中斷。,內(nèi)部中斷的種類,內(nèi)部中斷的特點(diǎn),(1)除單步中斷以外,所有內(nèi)部中斷都不能被屏蔽。 (2) 所有內(nèi)部中斷不從外部接口中讀取中斷類型號也不發(fā)送中斷響應(yīng)信號,即不執(zhí)行中斷響應(yīng)的總線周期。 (3) 指令中斷沒有隨機(jī)性,外中斷是隨機(jī)性的。指令中斷是由程序中指令引起的,指令位置事先已知。外中斷是隨機(jī)性的,由I/O設(shè)備引起,何時引起事先未知。,43,44,(4) 除單步中斷外,所有內(nèi)部中斷的優(yōu)先權(quán)都比外部中斷的優(yōu)先權(quán)高。,內(nèi)部中斷的特點(diǎn),8086中斷的優(yōu)先級別:,內(nèi)部中斷(單步中斷除外),非屏蔽中斷,可屏蔽中斷,單步中斷,IBM PC/XT中斷源的功能,INTR,BIOS 可調(diào)

16、用,DOS 可調(diào)用,45,中斷向量和中斷向量表,一、中斷向量:中斷服務(wù)程序的入口地址,包括段地址(CS, 存放于高4字節(jié)單元)和偏移地址(IP, 存放于低4字節(jié)單元)。 二、中斷向量表:存放中斷向量的表格。位于內(nèi)存空間的最低地址,長度1KB,可容納256類中斷向量(25641024)。中斷號與中斷服務(wù)程序入口地址的連接表,46,中斷向量和中斷向量表,47,48,中斷向量表的初始化,將用戶自定義的中斷服務(wù)程序入口地址放入向量表 注意點(diǎn): 向量表所在的段地址=0 存放子程序入口的單元的偏移地址=n4,中斷向量的設(shè)置方法,用三種方法來為中斷類型N設(shè)置中斷向量,1) 直接裝入法 MOV AX, 00H

17、 MOV DS, AX MOV BX, N*4;中斷號BX MOV AX, OFFSET NEWINT ;中斷服務(wù)程序偏移地址 MOV WORD PTR BX,AX;裝入偏移地址 MOV AX, SEG NEWINT;段基址 MOV WORD PTR BX+2,AX;裝入段基址,NEWINT PROC,IRET NEWINT ENDP,、 、 、,、 、 、,49,中斷向量的設(shè)置方法,2) 使用串送存指令裝入法 CLI;關(guān)中斷 MOV AX, 0 MOV ES, AX;ES=0 MOV DI, N*4;中斷向量指針 MOV AX, OFFSET NEWINT;偏移地址 CLD;DF=0,增地址

18、 STOSW; 存串指令 AXDIDI+1,再DI+2 MOV AX, SEG NEWINT; 段基址 STOSW;存串指令 AXDI+2DI+3 STI;開中斷,50,中斷向量的設(shè)置方法,3) 使用DOS功能調(diào)用設(shè)置中斷向量 設(shè)置中斷向量是把由AL指定的中斷類型N的中斷向量DS:DX放置在中斷向量表中。 預(yù)置:(AH)=25H 功能號 ( AL)=N 中斷類型號 DS:DX=中斷向量 執(zhí)行:INT 21H,例如: MOV AX, SEG NEWINT MOV DS, AX MOV DX, OFFSET NEWINT MOV AL, N MOV AH, 25H INT 21H,51,中斷向量的

19、設(shè)置方法,例:利用 INT 21H 設(shè)置中斷向量 MOV AH,25H; DOS功能調(diào)用號25H AH MOV AL,40H; 將設(shè)置的中斷類型碼 AL MOV DS,SEG USERINT MOV DX,OFFSET USERINT ; 入口參數(shù):中斷服務(wù)程序的入口地址 DS:DX INT 21H 執(zhí)行之后,中斷服務(wù)程序的入口地址值將放入中斷向量表中n4處連續(xù)的4個單元中。,52,53,7.2.4 中斷響應(yīng)與處理,一、內(nèi)部中斷響應(yīng)過程 1. 當(dāng)內(nèi)部中斷發(fā)生時, 或由INT n指令獲得中斷類型碼, 或是按預(yù)定方式得到中斷類型碼(專用中斷:0、1、3、4); 2. 將類型碼4,作為中斷向量表的指

20、針; 3. FR(PSW)入棧保護(hù);,54,4. 清除IF和TF標(biāo)志(0 IF、0 TF,屏蔽新的INTR中斷和單步中斷; 5. 把斷點(diǎn)處的IP和CS值壓入堆棧:先壓入CS值,再壓入IP值; 6. 取中斷向量(中斷服務(wù)程序的入口地址),分別送至CS和IP。 按新的地址執(zhí)行中斷服務(wù)子程序。,內(nèi)部中斷響應(yīng)過程,55,內(nèi)部中斷的特點(diǎn): 1進(jìn)入中斷時,不需要執(zhí)行中斷響應(yīng)周期去獲得中斷類型碼。 2除單步中斷外,內(nèi)部中斷無法用軟件禁止,不受IF的影響。 3內(nèi)部中斷沒有隨機(jī)性,由指令在程序中的位置決定。 4除單步中斷外,內(nèi)部中斷優(yōu)先級高于硬件中斷。,內(nèi)部中斷響應(yīng)過程,外部中斷響應(yīng)過程,1. 非屏蔽中斷NMI

21、的響應(yīng) 中斷類型碼為2。 當(dāng)NMI發(fā)生時,CPU在執(zhí)行完當(dāng)前指令后,轉(zhuǎn)去中斷類型碼為2的中斷服務(wù)子程序。 響應(yīng)過程(除中斷類型碼獲得方式外)同INT n。 CPU提供,不是外設(shè)提供。,56,57,可屏蔽中斷INTR:CPU將執(zhí)行持續(xù)兩個總線周期的中斷響應(yīng)周期。第一個總線周期 INTA*有效,向外設(shè)送出的中斷應(yīng)答信號;第二個總線周期INTA*再次有效,表示外設(shè)應(yīng)送出中斷類型碼。CPU將在T4周期前沿讀取中斷類型碼。,外部中斷響應(yīng)過程,58,在INTR線上的請求信號(高電平)必須保持到當(dāng)前指令的結(jié)束。 當(dāng)INTR線有效且IF=1,則CPU在當(dāng)前指令執(zhí)行完畢后,響應(yīng)外部中斷請求,轉(zhuǎn)入中斷響應(yīng)周期。

22、中斷響應(yīng)周期有2個,每個響應(yīng)周期由4個T組成,中間以空閑狀 態(tài)(3個)隔開。,2. 可屏蔽中斷INTR的響應(yīng),59,在每個中斷響應(yīng)周期,CPU都往引腳INTA*發(fā)一個負(fù)脈沖信號 請求中斷的外設(shè)在收到第2個INTA*時,將中斷類型碼 DB(通常由8259傳送)。 獲得中斷類型碼后,則轉(zhuǎn)入中斷處理過程(同內(nèi)部中斷)。 INTR共執(zhí)行7個總線周期。,中斷響應(yīng)周期時序,CPU從引腳INTA 發(fā)中斷響應(yīng)信號, 接口芯片接收此信號,把中斷類型號準(zhǔn)備好;同時ISRi=1,IRRi=0。 CPU再從引腳INTA 發(fā)中斷響應(yīng)信號, 接口芯片接此信號后,將中斷類型號送至數(shù)據(jù)總線上; CPU從數(shù)據(jù)總線獲取中斷類型號

23、。,60,61,中斷類型碼的獲取 NMI、斷點(diǎn)中斷、溢出中斷、被0除、單步中斷等類型碼固定。 INT N軟中斷類型碼由立即數(shù)N給出。 外部中斷讀取中斷類型碼。,中斷響應(yīng)過程,62,63,已知中斷類型碼后,如何進(jìn)入中斷服務(wù)程序? 1、將中斷類型碼乘以4,得到中斷向量表的向量首址指針; 2、將斷點(diǎn)(當(dāng)前CS、IP的值)入棧保護(hù); 3、取中斷向量:把向量表指針?biāo)傅?個連續(xù)字節(jié)的內(nèi)容作為中斷服務(wù)程序的入口地址,分別送給IP和CS; 4、按新的CS:IP指針執(zhí)行中斷服務(wù)程序。,中斷響應(yīng)過程,64,(FLAG),0150,1000,中斷響應(yīng)過程,四、中斷過程舉例 設(shè)某輸入設(shè)備數(shù)據(jù)準(zhǔn)備就緒后向CPU申請可

24、屏蔽中斷,中斷類型碼為80H,中斷響應(yīng)后執(zhí)行的服務(wù)子程序名為INTPROC。 程序開始,首先應(yīng)對中斷向量表進(jìn)行安排,即先進(jìn)行中斷初始化。程序如下:, CLI PUSHDS MOVAX,0000H;中斷向量指針的段基址 MOVDS,AX MOVBX,0200H;中斷向量指針的偏移量 MOVAX,OFFSET INTPROC MOVBX,AX;偏移量 中斷向量表 MOVAX,SEG INTPROC MOVBX+2,AX;段基址 中斷向量表 POPDS STI ,65, CLI PUSHDS MOVAX,0000H;中斷向量指針的段基址 MOVDS,AX MOVBX,0200H;中斷向量指針的偏移量

25、 MOVAX,OFFSET INTPROC MOVBX,AX;偏移量 中斷向量表 MOVAX,SEG INTPROC MOVBX+2,AX;段基址 中斷向量表 POPDS STI MOVAX, 2000H ADDAX,AX MOVSI,AX ,66,(1)INTR有效,外設(shè)申請中斷,67,START:MOVAX,DATA MOVDS,AX CLI;關(guān)中斷,設(shè)置中斷向量 SUB AX,AX MOVES,AX;中斷向量表的段基址為0000H MOVDI,460H;在中斷向量表中的偏移量 MOVAX,OFFSET INTSV CLD STOSW;寫中斷向量的偏移量 MOVAX,SEG INTSV S

26、TOSW ;寫中斷向量的段基址 STI INT60H ;軟中斷指令 MOVAH,4CH;返回DOS INT21H,定義一個軟中斷,中斷類型號為60H,在中斷服務(wù)程序中完成ASCII碼加偶校驗(yàn)位(第7位)的工作,ASCII碼首地址為ASCBUF,字節(jié)數(shù)為COUNT,加偶校驗(yàn)位后仍放回原處。,68,INTSV PROC ;中斷服務(wù)程序 PUSHAX ;保護(hù)現(xiàn)場 PUSHBX PUSHCX MOVCX,COUNT MOVBX,OFFSETASCBUF L2:MOVAL,BX ANDAL,AL;建立標(biāo)志PF, PF=1,有偶數(shù)個1 JPL1 ORAL,80H MOVBX,AL;加入偶校驗(yàn)后寫回 L1:

27、INCBX LOOPL2 POPCX;恢復(fù)現(xiàn)場 POPBX POPAX IRET,69,利用DOS功能調(diào)用設(shè)置中斷向量表 設(shè)置中斷向量: 把由AL指定中斷類型碼的中斷向量DS:DX置在中斷向量表中。 預(yù)置 AH=25H, AL=中斷類型碼 DS:DX=中斷向量 執(zhí)行 INT 21H,讀取中斷向量: 把由AL指定中斷類型碼的中斷向量從中斷向量表中取到ES:BX中。 預(yù)置 AH=35H, AL=中斷類型碼 執(zhí)行 INT 21H 返回時送: ES:BX=中斷向量,70,7.3 可編程中斷控制器8259A,專用于系統(tǒng)內(nèi)可屏蔽硬件中斷的控制,管理系統(tǒng)的外部中斷請求。 主要功能特點(diǎn): 1、每片8級優(yōu)先級管

28、理,級聯(lián)后可達(dá)64級 2、自動產(chǎn)生中斷向量 3、每路中斷可分別屏蔽 4、功能靈活, 優(yōu)先權(quán)等多種工作方式可編程,71,7.3.1 8259A的結(jié)構(gòu)和功能,72,8259A的內(nèi)部結(jié)構(gòu),IRR中斷請求寄存器(8位) 保存8個(IR0IR7)外部中斷請求信號 Di1,表示IRi引腳有中斷請求 Di0,表示IRi引腳無中斷請求,73,IR中斷屏蔽寄存器(8位) 保存對中斷請求信號IRi的屏蔽狀態(tài); Di1,則IRi引入的中斷被屏蔽(關(guān)閉); Di0,則IRi引入的中斷被開放。,8259A的內(nèi)部結(jié)構(gòu)(續(xù)),74,當(dāng)IR7IR0端有多個中斷請求同時發(fā)生時, 由PR判定其最高優(yōu)先權(quán); 在INTA脈沖期間將它

29、置入中斷服務(wù)寄存器ISR的相應(yīng)位。,PR優(yōu)先權(quán)判別器(8位),8259A的內(nèi)部結(jié)構(gòu)(續(xù)),75,76,ISR中斷服務(wù)寄存器(8位) 保存正在被8259A服務(wù)著的中斷狀態(tài); Di1,表示IRi中斷正在服務(wù)中; Di0,表示沒有被服務(wù)。,8259A的內(nèi)部結(jié)構(gòu)(續(xù)),8位雙向三態(tài)緩沖器,構(gòu)成8259A與系統(tǒng)數(shù)據(jù)線的接口。對8259A編程寫入的命令字和讀出8259A狀態(tài)信息都是通過它傳送。,數(shù)據(jù)總線緩沖器,8259A的內(nèi)部結(jié)構(gòu)(續(xù)),77,78,讀寫控制邏輯,接收讀/寫控制信號RD / WR、片選信號CS和端口選擇信號A0 。一片8259A在系統(tǒng)中占用2個口地址, 用地址線A0來選擇端口;用高位地址線

30、通過譯碼產(chǎn)生8259A的片選信號。,8259A的內(nèi)部結(jié)構(gòu)(續(xù)),包括命令字(ICW1ICW4)寄存器,操作字(OCW1OCW3)寄存器和相關(guān)的控制邏輯; 通過INT端向CPU發(fā)中斷請求信號, 從INTA端接收CPU的中斷響應(yīng)信號, 控制8259A進(jìn)入中斷狀態(tài)。,控制電路,級連緩沖/比較器,一片8259A只能接收8級中斷, 當(dāng)超過8級時,可用多片8259A級連使用, 構(gòu)成主從結(jié)構(gòu)??蓴U(kuò)充到64級。,8259A的內(nèi)部結(jié)構(gòu)(續(xù)),79,中斷級連方式的連接,一個系統(tǒng)中,8259A可以級連,有一個主8259A,若干個(最多8個)從8259A 級連時,主8259A的三條級連線CAS0CAS2作為輸出線,連

31、至每個從8259A的CAS0CAS2 每個從8259A的中斷請求信號INT,連至主8259A的一個中斷請求輸入端IR 主8259A的INT線連至CPU的中斷請求輸入端 SP/EN在非緩沖方式下,規(guī)定該8259A是主片(SP1)還是從片(SP0),動畫,圖示,80,8259級連電路,81,8259A的引腳功能,D7D0 : 雙向數(shù)據(jù)總線。傳送控制、狀態(tài)信息和中斷類型號。 WR* : 寫信號。輸入, 低電平有效。當(dāng)有效時, 8259A接收CPU送來的命令字。 RD* : 讀信號。輸入, 低電平有效。當(dāng)有效時, 8259A將狀態(tài)信息放入數(shù)據(jù)總線供CPU檢測。,82,A0 : 內(nèi)部地址信號,輸入。82

32、59A只占兩個地址, A0與CS* 一同構(gòu)成8259A的端口奇/偶地址選擇。 CS*: 片選信號。輸入, 低電平有效。有效時, CPU可對該8259A進(jìn)行讀寫。,8259A的引腳功能(續(xù)),83,與處理器接口引腳的邏輯功能,84,IR7IR0 : 外部中斷請求信號,輸入。 INT :中斷請求信號,輸出。當(dāng)IR7IR0任一引腳有中斷請求時, 8259A從INT向CPU發(fā)出中斷請求信號。 INTA :中斷響應(yīng)信號,輸入。當(dāng)CPU接收到中斷請求信號,在允許中斷條件下, CPU響應(yīng)中斷, 并發(fā)出中斷響應(yīng)信號到INTA端。,8259A的引腳功能(續(xù)),85,CAS2CAS0 : 級連信號,雙向引腳。用于

33、控制多片8259A的級連使用。 主片: CAS2CAS0 引腳輸出 從片: CAS2CAS0 引腳輸入 SP / EN : 雙功能引腳。 當(dāng)緩沖方式時, 該引腳輸出, 它用于總線收發(fā)器的使能信號; 當(dāng)非緩沖方式時, 該引腳輸入, SP=1表示該片是主片, SP=0表示該片是從片。,8259A的引腳功能(續(xù)),86,8259A的工作過程,動畫,87,2. 當(dāng)外設(shè)發(fā)出中斷請求后,其對外部中斷請求的處理過程如下: 若有IRi=1,則IRR中相應(yīng)位置1。 若對應(yīng)IMR中的相應(yīng)位為0,且經(jīng)優(yōu)先權(quán)判別器PR后,則8259A向CPUINTR。 若IF=1,則CPU在執(zhí)行完當(dāng)前指令后,發(fā)INTA8259A I

34、SR中對應(yīng)當(dāng)前最高優(yōu)先權(quán)的位為1,且IRR中相應(yīng)位清0。,8259A的工作過程,1. 上電后,由CPU執(zhí)行一段程序?qū)?259初始化(通過輸入初始化命令字實(shí)現(xiàn))。完成初始化后,8259A處于 就緒狀態(tài) 。,89,CPU 進(jìn)入響應(yīng)中斷的過程,繼而執(zhí)行中斷子程序。, CPU發(fā)第二個INTA8259A,8259ADB上送8位的向量號N(即中斷類型號,初始化8259A時已設(shè)定好)。 CPU做:N4 從中斷向量表中取出中斷服務(wù)程序的入口地址。 若8259A為AEOI(自動結(jié)束中斷),則在第二個INTA尾,ISR中相應(yīng)的位復(fù)位。否則,至中斷服務(wù)程序結(jié)束,發(fā)出EOI命令使ISR中相應(yīng)位復(fù)位.,中斷觸發(fā)方式 電

35、平觸發(fā)方式 當(dāng)IR7IR0 出現(xiàn)高電平時, 表示有中斷請求。這個高電平應(yīng)持續(xù)到8259A收到第一個中斷響應(yīng)脈沖之前。 邊沿觸發(fā)方式 當(dāng)IR7IR0 出現(xiàn)由低電平到高電平的躍變, 表示有中斷請求。,8259A中斷管理(工作)方式,91,中斷屏蔽方式,普通屏蔽方式 將IMR中某一位或幾位置“1”, 即可將相應(yīng)位的中斷請求屏蔽。例如,將11110000寫入IMR, 即可屏蔽IR7IR4的中斷,開放 IR3IR0 的中斷。 特殊屏蔽方式 通常情況下,當(dāng)一個中斷被響應(yīng)時,禁止同級或較低級別的中斷請求。在特殊屏蔽方式下,當(dāng)一個中斷被響應(yīng)時,僅屏蔽同級別的再次中斷,較低或較高級別的中斷請求可被允許進(jìn)入。,8

36、259A中斷管理(工作)方式(續(xù)),92,中斷優(yōu)先級別管理方式,完全嵌套方式(固定優(yōu)先級方式) IR7IR0的優(yōu)先級固定, IR0 為最高級, IR1次之,IR7為最低級。 CPU響應(yīng)某一級中斷時,8259A將ISR中與該中斷源對應(yīng)的那一位置“1”,并自動禁止同級和較低級的中斷請求,但高優(yōu)先級中斷可中斷當(dāng)前的服務(wù),實(shí)現(xiàn)中斷嵌套。,8259A中斷管理(工作)方式(續(xù)),93,特殊全嵌套方式,當(dāng)CPU正處理某級中斷請求時,只禁止較低級別的中斷請求,而允許同級或較高級的中斷請求進(jìn)入。 特殊全嵌套方式用于多片級連系統(tǒng)。當(dāng)主片處于該方式,可響應(yīng)來自同一從片的其它中斷請求。,8259A中斷管理(工作)方式

37、(續(xù)),94,自動循環(huán)方式,IR7IR0中斷源輪流為最高優(yōu)先級,當(dāng)任一級中斷服務(wù)結(jié)束后,該中斷源自動降為最低級,而它的下一級的中斷源自動升為最高級。,例如:現(xiàn)正為IR3引入的中斷服務(wù),若中斷服務(wù)程序完畢, IR3被賦予最低優(yōu)先級,IR4被賦予最高優(yōu)先級,各級中斷源的優(yōu)先級從高到低依次為: IR4 ,IR5 ,IR6 ,IR7 ,IR0 ,IR1 ,IR2 ,IR3 。,8259A中斷管理(工作)方式(續(xù)),95,特殊循環(huán)方式,用戶可置優(yōu)先權(quán)命令指定最低優(yōu)先級。,例如:設(shè)置IRi為最低優(yōu)先級,則最高優(yōu)先級賦予 IRi1,其它各級按循環(huán)方式類推。,8259A中斷管理(工作)方式(續(xù)),96,中斷結(jié)

38、束方式,把ISR寄存器的中斷服務(wù)標(biāo)志ISRi位清0,意味著結(jié)束IRi引入的中斷服務(wù)。如何將ISRi位清0,8259A提供了6種中斷結(jié)束方式。 自動EOI(Automatic End of Interrupt)方式 8259A在收到第2個中斷響應(yīng)脈沖信號之后,自動把ISR中置1的最高優(yōu)先級服務(wù)標(biāo)志 ISRi位清0,不需要在中斷服務(wù)程序中向8259A送中斷結(jié)束(EOI)命令字。,8259A中斷管理(工作)方式(續(xù)),97,普通EOI (End of Interrupt)方式,執(zhí)行IRET之前,向8259A送一個 EOI 命令字,將把ISR中相應(yīng)位清0。 在完全嵌套方式下,采用普通EOI方式。,特殊

39、中斷結(jié)束方式 該種方式下,在中斷服務(wù)程序結(jié)束,執(zhí)行IRET之前,向8259A送一個“特殊EOI” 命令字,可將ISR中指定位清0。,8259A中斷管理(工作)方式(續(xù)),98,普通EOI,優(yōu)先級循環(huán)方式 執(zhí)行 IRET之前,向8259A送一個“普通EOI,優(yōu)先級循環(huán)方式” 命令字,將ISR中級別最高的置1位清0,同時完成優(yōu)先級循環(huán)。,自動EOI優(yōu)先級循環(huán)方式 在CPU響應(yīng)中8259A在收到第2個中斷響應(yīng)脈沖信號之后,自動把ISR中置1的最高優(yōu)先級服務(wù)標(biāo)志 ISRi位清0,并完成優(yōu)先級循環(huán)。,8259A中斷管理(工作)方式(續(xù)),99,特殊EOI,優(yōu)先級循環(huán)方式,當(dāng)前中斷服務(wù)結(jié)束,執(zhí)行IRET之

40、前,向8259A送一個“特殊EOI,優(yōu)先級循環(huán)方式” 命令字,可將ISR中指定位清0。并完成優(yōu)先級循環(huán)。,8259A中斷管理(工作)方式(續(xù)),100,總線連接方式,緩沖方式 如果8259A通過總線驅(qū)動器和系統(tǒng)數(shù)據(jù)總線相連,則8259A應(yīng)采用緩沖方式; 此時SP / EN為輸出端,它輸出一個低電平信號,可作為總線驅(qū)動器的啟動信號。 非緩沖方式 如果8259A數(shù)據(jù)線和系統(tǒng)數(shù)據(jù)總線直接相連,則8259A應(yīng)工作于非緩沖方式下。,8259A中斷管理(工作)方式(續(xù)),101,三、8259A的級聯(lián) 主8259A的中斷請求端IR0IR7用于接收從8259A的中斷輸出,最多可擴(kuò)展至64級優(yōu)先權(quán)中斷。 CAS

41、0、CAS1、CAS2作為從片識別碼 。,102,7.3.2 8259A的編程,8259A的兩種命令字 初始化命令字: ICW1ICW4 操作命令字: OCW1OCW3 8259A的啟動:必須先通過編程寫入初始化命令字,使它處于工作起始狀態(tài); 初始化過程:按照固定的順序進(jìn)行。ICW1、ICW2必須寫,ICW3、ICW4視具體情況而定。,103,初始化命令字ICW,有4個初始化命令字ICW 8259A在開始工作前必須寫入 必須按照ICW1ICW4順序?qū)懭?ICW1和ICW2是必須寫 ICW3和ICW4由工作方式?jīng)Q定是否寫,104,ICW1中斷請求觸發(fā)方式設(shè)定,ICW1是第一個初始化命令字 ICW

42、1使用偶端口(A0=0) D41,作為ICW1特征 寫入 ICW1時,自動將中斷屏蔽寄存器IMR清0,并恢復(fù)各中斷源的優(yōu)先級為IR0最高, IR1次高, ,IR7最低。,105,ICW1的格式芯片控制字,106,D0 (IC4)位: 是否寫ICW4選擇。 D0= ,需要寫ICW4 ; D0= , 不寫ICW4。 D1 (SNGL)位:單片多片選擇。 D1=0,多片級連使用; D1=1,單片使用。 D3 (LTIM)位:觸發(fā)方式選擇 D3=0,邊沿觸發(fā); D3=1,電平觸發(fā)。 D7、D6 、D5 、D2 4位:8086CPU不用(置0) D4位:特征位 D4=1,表示寫 ICW1字,107,IC

43、W2中斷類型號設(shè)定,ICW2的功能是設(shè)置中斷類型號; 它使用奇端口(A0=1); 緊跟在ICW1之后設(shè)置;,108,ICW2的格式,109,D7D3(T7T3) 中斷類型號的高5位, 由用戶寫入 中斷類型碼的低3位由8259A自動設(shè)定 IR0為000、IR1為001、IR7為111 它在第一個INTA到來時, 將這個編碼寫入低3位 D2、D1、D0 三位固定為0,110,例 若對8259A采用 電平觸發(fā), 單片使用, 需寫ICW4, 則程序段為:,例 在PC系列中斷系統(tǒng)中, 硬盤的中斷類型號的高5位是08H, 它的中斷請求線連到8259A的IR5上, 寫ICW2字的程序段為: MOVAL ,

44、08H; 中斷類型號高5位,00001000B OUT21H , AL; 寫入ICW2端口(A0=1),MOVAL , 1BH; ICW1的內(nèi)容,00011011BOUT20H , AL; 寫入ICW1端口(A0=0),111,ICW3中斷級連方式設(shè)定,ICW3僅在多片級連方式中使用 ICW3使用奇端口(A0=1),112,主8259A, 若Si=1, 表示IRi引腳上接有從片; 從8259A, 用ID2ID1ID0的編碼表示本從片接在主8259A的哪根引腳上; IR0IR7對應(yīng)的編碼為000111。,ICW3的格式,113,ICW4中斷結(jié)束, 嵌套方式設(shè)定,ICW4使用奇端口(A0=1);

45、它確定中斷結(jié)束的方式和中斷嵌套的方式 ICW4的格式為:,114,D0 (PM)位: 系統(tǒng)選擇。 D0 =0, 用于8085 系統(tǒng); D0=1, 用于8086系統(tǒng) D1 (AEOI)位: 中斷結(jié)束方式選擇。 D1=0,普通EOI方式; D1=1,自動EOI方式 D3(BUF)位: 緩沖方式選擇。 D3 =1, 工作于緩沖方式 D3=0, 工作于非緩沖方式 在緩沖方式下, SP/EN引腳輸出給總線收發(fā)器, 此時, 由M/S位來定義本8259A是主片或是從片。,115,D2(M/S)位: 主/從片選擇。 當(dāng)BUF=1時(緩沖方式), D2=0為從片; D2=1表示主片; 當(dāng)BUF=0時, M/S位

46、無意義。 D4(SFNM)位: 中斷嵌套方式選擇。 D4=0表示普通全嵌套方式; D4=1表示特殊全嵌套方式。 D7D6D5=000,116,例 多片8259A級連方式連接, 從片A和B的中斷請求線INT分別接到主片的IR3和IR6, 故:,從片A的ICW3=0000 0011B=03H 從片B的ICW3=0000 0110B=06H 主片的 ICW3=0100 1000B=48H 從片A程序段為: MOVAL , 03H; 寫從片A的ICW3 OUT0A1H , AL; ICW3的端口地址 (A0=1),117,從片B的程序段: MOVAL , 06H; 寫從片B的ICW3 OUT0B1H

47、, AL; ICW3的端口地址 (A0=1) 主片的程序段: MOVAL , 48H;寫主片的ICW3 OUT81H , AL; ICW3的端口地址 (A0=1),118,例 PT86單板機(jī)中, CPU為 8086, 非自動結(jié)束方式;使用2片8259A, 非緩沖方式; 主片為特殊全嵌套方式。 主片的 ICW4=0001 0101B=15H 程序段為: MOV AL , 15H ; ICW4的內(nèi)容 MOV DX , 0FFDFH ; ICW4的端口地址(A0=1) OUT DX , AL,119,操作命令字OCW,8259A工作期間,可以隨時接受操作命令字OCW OCW共有3個:OCW1OCW3

48、 OCW的寫入時沒有順序要求,120,OCW1中斷屏蔽字,對IRi輸入中斷請求進(jìn)行屏蔽控制; OCW1占用奇地址(A0=1); OCW1格式為,Di(Mi)=1, 則IRi位中斷請求被屏蔽(置中斷屏蔽) Di(Mi)=0, 則IRi位中斷請求被開放(清中斷屏蔽),121,例 要使IR3開放, 其余均被屏蔽, 則 OCW1=1111 0111B=0F7H 程序段為: MOV AL , 0F7H OUT 21H , AL; 21H是8259A奇端口(A0=1) 例5.12 IMR寄存器的內(nèi)容可讀出。 MOV AL , 0; 置IMR為全“0” OUT 21H , AL ; OCW1的口地址(奇地址

49、) IN AL , 21H ; 讀IMR(奇地址),122,OR AL , AL; 檢查是否為全“0” JNZ ERR; 不為“0” , 則轉(zhuǎn)錯誤處理 MOV AL , 0FFH; 置IMR為全“1” OUT 21H , AL; OCW1的口地址 IN AL , 21H; 讀IMR ADD AL , 1; 檢查是否為全“1” JNZ ERR ; 不為全“1”, 轉(zhuǎn)錯誤處理,123,OCW2 優(yōu)先級循環(huán)及結(jié)束方式操作字,設(shè)定8259A的中斷優(yōu)先級循環(huán)和結(jié)束方式 OCW2占用偶地址(A0=0) OCW2格式為:,124,D7(R): 中斷優(yōu)先級循環(huán)設(shè)定 D7=0, 固定優(yōu)先權(quán)方式 D7=1, 循環(huán)

50、優(yōu)先權(quán)方式 D6(SL): 中斷級別指定 D6=0, 不指定中斷級, L0L2編碼無效 D6=1, 用L0L2編碼來指定中斷優(yōu)先級,125,D5(EOI): 中斷結(jié)束命令位 當(dāng)ICW4中的AEOI位=0時, D5=1可使 ISR寄存器中相應(yīng)位清“0” 即中斷結(jié)束。 D2D1D0(L2L1L0): 中斷等級編碼。 L2L1L0的8種編碼: 000B111B分別與IR0IR7 對應(yīng) D4D3:特征位。 D4D3=00 ,表示是OCW2,126,R, SL, EOI不同設(shè)置的意義說明 編碼=001: 普通EOI命令。 它在中斷服務(wù)程序結(jié)束時發(fā)出, 8259A接到該命令后, 將當(dāng)前ISR中優(yōu)先級最高的

51、置“1”位清“0” 。 編碼=011: 特殊EOI命令。當(dāng)中斷處理結(jié)束, 8259A接收到該命令后, 將ISR中由L2L1L0編碼指定的相應(yīng)位清“0” 。,128,編碼=101:普通EOI循環(huán)命令。將ISR中優(yōu)先級最高的置“1”位清“0” , 并將剛結(jié)束的中斷請求IRi賦予最低優(yōu)先級, 把最高優(yōu)先級賦予 IRi+1, 其它級別按循環(huán)排序。 編碼=111: 特殊EOI循環(huán)命令。將ISR中由L2L1L0編碼指定的相應(yīng)位清“0” , 并將最低優(yōu)先級賦予這一中斷請求, 最高優(yōu)先級賦予它的下一級中斷請求, 其它級別按循環(huán)方式依次改變。,129,編碼=000和100: 使8259A取消自動EOI循環(huán)方式(

52、復(fù)位)和設(shè)置自動EOI循環(huán)方式(置位) 。在自動EOI循環(huán)方式下, 8259A在接收到中斷響應(yīng)信號后, 將 ISR中相應(yīng)位清“0”, 并將最低優(yōu)先級賦予這一中斷請求, 最高優(yōu)先級賦予它的下一級中斷請求, 其它級別按循環(huán)方式依次改變。 編碼=110: 向8259A發(fā)置優(yōu)先權(quán)命令,將最低優(yōu)先級賦予由由L2L1L0編碼指定的中斷請求IRi, 其它中斷請求的級別按循環(huán)方式分別賦給。,130,OCW3查詢中斷方式和特殊屏蔽方式操作,OCW3的端口為偶地址(A0=0) OCW3格式為,131,132,D4D3=01是OCW3的特征位 D6(ESMM): 特殊屏蔽方式允許位 ESMM=0, 將SMM位屏蔽,

53、使其無效; ESMM=1, 開放SMM位,使其有效。 D5(SMM): 特殊屏蔽方式設(shè)定 當(dāng)ESMM=1時,若SMM=1, 選擇特殊屏蔽方式; SMM=0, 不選擇特殊屏蔽方式 D2(P): 查詢命令標(biāo)識位 P=1, CPU將執(zhí)行一條讀狀態(tài)字指令,并使讀其它寄存器命令無效; P=0, 不讀中斷狀態(tài)字。,133,D1(RR)D0(RIS): 讀ISR和IRR中的狀態(tài)信息標(biāo)識位,僅當(dāng)P=0時有效。 RR=1, RIS=0 表示在下一條“IN”指令時從偶地址(A0=0)讀IRR中的狀態(tài)信息; RR=1, RIS=1 表示在下一條“IN”指令時從偶地址(A0=0)讀ISR中的狀態(tài)信息; RR=0, 則RIS位無效。 IMR中的信息可直接用“IN”指令從奇地址(A0=1)端口讀出。,134,查詢中斷方式的說明 當(dāng)P=1時,表示向8259A發(fā)查詢命令,可讀出中斷狀態(tài)字,了解8259A當(dāng)前的中斷狀態(tài) 中斷狀態(tài)字的格式為:,135,D7(IR): 有

溫馨提示

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

評論

0/150

提交評論