接口_第5章 中斷技術(shù)_第1頁
接口_第5章 中斷技術(shù)_第2頁
接口_第5章 中斷技術(shù)_第3頁
接口_第5章 中斷技術(shù)_第4頁
接口_第5章 中斷技術(shù)_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第5 5章章 中斷技術(shù)中斷技術(shù)5.1 中斷是指CPU在正常運(yùn)行程序時(shí),由于內(nèi)部/外部事件或由程序,而轉(zhuǎn)到為中斷事件服務(wù)的程序中去,服務(wù)完畢再返回執(zhí)行原程序,這一過程稱為中斷。硬件中斷: 由外部硬件產(chǎn)生的中斷。軟件中斷: 由程序預(yù)先安排的中斷。中斷的特征:具有隨機(jī)性。5.2 中斷的類型 分為硬件中斷(外部中斷)和軟件中斷。1、硬件中斷l(xiāng) 可屏蔽中斷INTR 通過中斷控制器向微處理器申請(qǐng)而產(chǎn)生的中斷,它可以用指令屏蔽與開放。l 不可屏蔽中斷NMI 通過中斷請(qǐng)求線NMI向微處理器申請(qǐng)而產(chǎn)生的中斷,它可以用指令屏蔽與開放。2、軟件中斷 軟中斷由用戶在程序里發(fā)出中斷指令I(lǐng)NT nH產(chǎn)生的,指令中的操作

2、數(shù)n稱為軟中斷號(hào)。lDOS功能調(diào)用 例如:INT 21H調(diào)用。lBIOS功能調(diào)用l軟中斷的應(yīng)用 由軟件中斷指令引起的中斷,無中斷響應(yīng)周期,中斷號(hào)由指令中給出,該中斷無法被屏蔽。5.3 中斷號(hào)1、中斷號(hào) 系統(tǒng)給每個(gè)中斷與異常分配了一個(gè)中斷號(hào),以便識(shí)別與處理。微機(jī)支持256個(gè)中斷號(hào),并對(duì)硬件中斷和軟件中斷統(tǒng)一編號(hào)在0-255號(hào)內(nèi)。在向量中斷中,CPU可通過它找到中斷服務(wù)程序的入口地址,實(shí)現(xiàn)程序的轉(zhuǎn)移。2、PC微機(jī)系統(tǒng)的中斷號(hào)分配PC微機(jī)系統(tǒng)的中斷號(hào)分配表5.4 中斷觸發(fā)方式與中斷排隊(duì)1、中斷觸發(fā)方式 指外部設(shè)備以什么邏輯信號(hào)去向中斷控制器申請(qǐng)中斷,一般有邊沿觸發(fā)和電平觸發(fā)兩種。2、中斷排隊(duì)方式l按

3、優(yōu)先級(jí)排隊(duì) 按任務(wù)的輕重緩急確定響應(yīng)優(yōu)先級(jí),實(shí)際應(yīng)用較多。l循環(huán)輪流排隊(duì) 具有相同的優(yōu)先級(jí)。3、中斷嵌套 當(dāng)CPU正處理某個(gè)中斷時(shí),出現(xiàn)更高級(jí)中斷源的申請(qǐng),CPU必須暫停該中斷服務(wù),轉(zhuǎn)而去處理更高級(jí)中斷的服務(wù),待處理完后,再返回到被中斷的服務(wù)程序繼續(xù)執(zhí)行。 高級(jí)中斷可中斷低級(jí)中斷響應(yīng)1響應(yīng)2中斷服務(wù)返回返回主程序中斷服務(wù)5.5 中斷向量與中斷向量表1、中斷向量 CPU響應(yīng)中斷后,中斷源提供地址信息,由此地址信息對(duì)程序的執(zhí)行進(jìn)行導(dǎo)向,引導(dǎo)到中斷服務(wù)程序中去執(zhí)行,所以把這個(gè)地址稱為中斷向量。 中斷向量包括中斷服務(wù)程序的段基址CS,偏址地址IP共4個(gè)字節(jié)。 2、中斷向量表 所有的中斷向量集中存放到存

4、儲(chǔ)器的某一區(qū)域,這一區(qū)域稱之為中斷向量表。 PC微機(jī)系統(tǒng)規(guī)定: 存儲(chǔ)器的000H-03FFH作為中斷向量存儲(chǔ)區(qū)(共1024個(gè)字節(jié)),每個(gè)中斷向量包含4個(gè)字節(jié),可容納256個(gè)中斷向量,即可處理256個(gè)中斷服務(wù)程序。中斷向量表每個(gè)中斷服務(wù)程序的入口地址占4個(gè)字節(jié)3、中斷向量的填寫 對(duì)于沒有填寫中斷向量表的系統(tǒng),需由用戶自己填寫中斷向量。例:用MOV指令填寫中斷類型號(hào)為60H的中斷向量CLICLD ;內(nèi)存地址加MOV AX,0MOV ES,AXMOV DI,4*60H ;中斷向量指針DIMOV AX,OFFSET INTR60 ;中斷服務(wù)程序的偏移地址AXSTOSW ;AXDIDI+1中,然后DI+

5、2MOV AX,SEG INTR60 ;中斷服務(wù)程序的段基址AX STOSW ;AXDI+1DI+2STI5.6 中斷處理過程1、可屏蔽中斷的處理過程它包括4個(gè)階段:l 中斷申請(qǐng)與響應(yīng)握手l 標(biāo)志位的處理與斷點(diǎn)保存l 向中斷服務(wù)程序轉(zhuǎn)移并執(zhí)行中斷服務(wù)程序l 返回?cái)帱c(diǎn)中斷控制器8259A中斷類型號(hào)為60H的設(shè)備IR0INTRINTACPU開中斷,接收INTR請(qǐng)求CPU發(fā)INTA響應(yīng),在第二個(gè)INTA周 期中,外部中斷控制器送中斷類型號(hào)OLDFLAG STACKOLDCS STACK(60H*4+2)=(182H)=1240H CSOLDIP STACK (60H*4)=0200H=(180H)

6、IP執(zhí)行在CS=1240H,IP=0200H處的中 斷服務(wù)程序執(zhí)行IRET中斷返回指令 OLDIP退棧 OLDCS退棧 OLDFLAG退棧繼續(xù)執(zhí)行當(dāng)前程序中的下一條指令CPU外設(shè)RAMCS1240HIP0200H類型為60H的中斷服務(wù)程序0200H1240H0180H0182HOLDIPOLDCSOLDFLAGSS3000HSP0100HCSOLDCSIPOLDIPINTR當(dāng)前程序堆棧中斷服務(wù)程序中斷向量表可屏蔽中斷的處理過程2、不可屏蔽中斷和軟中斷的處理過程也包括4個(gè)階段l 中斷申請(qǐng)與響應(yīng)握手 必須立即響應(yīng),但不發(fā)中斷響應(yīng)信號(hào)。l 標(biāo)志位的處理與斷點(diǎn)保存 與可屏蔽中斷類似。l 向中斷服務(wù)程序

7、轉(zhuǎn)移并執(zhí)行中斷服務(wù)程序 NMI中斷向量的兩個(gè)字放在0008H和000AH處。l 返回?cái)帱c(diǎn)5.7 中斷控制器1、82C59A外部特性和內(nèi)部寄存器l外部特性面向CPU的信號(hào)面向外設(shè)的8根中斷請(qǐng)求線面向同類芯片的中斷請(qǐng)求級(jí)聯(lián)線82C59A的內(nèi)部結(jié)構(gòu)圖5.3 82C59A的外部引腳與內(nèi)部寄存器數(shù)據(jù)總線緩沖器讀/寫邏輯級(jí)聯(lián)緩沖/比較器控制邏輯正在服務(wù)寄存器ISR優(yōu)先級(jí)分析器PR中斷請(qǐng)求寄存器IRR中斷屏蔽寄存器 IMRIR0IR1IR2IR3IR4IR5IR6IR7D0D7INTA0CAS0CAS1CAS2SP/ENCSWRRDINTAl內(nèi)部寄存器 中斷請(qǐng)求寄存器(IRR) 它存放IR線上提出了中斷請(qǐng)求

8、的中斷源,該寄存器8位(D0D7)對(duì)應(yīng)于連接在IR0IR7線上的外設(shè)所產(chǎn)生的中斷請(qǐng)求。哪 一根輸入線有請(qǐng)求,哪位就置“1”。 中斷屏蔽寄存器(IMR) 是對(duì)中斷請(qǐng)求IRi起屏蔽作用,即對(duì)中斷請(qǐng)求IRi是屏蔽還是允許,寄存器8位對(duì)應(yīng)8級(jí)中斷屏蔽。哪一級(jí)中斷被屏蔽,哪位就寫“1”,即禁止IRi提出中斷請(qǐng)求。Di=0 開中斷1 關(guān)中斷 正在服務(wù)寄存器ISR 在中斷響應(yīng)之后,第一個(gè)獲準(zhǔn)中斷請(qǐng)求的中斷級(jí)在相應(yīng)的ISR中置位(如IR3獲準(zhǔn),ISR中的IS3置位,表明IR3正處于服務(wù))。因此,ISR被用來存放正在被服務(wù)的所有中斷級(jí),包括尚沒服務(wù)完而中途被別的中斷所打斷了的中斷級(jí)。 在非自動(dòng)中斷結(jié)束方式下,I

9、SR的復(fù)位,要有中斷結(jié)束命令EOI來執(zhí)行。 優(yōu)先權(quán)分析器(PR) 優(yōu)先排隊(duì)當(dāng)在IRi輸入端有中斷產(chǎn)生時(shí),送到PR,PR檢查進(jìn)來的中斷請(qǐng)求的優(yōu)先級(jí)并和“正在服務(wù)中的中斷”進(jìn)行比較,確定是否讓這個(gè)中斷請(qǐng)求送給處理器。 2、82C59A的工作方式l 中斷觸發(fā)方式確定中斷請(qǐng)求的啟動(dòng)方式邊沿觸發(fā)方式。IR0-IR7線上出現(xiàn)由低到高的跳變,表示有中斷請(qǐng)求。電平觸發(fā)方式。 IR0-IR7線上出現(xiàn)高電平時(shí)變,表示有中斷請(qǐng)求。l 中斷級(jí)聯(lián)方式 82C59可以單片使用,也可以多片使用,級(jí)聯(lián)方式應(yīng)用時(shí)有主片和從片的問題。82C59在PC微機(jī)上的級(jí)聯(lián)l 中斷優(yōu)先級(jí)排對(duì)方式 完全嵌套方式 只能高優(yōu)先級(jí)中斷低優(yōu)先級(jí)的中斷

10、。 特殊完全嵌套方式 同級(jí)優(yōu)先級(jí)的中斷可以相互中斷。 優(yōu)先級(jí)輪換方式 被服務(wù)完的中斷源優(yōu)先級(jí)將自動(dòng)變?yōu)樽畹停浜蟮闹袛嘣吹膬?yōu)先級(jí)將變?yōu)樽罡?。?yōu)先級(jí)輪換方式有兩種 優(yōu)先級(jí)自動(dòng)輪換方式:當(dāng)一個(gè)中斷被服務(wù)后,自動(dòng)降為最低,初始順序是:IR0,IR1, 優(yōu)先級(jí)指定輪換方式:與的差別是,初始輪換的優(yōu)先級(jí)可以由程序指定。l 中斷結(jié)束方式 自動(dòng)結(jié)束方式 在中斷響應(yīng)周期,就自動(dòng)清零了該中斷源的ISR寄存器中被置1的位。這常用于沒有中斷嵌套的系統(tǒng)。 非自動(dòng)結(jié)束方式 在中斷服務(wù)程序后,必須使用中斷結(jié)束命令EOI才能清除ISR中的相應(yīng)位。這是最常用的中斷結(jié)束方式。它有兩種形式: 指定結(jié)束命令:即要指定結(jié)束中斷請(qǐng)求

11、線IRi的編號(hào)。 常規(guī)結(jié)束命令:不指定IRi的編號(hào)。3、82C59A的編程命令中斷操作功能: 請(qǐng)求 屏蔽 排隊(duì) 結(jié)束 級(jí)聯(lián) 中斷類型號(hào) 查詢 下面討論為實(shí)現(xiàn)這些功能的各個(gè)命令字的含義,為編程使用82C59A提供一些思路。l初始化命令字( ICW1 ICW4 ) 必須在對(duì)82C59A初始化時(shí)完成。需要按順序發(fā)送ICW1 ICW4 中斷請(qǐng)求觸發(fā)方式的設(shè)定(ICW1)功能:設(shè)定中斷請(qǐng)求的觸發(fā)方式(電平觸發(fā)或邊沿觸發(fā))、級(jí)聯(lián)和CPU的特性。 ICW10A00001LTIMADISNGLIC416位機(jī)無效特征位 電平觸發(fā) 無效單片使用需要ICW4D7D6D5D4D3D2D1D0ICW1的格式:A0:最低

12、位地址線,A0 =0即為偶地址。例.若8259A采用電平觸發(fā),單片使用,需要 ICW4(對(duì)16位機(jī)以上,D0=1),則: MOV AL,00011011B ;ICW1的內(nèi)容 OUT 20H,AL ;寫入ICW1端口 ;(A0=0) 微機(jī)主片的端口(地址A0=0) 中斷類型號(hào)的設(shè)定(ICW2) 功能:提供給CPU的中斷類型號(hào)ICW21A0T7T6T5T4T3000中斷類型號(hào)的高5位16位機(jī)無效D7D6D5D4D3D2D1D0設(shè):硬盤中斷號(hào):0DH 即 00001101 00001000注意:向ICW2寫入中斷類型號(hào)只寫高5位,低3位寫0,即08H。 MOV AL,08H ;中斷類型號(hào)的高5位 O

13、UT 21H,AL ;寫入ICW2的端口(A0=1)接到IR5上高5位中斷類型號(hào)產(chǎn)生的示意圖:ICW2CPU8259AIR0IR1IR2IR3IR4IR5IR6IR7編碼000001010011100101110111由硬件完成由軟件完成中斷類型號(hào) 中斷級(jí)聯(lián)方式的設(shè)定(ICW3)(1)級(jí)聯(lián)的結(jié)構(gòu)形式ICW3的格式: a.主片ICW3主片ICW31S7S6S5S4S3S2S1S0A0D7D6D5D4D3D2D1D0表示主片的哪個(gè)IRi上接有從片的中斷請(qǐng)求INTb.從片ICW3從片ICW3A0D7D6D5D4D3D2D1D01ID2ID1ID0從片標(biāo)志碼 ID2ID0有8種編碼,表示從片的INT接

14、到 主片的哪一個(gè)IRi位。以下圖連接為例(82C59在PC微機(jī)上的級(jí)聯(lián))PC機(jī)的82C59采用級(jí)聯(lián)方式,且從片的INT接到主片的IRQ2上。程序設(shè)計(jì)為(從片的請(qǐng)求線INT連到主片的IRQ2):主片的ICW3=00000100B=04HMOV AL,04H;主片的ICW3OUT 21H,AL 從片的ICW3=00000010B=02H MOV AL,02H ;從片的ICW3 OUT 0A1H,AL;從片的地址由譯碼決定(0A1H為從片的端口地址) 優(yōu)先級(jí):IR0,1,8-15,3,4,5,6,7 中斷優(yōu)先級(jí)和中斷結(jié)束設(shè)定(ICW4)A0=1lD5-D7高3位為0lD4(SFNM)=1 主片為特定

15、完全嵌套方式 =0 一般完全嵌套方式lD3(BUF) =1 為緩沖方式 ,SP/EN 作輸出 線,用于控制緩沖器的方向 =0 為非緩沖方式,SP/EN作輸入線ICW41000SFNMBUFM/S AEOI PMA0D7D6D5D4D3D2D1D0lD2(M/S)= 1 為緩沖方式下作主片 = 0 為緩沖方式下作從片 注:非緩沖方式(BUF=0時(shí)),則M/S無意義, 此時(shí)主/從由SP端決定。lD1(AEOI)=1 自動(dòng)結(jié)束方式,ISR有自動(dòng) 復(fù)位(清0)功能 =0 為非自動(dòng)結(jié)束方式,要發(fā)EOI命令lD0(uPM)=1 用于16位以上微機(jī) =0 用于8位微機(jī)例1. 某計(jì)算機(jī)的CPU為80286,而

16、8259A與系統(tǒng)總線之間采用緩沖器連接,非自動(dòng)結(jié)束方式,只用1片8259A,正常完全嵌套。則:ICW4=00001101B=0DH相應(yīng)的初始化程序段:MOV AL,0DH OUT 21H,AL初始化命令字的設(shè)置順序: 在系統(tǒng)運(yùn)行之前,系統(tǒng)中的每個(gè)8259A必須按先后次序接收CPU的2-4個(gè)ICW初始化命令字進(jìn)行初始化。初始化命令字必須按規(guī)定的順序?qū)懭搿?對(duì)PC微機(jī),且多片,則主片與從片的ICW3要分別寫。l 操作命令字( OCW1-OCW3 ) 初始化后,即在程序執(zhí)行中,使用OCW命令對(duì)中斷控制器進(jìn)行動(dòng)態(tài)控制。 不需要按順序發(fā)送,在程序中任意安排。 中斷屏蔽操作(OCW1) 格式為:OCW11

17、M7M6M5M4M3M2M1M0A0D7D6D5D4D3D2D1D01=屏蔽 0=開放 例1. 要使中斷源IR3開放,其余被屏蔽。則:OCW1=11110111B=F7H相應(yīng)的程序段: MOV AL,0F7H OUT 21H,AL ;OCW1內(nèi)容送端口此程序的最大問題是影響了其它中斷屏蔽為如果不影響其它中斷,應(yīng)該寫成下列程序段: IN AL,21H ;回讀21H端口的內(nèi)容 AND AL,11110111BOUT 21H,ALOCW20A0RSLEOI00L2L1L0指定中斷等級(jí)特征位中斷結(jié)束D7D6D5D4D3D2D1D0優(yōu)先級(jí)輪換中斷等級(jí)編號(hào) 中斷結(jié)束控制和中斷優(yōu)先級(jí)排隊(duì)控制操作(OCW2)

18、其命令格式:中斷結(jié)束控制(OCW2格式中的D5) 當(dāng)在初始化命令I(lǐng)CW4選用非自動(dòng)結(jié)束方式時(shí)(即AEOI=0),就利用OCW2來控制中斷結(jié)束。當(dāng)EOI=1,且: SL(D6)=0 不指定中斷結(jié)束(清最高優(yōu)先級(jí)) L2-L0=000,OCW2=00100000B SL(D6)=1,指定中斷結(jié)束(特殊屏蔽) L2-L0編碼是被指定的中斷等級(jí) 即:OCW2=01100L2L1L0例:指定IR5的中斷結(jié)束,則: OCW2=01100101B=65H作中斷優(yōu)先級(jí)排隊(duì)控制(OCW2格式中的D7)D7(R)1:需要輪換優(yōu)先權(quán),分二種 SL=0:優(yōu)先級(jí)固定方式,則為完全嵌套方式=1:優(yōu)先權(quán) 指定輪換=0:自動(dòng)

19、輪換注意:中斷結(jié)束方式和中斷排隊(duì)方式都用OCW2命令來實(shí)現(xiàn),因此它的某些位功能相互交叉顯然比較復(fù)雜,但其作用只有兩個(gè):l控制中斷結(jié)束方式l控制中斷優(yōu)先權(quán)輪換方式OCW2的組合功能:l 不指定EOI命令,全嵌套方式:00100000l 指定EOI命令,全嵌套方式: 01100L2L1L0l 不指定EOI方式,優(yōu)先級(jí)自動(dòng)輪換:10100000l 自動(dòng)EOI方式,優(yōu)先級(jí)自動(dòng)輪換:10000000l 自動(dòng)EOI方式,取消優(yōu)先級(jí)自動(dòng)輪換:00000000l 指定EOI方式,優(yōu)先級(jí)特殊輪換:11100L2L1L0l 優(yōu)先級(jí)特殊輪換:11000L2L1L0lOCW3的功能 用來設(shè)置查詢中斷方式 設(shè)置特定屏蔽

20、方式 讀取8259A的IRR,ISR寄存器的內(nèi)容OCW3的格式:D7D6D5D4D3D2D1D0OCW30A0XESMMSMM01PRIS特定屏蔽允許特征位查詢方式讀ISR讀寄存器允許RR特定屏蔽設(shè)置不用讀狀態(tài)操作(OCW3格式中的D1 D0 ) 8259A內(nèi)部有3個(gè)寄存器IRR,ISR,IMR可供CPU讀出當(dāng)前的內(nèi)容。(1)讀IRR和ISR的方法 CPU先指定讀哪個(gè)寄存器,然后再發(fā)IN指令,才能讀取ISR和IRR中的內(nèi)容。當(dāng)8259A初始化后,自動(dòng)指向讀IRR寄存器。(2)讀IMR的方法 不需要先發(fā)指定命令,只要讀奇地址端口。例:讀ISR寄存器的內(nèi)容分兩步: 通過OCW3指定被讀的寄存器 O

21、CW3為00001011B,表示下個(gè)RD要讀ISR 用IN指令讀出ISR寄存器的內(nèi)容程序段如下: MOV AL,0BH ;OCW3表示讀ISR OUT 20H,AL ;20H為OCW3的口地址 IN AL,20H ;讀ISR寄存器 8259A的編程命令的使用 8259A有兩類編程命令,初始化命令字ICW和操作命令字OCW。ICW: 在初始化里完成,必須按一定的順序。 在PC機(jī)中已有系統(tǒng)軟件完成,不需要 也不允許由用戶自己去設(shè)置。 一般只對(duì)于沒有配置完善操作系統(tǒng)的 單板微機(jī)上進(jìn)行。OCW: 沒有一定的順序,一般也不安排在程 序的開頭。 在初始化后的任何時(shí)候進(jìn)行動(dòng)態(tài)控制。5.9 用戶對(duì)系統(tǒng)中斷資源

22、的使用1、修改中斷向量當(dāng)使用PC機(jī)的某個(gè)中斷號(hào)時(shí),需分三步修改: 用35H號(hào)功能,獲取原中斷向量。 用25H號(hào)功能,設(shè)置新中斷向量,取代原中斷向量。 新服務(wù)程序執(zhí)行完畢后,利用25H號(hào)功能恢復(fù)原中斷向量。MOV AH,35H;取原中斷向量MOV AL,60H;60H為原中斷號(hào)INT 21HMOV AX,ESMOV OLD_SEG,AX ;保存原中斷向量MOV OLD_OFF,BX例:修改中斷號(hào)為60H的中斷向量。 第步:獲取原中斷向量第步:置入新的中斷向量MOV DX,SEG INTRnew ;INTRn是新中斷程序的入口地址MOV DS,DX ;DS指向新中斷程序段地址MOV DX,OFFS

23、ET INTRnew ;DX指向新中斷程序偏移地址MOV AL,60H ;中斷號(hào)MOV AH,25H ;設(shè)置新中斷向量INT 21H第步:置入原來的中斷向量MOV DX,OLD_SEGMOV DS,DX ;DS指向舊中斷程序段址MOV DX,OLD_OFF ;DX指向舊中斷程序偏移地址MOV AH,25H ;恢復(fù)舊的中斷向量MOV AL,60H ;中斷號(hào)INT 21H例:在PC機(jī)環(huán)境下,中斷向量的修改方法。l 在數(shù)據(jù)段中定義DATA SEGMENT OLD_SEGDW?;原中斷服務(wù)程序的段地址 OLD_OFFDW?;原中斷服務(wù)程序的偏移地址DATA ENDSl在代碼段寫程序CODE SEGME

24、NT MOV AH,35H ;取原中斷向量 MOV AL,60H ;60H為原中斷號(hào) INT 21H MOV OLD_SEG,ES ;保存原中斷向量 MOV OLD_OFF,BX MOV AH,25H ;設(shè)置新中斷向量 MOV AL,60H ;中斷號(hào) MOV DX,SEG INTRn ;INTRn是新中斷程序的入口 MOV DS,DX ;DS指向新中斷程序段地址 MOV DX,OFFSET INTRn ;DX指向新中斷程序偏移地址 INT 21H ;程序主體 MOV AH,25H ;恢復(fù)舊的中斷向量 MOV AL,60H ;中斷號(hào) MOV DX,OLD_SEG MOV DS,DX ;DS指向舊

25、中斷程序段址 MOV DX,OLD_OFF ;DX指向舊中斷程序偏移地址 INT 21H MOV AH,4CH INT 21HINTRn PROC PUSHAX ;中斷服務(wù)程序的主體 POP AX IRET CODE ENDS 2、中斷的屏蔽與開放開放IRQ2中斷的方法: IN AL,21H ;讀IMR寄存器 AND AL,0FBH ;對(duì)應(yīng)IRQ2的位置0 OUT 21H,AL關(guān)閉IRQ2中斷的方法: IN AL,21H ;讀IMR寄存器 OR AL,04H ;對(duì)應(yīng)IRQ2的位置1 OUT 21H,AL3、編寫中斷服務(wù)程序中斷程序編寫應(yīng)注意下列格式INT-P PROC FARPUSH ;保護(hù)寄存器的內(nèi)容 PUSH STI ;中斷服務(wù)程序體 MOV AL,20H ;不指定中斷結(jié)束方式 OUT 20H,AL ;發(fā)EOI命令,對(duì)微機(jī) POP ;恢復(fù)寄存器的內(nèi)容 POP IRETINT-P ENDP例:中斷用于數(shù)據(jù)采集系統(tǒng) 電

溫馨提示

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

評(píng)論

0/150

提交評(píng)論