微機(jī)原理:第九章 中斷_第1頁
微機(jī)原理:第九章 中斷_第2頁
微機(jī)原理:第九章 中斷_第3頁
微機(jī)原理:第九章 中斷_第4頁
微機(jī)原理:第九章 中斷_第5頁
已閱讀5頁,還剩122頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第九章中斷與中斷管理中斷原理中斷系統(tǒng)組織及其功能中斷源識別及中斷優(yōu)先級8086中斷系統(tǒng)8086CPU的中斷管理可編程中斷控制器8259A第九章中斷與中斷管理快速的CPU與慢速的外設(shè)之間數(shù)據(jù)傳送查詢方式中斷方式9.1中斷原理9.1.1從無條件傳送、條件傳送到中斷傳送

條件傳送的缺點是CPU花大量的時間對狀態(tài)線進(jìn)行查詢,降低了整個系統(tǒng)的工作效率。具有中斷功能的CPU中,有硬件部件專門用于檢測外設(shè)的狀態(tài)線。

查詢方式中斷方式INTE&STBIBFINTRRD數(shù)據(jù)A/B口1

9.1.2中斷概念

9.1.2中斷概念在中斷傳送方式下,當(dāng)外部設(shè)備準(zhǔn)備好向CPU傳送數(shù)據(jù)(或者接收CPU的數(shù)據(jù)),或者有某些緊急情況要求處理,或者是定時時間到等等,外設(shè)向CPU發(fā)出中斷請求,CPU接收到請求并在一定條件下,暫停執(zhí)行原來的程序而轉(zhuǎn)去中斷處理,處理好中斷服務(wù)再返回來執(zhí)行原來程序,這就是中斷。

9.1.3中斷應(yīng)用一、實時故障處理存儲器出錯檢測電路二、分時操作,同時處理多個外設(shè)同時工作。CPU在不同的時間為不同的外設(shè)服務(wù),極大地發(fā)揮了CPU高速性的特點。處理任務(wù)1處理任務(wù)2處理任務(wù)39.1.3中斷應(yīng)用9.2中斷系統(tǒng)組成及其功能9.2.1與中斷有關(guān)的觸發(fā)器1、中斷請求觸發(fā)器兩個特點:在滿足一定條件的情況下把中斷請求信號發(fā)送給CPU,并在CPU未響應(yīng)時一直保持下去;當(dāng)CPU滿足一定條件下響應(yīng)了該中斷請求,執(zhí)行了相關(guān)的操作后,該中斷請求信號被撤銷。

中斷請求觸發(fā)器8255A工作在方式1——輸入

選通信號,有效時,外設(shè)把數(shù)據(jù)打入端口的輸入緩沖器

端口的輸入緩沖器“滿”信號。

中斷請求。有效時,8255A的向CPU申請中斷,要求CPU從端口取數(shù)

中斷允許

INTE&STBIBFINTRRD數(shù)據(jù)A/B口1STB數(shù)據(jù)鎖存INTR

9.2.1與中斷有關(guān)的觸發(fā)器2、中斷屏蔽觸發(fā)器決定中斷請求觸發(fā)器的輸出信號是否可以作為中斷請求信號發(fā)送給CPU,通過對中斷屏蔽觸發(fā)器的設(shè)置就可以控制中斷源的。中斷屏蔽觸發(fā)器8255A工作在方式1——輸入

選通信號,有效時,外設(shè)把數(shù)據(jù)打入端口的輸入緩沖器

端口的輸入緩沖器“滿”信號。

中斷請求。有效時,8255A的向CPU申請中斷,要求CPU從端口取數(shù)

中斷允許

INTE&STBIBFINTRRD數(shù)據(jù)A/B口1MOVAL,00001001;允許中斷MOV控制口,ALMOVAL,00001000;屏蔽中斷MOV控制口,AL

9.2.1與中斷有關(guān)的觸發(fā)器3、CPU內(nèi)部的中斷允許觸發(fā)器IFCPU通過對它進(jìn)行設(shè)置來決定是否對中斷請求信號進(jìn)行響應(yīng)。中斷檢測IF中斷邏輯INTRCLIIF0關(guān)中斷STIIF1

開中斷8086CPU設(shè)置了兩種中斷類型:可屏蔽中斷和不可屏蔽中斷??善帘沃袛嗍苤袛嘣试S觸發(fā)器控制,只有當(dāng)IF為1時,CPU才能響應(yīng)中斷請求信號。不可屏蔽中斷不受中斷允許觸發(fā)器的控制,只要中斷請求信號有效,CPU就響應(yīng)。優(yōu)先級高于于可屏蔽中斷。

中斷檢測IF中斷邏輯INTRNMI不可屏蔽中斷可屏蔽中斷9.2.2中斷條件外設(shè)的中斷請求信號要得到CPU的響應(yīng),必須要滿足如下兩個條件:1、中斷屏蔽觸發(fā)器處于非屏蔽狀態(tài)。2、CPU是開中斷的(IF=1)中斷響應(yīng)中斷屏蔽FF中斷允許FFCPU內(nèi)的中斷邏輯中斷申請信號INTR9.2.2中斷響應(yīng)過程主要包括三個方面外設(shè)發(fā)中斷請求信號給CPU即中斷請求CPU對中斷請求信號所作出的反應(yīng)即中斷響應(yīng)CPU執(zhí)行對外設(shè)操作的子程序即中斷處理。一、中斷請求中斷屏蔽觸發(fā)器狀態(tài)為1(允許),中斷請求觸發(fā)器輸出中斷請求信號。二、中斷響應(yīng)CPU響應(yīng)可屏蔽中斷申請必須滿足的條件:①

無總線請求;②

CPU被允許中斷(IF=1);③

CPU執(zhí)行完現(xiàn)行指令.

三、中斷處理CPU響應(yīng)中斷后要自動完成三項任務(wù)

1、關(guān)閉中斷(IF=0);

2、CS、IP以及FR的內(nèi)容推入堆棧;

3、中斷服務(wù)程序段地址送CS中,偏移地址送IP中(轉(zhuǎn)入中斷服務(wù)程序)。 pushax ;1、保護(hù)現(xiàn)場

…… pushbx sti ;2、開中斷

…… ;3、中斷處理

cli ;4、關(guān)中斷

popbx ;5、恢復(fù)現(xiàn)場

…… popax sti ;6、開中斷和中斷返回

iret 中斷服務(wù)程序的結(jié)構(gòu)9.3中斷源識別及中斷優(yōu)先權(quán)

在中斷系統(tǒng)中CPU如何識別發(fā)出的中斷申請的中斷源?如何正確地轉(zhuǎn)到相應(yīng)的中斷服務(wù)程序?確定中斷源的方法被稱為中斷源識別或中斷方式。

ABCCPUINTR中斷源識別包括兩個方面:

1、確定中斷源,

2、找到該中斷服務(wù)程序的首地址。9.3.1中斷源識別一、查詢中斷查詢中斷程序IN AL,IPORT ;從輸入接口取中斷信息TEST AL,80H ;是0號設(shè)備請求嗎?JNZ SEV0 ;是,轉(zhuǎn)0號設(shè)備服務(wù)程序TEST AL.40H ;否,是1號設(shè)備請求嗎?JNZ SEV1 ;是,轉(zhuǎn)1號設(shè)備服務(wù)程序TEST AL.20H ;否,是2號設(shè)備請求嗎?JNZ SEV2 ;是,轉(zhuǎn)2號設(shè)備服務(wù)程序TEST AL.10H ;否,是3號設(shè)備請求嗎?JNZ SEV3 ;是,轉(zhuǎn)3號設(shè)備服務(wù)程序條件傳送=查詢中斷?9.3.1中斷源識別二、矢量中斷中斷申請信號INTR和中斷響應(yīng)信號INTA是一對握手信號。中斷請求表示外設(shè)請求CPU為之服務(wù)。中斷響應(yīng)表明CPU可以為這個外設(shè)服務(wù),同時要求外設(shè)提供中斷類型號。例:中斷類型號80H接口CSTGs中斷類型號00_07H接口

9.3.2中斷優(yōu)先權(quán)一、軟件方案 軟件查詢確定優(yōu)先權(quán)的缺點是,響應(yīng)中斷慢二、硬件方案1、鏈形電路 利用外設(shè)在系統(tǒng)中的物理位置來決定其中斷優(yōu)先權(quán)的中斷申請中斷申請中斷申請中斷允許入IEI=1,允許發(fā)中斷中斷允許出IEO=IEI&INTR0001易受電路延遲影響!二、硬件方案2、編碼電路

74LSl48是一個8到3線的優(yōu)先權(quán)編碼器.I0I1I7000I0I1I7I0I1I7001中斷申請信號級聯(lián)控制信號I7優(yōu)先級最高9.48086中斷系統(tǒng)8086中斷系統(tǒng)有兩大類型的中斷源:一類是由外部設(shè)備產(chǎn)生的中斷,稱為硬件中斷,又稱外中斷。硬件中斷又分為不可屏蔽中斷和可屏蔽中斷,通過CPU芯片的INTR管腳或NMI管腳從外部引入的。一類是由指令在某種運(yùn)行結(jié)果時產(chǎn)生的中斷,稱為軟件中斷。

INT_PROCPROCFAR PUSHAX … POPAX IRET

?中斷類型號和中斷服務(wù)子程序的入口地址之間的關(guān)系是什么?根據(jù)中斷類型號查中斷矢量表即中斷服務(wù)程序首地址表9.4.1不可屏蔽中斷不可屏蔽中斷就是用戶不能通過CPU內(nèi)的中斷允許觸發(fā)器IF控制的中斷。由8086CPU的NMI管腳引入。NMI中斷請求采用上升沿觸發(fā)方式,這種中斷一旦產(chǎn)生,在CPU內(nèi)部直接生成中斷類型號02。不可屏蔽中斷響應(yīng)過程9.4.2可屏蔽中斷可屏蔽中斷就是用戶可以控制的中斷,通過對CPU內(nèi)的中斷允許觸發(fā)器IF的設(shè)置來禁止和允許CPU響應(yīng)中斷??善帘沃袛嘤?086CPU的INTR管腳引入。這種中斷請求需要設(shè)備提供中斷類型號??善帘沃袛囗憫?yīng)過程9.4.3軟件中斷軟件中斷是由8086指令系統(tǒng)中的某些指令產(chǎn)生,或由這些指令運(yùn)行后某種特定的結(jié)果產(chǎn)生。1、除法中斷當(dāng)進(jìn)行除法運(yùn)算時,若除數(shù)為0或除數(shù)太小,使得商數(shù)大于相應(yīng)寄存器所能表示的最大值,被稱作除法出錯。這時除法指令就相當(dāng)于一個中斷源,它向CPU發(fā)出類型0中斷。2、溢出中斷當(dāng)算術(shù)運(yùn)算產(chǎn)生溢出時,將在INTO指令控制下向CPU發(fā)出類型4的中斷,即溢出中斷。 例如

moval,40h addal,40h

intoDATA SEGMENTADD1 DB ?ADD2 DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX

MOVAX,0 MOVES,AX ;置附加段基地址 MOVDI,4*4 ;置附加段偏移地址 MOVAX,OFFSETINTO1;置中斷程序的偏移地址 CLD STOSW ;填偏移地址到中斷地址表 MOVAX,CS ;置中斷程序的段基地址 STOSW MOV BL,0 MOV AL,ADD1 ADD AL,ADD2 INTO MOV AX,4C00H INT 21HINTO1 PROC PUSH AX MOVBL,0FFH POP AX IRET INTO1 ENDP CODE ENDS END3、單步中斷和斷點中斷(1)單步中斷當(dāng)8086CPU的標(biāo)志寄存器中的TF標(biāo)志為1時,8086CPU處于單步工作方式,這時CPU在每條指令執(zhí)行后自動產(chǎn)生類型l的中斷。

(2)斷點中斷INT3指令

4、軟中斷軟中斷是由中斷指令引起的。中斷指令的指令格式為

INTn

,操作數(shù)n就是中斷類型號。當(dāng)CPU執(zhí)行完畢中斷指令I(lǐng)NTn后,就會立即產(chǎn)生一個中斷類型號為n的中斷。

intncallfar[4*n]9.4.4中斷概念的再討論中斷與調(diào)子程序之間的關(guān)系1、類似:中斷過程也是一個調(diào)用中斷服務(wù)程序的過程。2、差別,調(diào)用子程序的過程是一個無條件過程,中斷過程的中斷服務(wù)程序的調(diào)用一般是有條件的。子程序調(diào)用在整個程序執(zhí)行中的時間是確定的。但硬件中斷過程,在整個程序執(zhí)行的時間是不確定的、隨機(jī)的。

……MOVAL,10MOVBX,100……MOVBL,100ADDAL,BL……INTnINTn9.58086CPU的中斷管理9.5.18086CPU的中斷處理順序8086CPU的中斷優(yōu)先權(quán)排列從高到低為:1、除法出錯中斷,溢出中斷,INTn;2、NMI;3、INTR;4、單步中斷。9.5.28086CPU的中斷服務(wù)入口地址表已知中斷程序int_proc和中斷類型號n int_procfar push

… iret int_procendpCPU中斷類型號n?9.5.28086CPU的中斷服務(wù)入口地址表已知中斷程序int_proc和中斷類型號n int_procfar push

… iret int_procendpCPU中斷類型號n把地址int_proc放到4*n開始的單元9.5.28086CPU的中斷服務(wù)入口地址表9.5.3中斷入口地址設(shè)置一、用串指令

CLI ;關(guān)中斷MOVAX,0MOVES,AX ;置附加段基地址MOVDI,n*4 ;置附加段偏移地址MOVAX,OFFSETINT_VCE;置中斷程序的偏移地址CLD STOSW

;填偏移地址到中斷地址表MOVAX,SEGINT_VCE ;置中斷程序的段基地址STOSW

;填段基地址到中斷地址表STI ;開中斷

……

二、用偽指令I(lǐng)NT-TBL SEGMENTAT0 ;定義INT-TBL段,段基地址為0 ORGn*4 ;指定偏移地址

DDINT—VCE ;存中斷程序入口地址INT-TBL ENDS

……

;其他處理

MCODE SEGMENT ;主程序

……

;其他處理

INT—VCEPROCFAR ;中斷類型n的服務(wù)程序

…… IRETINT—VCE ENDP

……

三、用系統(tǒng)調(diào)用 使用25H功能:

AL=中斷類型號

DS:DX=中斷服務(wù)程序首地址的段、偏移地址

注意DS保護(hù)

PUSHDS MOVDX,SEGINT60H ;段基地址送DS MOVDS,DX MOVDX,OFFSETINT60H ;偏移地址送DX MOVAL,60H ;中斷類型號送AL MOVAH,25H INT21H ;25H功能調(diào)用

POPDS四、直接裝入法若外設(shè)的中斷類型號為6BH,則此中斷類型號對應(yīng)的中斷矢量表地址為從00lACH開始的四個存儲單元.設(shè)中斷服務(wù)程序段地址是1000H,偏移地址為2000H。 MOVAX,,0 MOVDS,AX ;置數(shù)據(jù)段段基地址為0 MOVAX,2000H MOV[01ACH],AX ;對偏移地址為01AC的單元

MOVAX,1000H ;送雙字

MOV[01ACH+2],AX9.6可編程中斷控制器8259外設(shè)狀態(tài)線CPUINTR發(fā)中斷申請信號中斷屏蔽觸發(fā)器發(fā)中斷矢量中斷優(yōu)先權(quán)排隊中斷控制器9.6.18259A的內(nèi)部結(jié)構(gòu)及引腳1、8259A的內(nèi)部結(jié)構(gòu)單級8259級聯(lián)8259中斷服務(wù)寄存器中斷請求寄存器IR0IR1IR7IR2IR3IR4IR5IR6IR0IR1IR2IR3IR4IR5IR6IR78259邏輯圖2.8259A的引腳

CS:片選信號。

WR:寫信號。

RD:讀信號。D7D0:雙向、三態(tài)數(shù)據(jù)線。

IR7IR0:中斷請求信號。

INT:8259A向CPU發(fā)出的中斷請求信號。

INTA:中斷響應(yīng)信號。CAS0CAS2:級聯(lián)總線,輸入或輸出,用于區(qū)分特定的從控制器件。8259A作為主控制器時,該總線為輸出,作為從控制器時,為輸入。

SP/EN:從片/允許緩沖信號,輸入或輸出,該引腳為雙功能引腳。9.6.28259A的中斷管理方式一、中斷優(yōu)先權(quán)管理1.完全嵌套方式

8259A的中斷請求具有固定的優(yōu)先權(quán)排隊順序,IR0為最高優(yōu)先級,IR1為次高優(yōu)先級,依次類推,IR7為最低優(yōu)先級。

2.特殊全嵌套方式當(dāng)處理某一級中斷時,如果有同級的中斷請求,那么,也會給予響應(yīng),從而實現(xiàn)一種對同級中斷請求的特殊嵌套。特殊全嵌套方式一般用在8259A級連的系統(tǒng)中。

3.自動循環(huán)方式IR0—IR7的中斷輪流具有最高優(yōu)先權(quán)。初始優(yōu)先級隊列規(guī)定為IR0>IR1>IR2>IR3>IR4>IR5>IR6>IR7如果IR0端正好有中斷請求,處理完后

IR1>IR2>IR3>IR4>IR5>IR6>IR7>IR0如果IR4端正好有中斷請求,處理完后

IR5>IR6>IR7>IR0>IR1>IR2>IR3>IR4

4.優(yōu)先級特殊循環(huán)方式最低優(yōu)先級是由編程確定的,從而最高優(yōu)先級也由此而定。比如定IR5最低,則IR6最高

IR6>IR7>IR0>IR1>IR2>IR3>IR4>IR5

有兩種方法:

1、普通屏蔽方式。

2、特殊屏蔽方式。 系統(tǒng)正在處理高級中斷時,可以響應(yīng)低級別中斷二、中斷屏蔽方式三、8259A中斷結(jié)束的管理方式三種中斷結(jié)束方式:自動EOI方式

/INTA清除中斷服務(wù)寄存器高級別位一般EOI方式 程序?qū)?259發(fā)中斷結(jié)束命令,清除中斷服務(wù)寄存器高級別位特殊EOI方式

程序?qū)?259發(fā)中斷結(jié)束命令,清除中斷服務(wù)寄存器指定位四、中斷觸發(fā)方式電平觸發(fā)方式以IR端上出現(xiàn)的高電平作為中斷請求信號。請求一旦被響應(yīng),該高電平信號應(yīng)及時撤除。

邊沿觸發(fā)方式以IR端上出現(xiàn)由低電平向高電平的跳變作為中斷請求信號,跳變后高電平一直保持,直到被響應(yīng)。

五、與系統(tǒng)總線的連接方式

1)緩沖方式主要用于多片8259A級聯(lián)的大系統(tǒng)中。8259A通過總線收發(fā)器(如8286)和數(shù)據(jù)總線相連。

2)非緩沖方式主要用于單片8259A或片數(shù)不多的8259A級聯(lián)的系統(tǒng)中。8259A直接與數(shù)據(jù)總線相連,9.6.38259A的編程與應(yīng)用8259A的工作方式和操作方式由CPU發(fā)命令字進(jìn)行控制。分兩類——初始化命令字ICW和操作命令字OCW。計算機(jī)啟動時,用初始化程序設(shè)定ICW,建立8259A操作的初始狀態(tài)。OCW用于動態(tài)控制中斷,是在需要改變或控制8259A操作時隨時發(fā)送的。注意,當(dāng)發(fā)出ICW或OCW時,CPU中斷申請引腳INTR應(yīng)關(guān)閉(使用CLI指令)。初始化命令字初始化開始級連否觸發(fā)方式用ICW4否中斷類型碼從片識別碼特殊嵌套否緩沖否自動EOI否寫ICW1寫ICW2級連嗎?需ICW4?

主片嗎?是否寫ICW3(連從片否)是寫ICW3否寫ICW4是結(jié)束否1.初始化命令字

1)?ICW1設(shè)置工作方式。

XXXX2)?ICW2

設(shè)置中斷類型號。中斷類型號T7--T38086系統(tǒng)中,只需設(shè)置中斷類型號的高5位,低三位由8259A根據(jù)中斷請求來自IR0IR7的哪一個輸入端,自動填充(000111)。例如,在PC/XT中ICW2為00001000B,則從IR0——IR7上引入的各中斷請求,其相應(yīng)的中斷類型號為08H、09H、0AH、0BH、0CH、0DH、0EH和0FH。3)?ICW3

設(shè)置級聯(lián)

只有系統(tǒng)中有級聯(lián)時,才寫入ICW3。對于主片,指明了IR0IR7各引腳連接從片的情況,置1的位表示對應(yīng)的引腳有從片級聯(lián)。對于從片,用D2D0表示與主片的對應(yīng)引腳級聯(lián),例如,若某從片ICW3的內(nèi)容為07H,說明該從片的INT引腳與主片的IR7相連。

4)?ICW4設(shè)置8259A的工作方式。

2.操作命令字

系統(tǒng)初始化完成以后,可以在應(yīng)用程序中隨時向8259A送操作命令字,以改變8259A的工作方式,讀出8259A內(nèi)部寄存器的值等。

1)?OCW1

設(shè)置和清除中斷屏蔽寄存器的相應(yīng)位。

例如,要屏蔽IR0和IR1上的中斷請求,OCW1=03H

2)?OCW2設(shè)置優(yōu)先級循環(huán)方式和中斷結(jié)束方式。

3)?OCW3功能有三個方面:設(shè)置和撤消特殊屏蔽方式設(shè)置中斷查詢方式設(shè)置對8259A內(nèi)部寄存器的讀出。

查詢方式下,8259A不使用INT向CPU發(fā)請求,CPU用軟件查詢的方法,確認(rèn)優(yōu)先級最高的中斷源,從而實現(xiàn)對外設(shè)的服務(wù)。中斷查詢方式工作過程:CPU關(guān)中斷(IF=0),先向259A發(fā)查詢命令,選擇查詢方式;再從同一個地址讀入查詢字,由該指令產(chǎn)生的RD信號使ISR的相應(yīng)位置1。查詢字格式I----W2W1W0I=1,表示有中斷請求W2W1W0組成的代碼表示優(yōu)先級最高的中斷請求CPU讀入查詢字后,判斷其最高位,若最高位為1,說明8259A的IR端已有中斷請求輸入,此時該查詢字的低三位組成的代碼表示了當(dāng)前中斷請求的最高優(yōu)先級,CPU據(jù)此轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。

8259A的讀操作在PC機(jī)中8259A的端口地址為20H和21H。常用的讀操作有如下幾種。

(1)讀出IRR的值:先向20H端口寫0AH(OCW3RR=1、RIS=0),再讀20H端口。例如:

MOV AL,0AH ;OCW3=0AHOUT 20H,AL ;OCW3寫入8259AIN AL,20H ;讀出IRR內(nèi)容(2)讀出ISR的值:先向20H端口寫0BH(OCW3RR=1、RIS=1),再讀20H端口。例如:

MOV AL,0BH ;OCW3=0BHOUT 20H,AL ;OCW3寫入8259AIN AL,20H ;讀出ISR內(nèi)容(3)讀查詢字(讀出最高級別的中斷請求IR):先向20H端口寫0CH(OCW3P=1),再讀20H端口。例如:

MOV AL,0CH ;OCW3=0CHOUT 20H,AL ;OCW3寫入8259AIN AL,20H ;讀出查詢字內(nèi)容(4)讀IMR的值。隨時可用奇地址讀IMR的值,并對其作修改。例1:IN AL,21H ;讀IMRAND AL,7FH ;開放IR7中斷OUT 21H,AL ;修改IMR

例2:IN AL,21H ;讀IMROR AL,80H ;關(guān)閉IR7中斷

OUT 21H,AL ;修改IMR3、8259應(yīng)用舉例

中斷傳送方式的設(shè)計過程: 一、硬件方面: 根據(jù)硬件電路確定芯片地址,選擇中斷類型號。 二、軟件方面:分主程序和中斷子程序 中斷子程序:編寫中斷服務(wù)子程序。 主程序: 1、關(guān)中斷;

2、填寫中斷入口地址表;

3、初始化8259A及其他編程芯片;

4、開中斷;

例:初始化編程8259定義為:上升沿觸發(fā)、單片、中斷類型號C0HC7H、一般EOI方式、完全嵌套方式、屏蔽IR0——IR6;地址84H,86HINTRRUP SEGMENT AT0 ORG 0C7H*4 DD INTR_IR7MAIN SEGMENT CLI MOV AL,00010011B OUT 84H,AL MOV AL,0C0H OUT 86H,AL MOV AL,00000001B OUT 86H,AL MOV AL,01111111B OUT 86H,AL STI INTR_IR7: ……MOV AL,20HOUT 84H,ALIRET例如,PC/AT機(jī)中的8259A主片定義為:上升沿觸發(fā)、在IR2級聯(lián)從片、有ICW4、非AEOI方式、中斷類型號08H0FH、一般的中斷嵌套方式、端口地址是20H、21H;從片定義為:上升沿觸發(fā)、級聯(lián)到主片的IR2、有ICW4、非AEOI方式、中斷類型號為70H78H、一般的中斷嵌套方式、端口地址是A0H、A1H。初始化過程如下:

初始化主片

MOV AL,11H OUT 20H,AL MOV AL,08H OUT 21H,AL MOV AL,04H OUT 21H,AL MOV AL,01H OUT 21H,AL

初始化從片

MOV AL,11H OUT 0A0H,AL MOV AL,70H OUT 0A1H,AL MOV AL,02H OUT 0A1H,AL MOV AL,01H OUT 0A1H,AL9.7PC機(jī)硬件中斷9.7.1中斷設(shè)置在PC/XT機(jī)中,有一片8259A中斷控制芯片,可管理8個中斷源。在PC/AT機(jī)中有兩片8259A中斷控制芯片,可管理15個中斷源。9.7PC機(jī)硬件中斷優(yōu)先權(quán)

主片:IR0,IR1

從片:IR0,IR1,IR2,IR3,IR4,IR4,IR5,IR6,IR7

主片:IR3,IR4,IR5,IR5,IR7中斷類型號主片:00H-07H從片:70H-77H9.7PC機(jī)硬件中斷9.7.2PC機(jī)中斷資源的使用一、對中斷屏蔽寄存器的操作主片8259A中斷屏蔽寄存器的端口地址是21H。某位為0表示允許中斷,為1表示屏蔽(禁止)。從片8259A中斷屏蔽寄存器的端口地址是A1H例如,只允許鍵盤中斷,可設(shè)置如下中斷屏蔽字:

MOVAL,11111101B OUT21H,AL如果系統(tǒng)重新增設(shè)鍵盤中斷.則可用下列指令實現(xiàn):

INAL,21H ANDAL,11111101B O

溫馨提示

  • 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

提交評論