版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第七章微型計算機(jī)中斷系統(tǒng)
第七章微型計算機(jī)中斷系統(tǒng)
7.1概述
7.2可屏蔽中斷處理過程
7.3中斷優(yōu)先級和中斷嵌套
7.4可編程中斷控制器8259A
7.5保護(hù)模式下的中斷
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity1
第七章微型計算機(jī)中斷系統(tǒng)
數(shù)當(dāng)要求
基本要求
知識點熟練正確一般備注
握
掌
理解理解
中
斷中斷與中斷類型重點是中斷響應(yīng)
的
基中斷優(yōu)先級與中斷嵌套條件和中斷處理
概
本過程
念CPU響應(yīng)中斷的條件
中斷處理過程
中
斷程序查詢式識別與判優(yōu)著重了解、掌握
源
的
原理、特點
識
別中斷向量式識別與判優(yōu)
8255A的內(nèi)部結(jié)構(gòu)與功能重點了解內(nèi)部寄
8259A存器及讀寫控制
8255A的外部接口特性方法
8255A的中斷工作過程
可編程設(shè)置的工作方式難點,
應(yīng)用編程重點是初始化
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity2
第七章微型計算機(jī)中斷系統(tǒng)
7.1概述
行一、中斷的基本概念
日常例子計算機(jī)術(shù)語
某人看書執(zhí)行主程序
電話鈴響中斷信號INT=Of中斷請求
暫停看書暫停執(zhí)行主程序f中斷響應(yīng)
書中作記號當(dāng)前PC入棧f保護(hù)斷點
電話談話執(zhí)行I/O程序f中斷服務(wù)
繼續(xù)看書返回主程序一中斷返回
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity3
第七章微型計算機(jī)中斷系統(tǒng)
1.中斷的基本概念
所謂中斷,就是指當(dāng)CPU正在執(zhí)行程序時,外設(shè)(或其它
中斷源)向CPU發(fā)出請求,CPU暫停當(dāng)前程序的執(zhí)行,轉(zhuǎn)向
稱中斷服務(wù)程序,當(dāng)中斷服務(wù)程序運行結(jié)束后,返回原程
序繼續(xù)執(zhí)行的過程。
?中斷最初是作為處理器與外部設(shè)備交換信息的一種控制方
式提出的。由此,最初的中斷全部是對外部設(shè)備而言的,
稱為外部中斷或硬件中斷。
?隨著計算機(jī)技術(shù)的發(fā)展,中斷的范圍也隨之?dāng)U大,出現(xiàn)了
內(nèi)部軟件中斷的概念,它是為解決機(jī)器內(nèi)部運行時出現(xiàn)的
異常以及為編程方便而提出的。
?外部中斷或硬件中斷通常稱為中斷
?軟件中斷或異常中斷通常稱為異常(Exception)
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity4
第七章微型計算機(jī)中斷系統(tǒng)
注:中斷與轉(zhuǎn)子程序的區(qū)別
1、調(diào)用子程序是在程序中插入調(diào)用指令,為事先安排好
的;而中斷服務(wù)程序的執(zhí)行則是由隨機(jī)的中斷事件引起的,
如請求I/O傳送;
2、子程序的執(zhí)行與主程序有關(guān),中斷程序可能與被中
斷的程序無關(guān);
3、在同一時刻,在程序中的同一處,只可有一條調(diào)用
指令,而在同一時刻可能出現(xiàn)多個中斷事件同時請求CPU為
其服務(wù)的情況;
4、中斷服務(wù)程序與子程序的編寫也不同。
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity5
第七章微型計算機(jī)中斷系統(tǒng)
2.中斷源
能發(fā)出中斷請求的外部設(shè)備或引起中斷的內(nèi)部原因稱中斷源
?中斷源的要求:
/不僅要求能發(fā)出中斷請求信號,而且這個信號還能保持下
來,直到CPU響應(yīng)這個中斷請求后才允許撤消,所以每個中
斷源必須有一個中斷請求觸發(fā)器用來鎖存中斷請求信號。
,在多個中斷源的微機(jī)系統(tǒng)中,為了增加對中斷控制的靈活
性,可根據(jù)需要指定某些中斷源提出的中斷請求可以被CPU
響應(yīng),而另'一些中斷源提出的中斷請求暫時不被響應(yīng)。這
可在接口電路中設(shè)置一個中斷屏蔽觸發(fā)器,每個中斷源發(fā)
出的中斷請求信號能否送到CPU,取決于中斷源各自的中斷
屏蔽觸發(fā)器的狀態(tài)。
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity6
第七章微型計算機(jī)中斷系統(tǒng)
3.中斷響應(yīng)
?對于外部硬件可屏蔽中斷而言CPU要每條指令的最后一
個T同期去檢測INTR引腳,CPU一旦檢測到有中斷請求,在
滿足中斷響應(yīng)的條件下(IF=1),CPU響應(yīng)中斷,向外設(shè)發(fā)
出INTA中斷響應(yīng)信號。并保護(hù)斷點,然后轉(zhuǎn)向中斷服務(wù)程
序。中斷服務(wù)程序執(zhí)行完畢,CPU返回原執(zhí)行程序的中斷
處,繼續(xù)向下執(zhí)行,稱為中斷返回。
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity7
第七章微型計算機(jī)中斷系統(tǒng)
4.中斷向量表
?中斷類型號通過一個地址指針表與中斷服務(wù)程序的入口地址
相聯(lián),在實模式下,該表稱為中斷向量表。
?中斷向量表包含256個中斷向量。每個中斷向量包含兩個字
(4個字節(jié)),高地址字為中斷服務(wù)程序所在代碼段的段基址,
低地址字為代碼段中中斷服務(wù)程序第一條指令的偏移量。
低地征偏移量V'4nXXf中斷服務(wù)程序入口地址的偏移地址的低8位
、4n+lXXf中斷服務(wù)程序入口地址的偏移地址的高8位
'4n+2f中斷服務(wù)程序入口地址的段地址的低8位
點地址1,段基址VXX
-4n+3XX-中斷服務(wù)程序入口地址的段地址的高8位
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity8
第七章微型計算機(jī)中斷系統(tǒng)
>例:設(shè)某中斷源的類型碼為13H,該中斷源的中斷服務(wù)程
序的入口地址為FFOOH:2200H,試畫出中斷矢量表。
>解:n=13,則4n=13H*4=4CH,
>中斷矢量表如下:
實模式下,中斷向量表存放在內(nèi)存最低端的1K單元之中,
物理地址00000H?003FFH
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity9
第七章微型計算機(jī)中斷系統(tǒng)
5.中斷優(yōu)先級
?通常一個系統(tǒng)有多個中斷源,而CPU同一時刻只能響應(yīng)一
個中斷源的請求,那么當(dāng)多個中斷源同時請求中斷服務(wù)時,
應(yīng)該先響應(yīng)哪一個,有一個次序安排的問題。
A按中斷源的輕重緩急程度確定的優(yōu)先級別,稱為優(yōu)先級。
優(yōu)內(nèi)部中斷和異常
先
級軟件中斷
遞外部非屏蔽中斷
增
外部可屏蔽中斷
2012-5-10LZhm—SchoolofElectronicandInformationEngineeringsXianningUniversity10
第七章微型計算機(jī)中斷系統(tǒng)
6.中斷嵌套
A當(dāng)CPU正在響應(yīng)某一中斷源的請求,執(zhí)行為其服務(wù)的中
斷服務(wù)程序時,如果有優(yōu)先級更高的中斷源發(fā)出請求,
CPU圈中止正在執(zhí)行的中斷服務(wù)程序而轉(zhuǎn)入為新的中斷源
服務(wù),等新的中斷服務(wù)程序執(zhí)行完后,再返回到被中止
的中斷服務(wù)程序,這一過程稱為中斷嵌套。
A中斷嵌套可以有多級,具體級數(shù)原則上不限,只取決
于堆棧深度
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity11
第七章微型計算機(jī)中斷系統(tǒng)
中斷的優(yōu)先級與中斷嵌套(示意圖)
1#中斷2#中斷3#中斷
原主程序服務(wù)程序服務(wù)程序服務(wù)程序
中斷優(yōu)先級3#>2#>1#
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity12
第七章微型計算機(jī)中斷系統(tǒng)
守中斷嵌套(示意圖)IR1處理程序
它說明:中斷結(jié)束前要有EOI中斷結(jié)束命令,用來清除中斷服務(wù)寄存器中對應(yīng)位,允許
低級中斷進(jìn)入。EOI結(jié)束命令一般放在中斷返回指令I(lǐng)RET前面,若中斷處理中提前發(fā)
出了皿I命令,則清除正在執(zhí)行的中斷服務(wù)「允許響應(yīng)同級或低級的中斷申請;
2012-5-10LZhm—SchoolofElectronicandInformationEngineering,XianningUniversity13
第七章微型計算機(jī)中斷系統(tǒng)
行二、中斷分類
A8086/8088可以處理256種中斷,它們被分為二大類:
?外部中斷和內(nèi)部中斷
?外部中斷也稱硬件中斷,是由外部的硬件產(chǎn)生的,又分:
?不可屏蔽中斷和可屏蔽中斷
外
設(shè)
中
斷
源
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity14
第七章微型計算機(jī)中斷系統(tǒng)
1.外部中斷
1外部中斷是由于8086外部提出中斷請求引起的中斷
利用外部中斷,微機(jī)系統(tǒng)可以實時響應(yīng)外部設(shè)備的數(shù)據(jù)傳
送請求,能夠及時處理外部意外或緊急事件
鼠注1:外部中斷的原因是處理器外部隨機(jī)產(chǎn)生的,所以是真
正的中斷(Interrupt)
鼠注2:內(nèi)部中斷的原因是處理器執(zhí)行程序出現(xiàn)異常,所以經(jīng)
常被稱為異常(Exception)
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity15
第七章微型計算機(jī)中斷系統(tǒng)
行1)非屏蔽中斷
廓通過非屏蔽中斷請求信號向微處理器提出的中斷請求,
微處理器無法禁止,將在當(dāng)前指令執(zhí)行結(jié)束予以響應(yīng),
這個中斷被稱為非屏蔽中斷
副8088的非屏蔽中斷的向量號為2,非屏蔽中斷請求信號
為NMI
1非屏蔽中斷主要用于處理系統(tǒng)的意外或故障。
例如:
-電源調(diào)電前的數(shù)據(jù)保護(hù)
-存儲器讀寫錯誤的處理
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity16
第七章微型計算機(jī)中斷系統(tǒng)
行2)可屏蔽中斷
同外部通過可屏蔽中斷請求信號向微處理器提出的中斷,微處
理器在允許可屏蔽中斷的條件下,在當(dāng)前指令執(zhí)行結(jié)束予以
響應(yīng),同時輸出可屏蔽中斷響應(yīng)信號,這個中斷就是可屏蔽
中斷
8086的可屏蔽中斷請求和響應(yīng)信號分別是INTR和INTA*;由
IF標(biāo)志控制可屏蔽中斷是否允許響應(yīng);向量號來自外部中斷
控制器
i8086通常需要配合中斷控制器8259A共同處理可屏蔽中斷
f可屏蔽中斷主要用于主機(jī)與外設(shè)交換數(shù)據(jù)
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity17
第七章微型計算機(jī)中斷系統(tǒng)
G.內(nèi)部中斷和異常
?內(nèi)部中斷也稱軟件中斷,是執(zhí)行特定指令時產(chǎn)生的中斷。
?軟件中斷通常有三種情況引起:
?31、中斷指令I(lǐng)NT引起的中斷;
?2.CPU的某些運算錯誤引起的中斷;
03、DEBUG設(shè)置的中斷;
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity18
第七章微型計算機(jī)中斷系統(tǒng)
^1)由中斷指令I(lǐng)NT引起的中斷
?CPU執(zhí)行一條INTN指令后會立即產(chǎn)生中斷,并調(diào)用系統(tǒng)
中相應(yīng)的中斷處理程序去完成中斷功能,指令中N指出
了中斷類型號。
/例:INT12H
?產(chǎn)生一個中斷,從中斷向量表的0:12H*4開始的單元中取出四個
字節(jié),其內(nèi)容為中斷服務(wù)程序的段地址及偏移地址,然后轉(zhuǎn)到此
入口去執(zhí)行中斷服務(wù)程序,完成對存儲器的測試。返回參數(shù)是存
儲器的大小,放在AX中。
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity19
第七章微型計算機(jī)中斷系統(tǒng)
行2)由CPU的某些運算錯誤引起的中斷
(1)除法錯中斷
解在執(zhí)行除法指令時,若除數(shù)為0或商超過了寄存器所能
表達(dá)的范圍,則產(chǎn)生一個向量號為0的內(nèi)部中斷,稱為
除法錯中斷
例如:
movbl,0
idivbl;除數(shù)BL=0,產(chǎn)生除法錯中斷
movax,200h
movbl,1
divbl;商=200H,不能用AL表達(dá)
;產(chǎn)生除法錯中斷
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity20
第七章微型計算機(jī)中斷系統(tǒng)
?。?)溢出中斷
在執(zhí)行溢出中斷指令I(lǐng)NTO時,若溢出標(biāo)志OF為1,則產(chǎn)
生一個向量號為4的內(nèi)部中斷,被稱為溢出中斷
例如:
movax,2000h
addax,7000h
;2000H+7000H=9000H,溢出:OF=1
into;因為OF=1,所以產(chǎn)生溢出中斷
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity21
第七章微型計算機(jī)中斷系統(tǒng)
者3)由調(diào)試程序DEBUG設(shè)置的中斷
行1)單步中斷
日若單步中斷TF為1,則在每條指令執(zhí)行結(jié)束后產(chǎn)生一個
向量號為1的內(nèi)部中斷,稱為單步中斷
例如:DEBUG.EXE調(diào)試程序的單步命令T就利用單步中斷
實現(xiàn)對程序的單步調(diào)試
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity22
第七章微型計算機(jī)中斷系統(tǒng)
行2)斷點中斷
斷點中斷為中斷類型3,用DEBUG程序時,可用G命令設(shè)
置斷點。當(dāng)CPU執(zhí)行到斷點時便產(chǎn)生中斷,同時顯示當(dāng)
前各寄存器和有關(guān)存儲器的內(nèi)容及下條要執(zhí)行的指令,
供用戶檢查。
例如:DEBUG.EXE調(diào)試程序的運行命令G設(shè)置的斷點,就
是利用INT3指令實現(xiàn)的
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity23
第七章微型計算機(jī)中斷系統(tǒng)
田7.2可屏蔽中斷處理過程
一般說來,中斷過程可以分為以下幾步:
一、提出申請
二、中斷識別
三、中斷響應(yīng)
四、中斷處理和返回
為了簡便問題討論,僅討論外設(shè)請求中斷的處理過程。
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity24
第七章微型計算機(jī)中斷系統(tǒng)
可
屏
蔽
中
斷
處
理
流
程
圖
LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity
25
2012-5-10
第七章微型計算機(jī)中斷系統(tǒng)
小一.中斷請求
中斷請求是由中斷源向CPU發(fā)出的某種信號,通知CPU某
臺外設(shè)正在請求CPU中斷現(xiàn)行程序的執(zhí)行,為它服務(wù)。
具有中斷能力的微處理器的外部引線中,都有一根或多
根中斷請求線,如8086CPU中的INTR和NMI。
中斷源接口電路中都設(shè)有一個中斷請求觸發(fā)器,由輸出
端的高電平來表示本外設(shè)提出了中斷請求。中斷請求觸發(fā)
器能將中斷請求信號一直保持,直到CPU響應(yīng)后,才由CPU
清除。
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity26
第七章微型計算機(jī)中斷系統(tǒng)
中斷屏蔽觸發(fā)器
CPU外部必須設(shè)置一個中斷請求觸發(fā)器鎖存中斷請求信號,
以便CPU在現(xiàn)行指令周期結(jié)束時采樣,還可設(shè)置中斷屏蔽觸
發(fā)器。見下圖。
當(dāng)觸發(fā)器為“1”時,外設(shè)的中斷請求才能被送出至CPU。
外設(shè)發(fā)出中斷請求要具備以下兩個基本條件:
1.外設(shè)本身的準(zhǔn)備工作已完成。
2.系統(tǒng)允許該外設(shè)發(fā)中斷請求。
中斷請求輸出
中斷請求輸入
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity27
第七章微型計算機(jī)中斷系統(tǒng)
小二.中斷識別
CPU要對中斷請求進(jìn)行處理,必須要找到相應(yīng)中斷服
務(wù)程序(處理中斷的程序)的入口地址,這就是中斷源的識
另L尋找哪個中斷源發(fā)出中斷請求稱為中斷源的識別。
中斷識別的目的是要形成該中斷源的中斷服務(wù)程序的
入口地址,以便CPU修此地址置入CS:IP寄存器,從而實
現(xiàn)程序的轉(zhuǎn)移。
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity28
第七章微型計算機(jī)中斷系統(tǒng)
中斷結(jié)構(gòu)
在中斷系統(tǒng)中,有多級中斷和單線中斷兩種結(jié)構(gòu),它
們中斷源的識別方法也不相同。
1
IRQ1
2
IRQ2
IRQ33
IRQ4CPU
4
IRQ5
N
多級中斷結(jié)構(gòu)單線中斷結(jié)構(gòu)
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity29
第七章微型計算機(jī)中斷系統(tǒng)
田中斷源識別方法IRQ1_
IRQ2二
?對于多級中斷結(jié)構(gòu),微處理有多條中斷請求IRQ3—
CPU
線。若每一個中斷都有一根對應(yīng)的中斷輸入IRQ4——
IRQ5一
線,貝UCPU就不存在查詢問題,在任何一時
亥hCPU只接受優(yōu)先級高的那個中斷請求,多級中斷結(jié)構(gòu)
并同時禁止比它級別低的其它中斷。
?對于單線中斷結(jié)構(gòu),多個中斷源共用一根中
斷請求線。它一方面要判別哪個中斷優(yōu)先
級最高,另外一方面要將程序引導(dǎo)到相應(yīng)的
中斷處理程序入口。解決這種結(jié)構(gòu)的中斷源
識別問題,常常有兩種處理方法:中斷向量
法和查詢法。單線
中斷結(jié)構(gòu)
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity30
第七章微型計算機(jī)中斷系統(tǒng)
行1.向量中斷
向量中斷:由中斷向量來指示服務(wù)程序的入口地址。
中斷向量包括中斷服務(wù)程序的段基址CS和偏移地址IP共4
個字節(jié)內(nèi)容。
每一個中斷服務(wù)程序都有一個確定的入口地址,把系統(tǒng)中
所有的中斷向量集中起來放到存儲器的某一區(qū)域內(nèi),這個存
放中斷向量的存儲區(qū)域就叫中斷向量表或中斷服務(wù)程序入口
地址表。
中斷向量表中的每一個向量的序號就是一個中斷號
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity31
第七章微型計算機(jī)中斷系統(tǒng)
^1)中斷向量表
?中斷向量:中斷服務(wù)程序的入口地址(首地址)
?邏輯地址含有段地址CS和偏移地址IP(32位)
?每個中斷向量的低字是偏移地址、高字是段地址,需占用
4個字節(jié)
?8086微處理器從物理地址00000H開始,依次安排各個中斷
向量,向量號也從0開始
?256個中斷占用1KB區(qū)域,就形成中斷向量表
j向量號為N的中斷向量的物理地址=Nx4
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity32
第七章微型計算機(jī)中斷系統(tǒng)
8086中斷向量表
IP
00000H類型號0指示器:除法出錯中斷’
00004H類型號1指示器:單步中斷CS
00008H類型號2指示器:非屏蔽中斷A專用的中斷指示器
0000CH類型號3指示器:斷點中斷(共5個)
00010H類型號4指示器:溢出錯中斷
00014H類型號5指示器(保留)
L保留的中斷指示器
[(共27個)
0007CH類型號31指示器(保留)
00080H類型號32指示器(用戶可用)
用戶可用的中斷指
1示器(共224個)
003FCH類型號31指示器(用戶可用)
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity33
第七章微型計算機(jī)中斷系統(tǒng)
行8088中斷向量表
向量號255的CS值用戶中斷
3FCH向量號255的IP值(向量號255)
向量號2的CS值非屏蔽中斷
008H向量號2的IP值(向量號2)
向量號1的CS值單步中斷
004H向量號1的IP值(向量號1)
向量號0的CS值除法錯中斷
000H向量號0的IP值(向量號0)
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity34
第七章微型計算機(jī)中斷系統(tǒng)
行例:INT68H,其中斷操作過程
1、取中斷類型號68H
2、計算中斷向量地址:68H*4=1AOH
3、取中斷向量地址分別送IP和CS
4、轉(zhuǎn)向中斷服務(wù)程序
5、中斷返回到INT68H指令的下一條指令
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity35
第七章微型計算機(jī)中斷系統(tǒng)
^2).中斷向量表的設(shè)置
?設(shè)置中斷向量表就是將中斷服務(wù)程序入口地址置
入中斷類型號(nn)所對應(yīng)的中斷向量表中。
?設(shè)置中斷向量表方法:
?利用指令設(shè)置,
?利用DOS功能調(diào)用設(shè)置
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity36
第七章微型計算機(jī)中斷系統(tǒng)
行方法一:利用指令設(shè)置中斷向量(1)
例:
MOVAX,0;主程序
MOVES,AX
MOVDI,N*4
MOVAX,OFFSETINTRAD;置入偏移地址
CLD
STOSW
MOVAX,CS;置入段地址
STOSW
STI
INTRAD:;中斷服務(wù)程序
IRET
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity37
第七章微型計算機(jī)中斷系統(tǒng)
行方法一:利用指令設(shè)置中斷向量(2)
例:
MOVAX,0;主程序
MOVES,AX
MOVBX,N*4
MOVAX,OFFSETINTRAD;置入偏移地址
MOVES:WORDPTR[BX],AX
MOVAX,SEGINTRAD;置入段地址
MOVES:WORDPTR[BX+2],AX
STI
INTRAD:;中斷服務(wù)程序
IRET
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity38
第七章微型計算機(jī)中斷系統(tǒng)
行方法二:利用DOS功能調(diào)用設(shè)置中斷向量
設(shè)置中斷向量:把由AL中指定中斷類型號的中斷向量DS:
DX,放置在中斷向量表中。
調(diào)用格式如下:
AL=中斷類型號
DS:口乂=中斷服務(wù)程序入口地址
AH=25H
執(zhí)行INT21H
例:
MOVAX,SEGINTRAD;設(shè)置中斷向量段地址DS
MOVDS,AX
MOVDX,OFFSETINTRAD
MOVAL,nn;中斷類型號
MOVAH,25H;設(shè)置中斷量
INT21H
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity39
第七章微型計算機(jī)中斷系統(tǒng)
^3).中斷向量號的獲取
?(1)對于除法中斷、單步中斷、不可屏蔽中斷NMI、斷點
中斷和溢出中斷,CPU分別自動提供中斷類型號0-4。
?(2)對于用戶自定義的軟件中斷INTnnH,類型號由nn
決定。
?(3)對外部可屏蔽中斷INTR,可以用可編程中斷控制器
8259A獲得中斷類型號。8259A收到CPU發(fā)出的第二個中斷
響應(yīng)信號INTA時,將對應(yīng)中斷源的中斷類型送給CPU,CPU
獲取中斷類型號后,自動轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序。
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity40
第七章微型計算機(jī)中斷系統(tǒng)
2.中斷查詢
1)軟件查詢
是在CPU響應(yīng)中斷后,用軟件查詢以確定是哪些外設(shè)申請中斷,并判斷
它們的優(yōu)先權(quán),即,CPU一旦檢測出有中斷請求時,就自動從固定地址為N的
單元取出一條指令,并執(zhí)行以這條指令開始的一段中斷識別程序,中斷識別
程序?qū)B接于中斷線上的每一臺設(shè)備按照預(yù)先安排好的優(yōu)先級次序逐臺查詢,
檢查每臺設(shè)備的接口中的中斷請求狀態(tài)位是否有效,若有效,則為其服務(wù),
否則,就查詢下一個緊挨著的優(yōu)先級的設(shè)備的中斷請求狀態(tài).
中斷源0
中斷源1
中斷源n
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity41
第七章微型計算機(jī)中斷系統(tǒng)
招2).硬件查詢——鏈?zhǔn)絻?yōu)先權(quán)排隊電路
POL------------?-----------------------
將所有的中來自CPU的查詢信號---------------------v——中斷輸入]
斷源排成'一個鏈。A]|A?
Vy
SYN-T-?
設(shè)備1選中V-----------1__________J
各中斷源在
-----------------------v----中斷輸入2
鏈中的前后順序
BjB2
SYN?
是根據(jù)中斷源優(yōu)設(shè)備2選中V----------J|
先級別的高低來-----------------------V----中斷輸入3
C,c2
排列。SYNI
設(shè)備3選中V----------J|
排在鏈前面<——中斷輸入
茴1-----------H------f---------------4
的優(yōu)先級最高。
SYN''丁'?
設(shè)備4選中V----------1JPOL
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity42
第七章微型計算機(jī)中斷系統(tǒng)
夕三、中斷響應(yīng)
1、CPU響應(yīng)中斷,通常要具備如下條件:
1)中斷源提出中斷請求信號,此信號要一直至CPU響應(yīng)這個
中斷信號后才可清除,且無總線請求信號。
2)本中斷未被屏蔽。即中斷源發(fā)出的中斷請求信號能夠傳
送到CPU中斷請求線。
3)CPU處于開中斷狀態(tài)。在CPU內(nèi)部有一個中斷允許觸發(fā)器,
其輸出端為“1”時才能響應(yīng)中斷,稱這“開中斷”,若輸出為
“0”,即為“關(guān)中斷”。當(dāng)CPU復(fù)位時,則自動關(guān)中斷;當(dāng)CPU
響應(yīng)任何中斷時,也立即自動關(guān)中斷。
4)CPU采樣INT線是在現(xiàn)行指令運行到最后一個機(jī)器周期的
最后一個T狀態(tài)。也就是說,中斷的出現(xiàn)是隨機(jī)的,但CPU響應(yīng)
中斷是在一條現(xiàn)行指令結(jié)束之后。
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity43
第七章微型計算機(jī)中斷系統(tǒng)
行2.中斷響應(yīng)周期中CPU的工作
1)發(fā)中斷響應(yīng)信號。當(dāng)CPU響應(yīng)中斷時,將發(fā)中斷響應(yīng)信
號,如8086CPU發(fā)出中斷響應(yīng)信號為INTA
2)自動關(guān)中斷。CPU內(nèi)部的中斷允許觸發(fā)器自動關(guān)閉。
3)保護(hù)斷點。當(dāng)一條指令執(zhí)行完后,若CPU進(jìn)入中斷響應(yīng)
周期,這時PC中內(nèi)容就是被中止的現(xiàn)行程序中正在執(zhí)行的指
令的下一條指令地址,該地址為現(xiàn)行主程序的中斷地址,稱
為斷點。CPU必須將這個斷點壓入堆棧保存起來,以便中斷
處理程序執(zhí)行完后能從此斷點處繼續(xù)執(zhí)行主程序。
4)保護(hù)關(guān)鍵現(xiàn)場。通常為標(biāo)志位寄存器內(nèi)容入棧
5)尋址中斷源。根據(jù)中斷類型,確定中斷服務(wù)程序的人
口地址。
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity44
第七章微型計算機(jī)中斷系統(tǒng)
e3、中斷響應(yīng)時序
CPU對可屏蔽中斷請求的響應(yīng)過程要執(zhí)行兩個連續(xù)的中斷
響應(yīng)INTA總線周期,每個總線周期包括4個時鐘周期:
?第一個INTA周期,CPU通知外設(shè)準(zhǔn)備響應(yīng)中斷,外設(shè)應(yīng)準(zhǔn)
備好中斷類型號——CPU將地址/數(shù)據(jù)總線置于浮動狀態(tài),在
T2-T4期間發(fā)出INTA給8259A,禁止來自其它總線控制器的總
線請求。
?第二個INTA周期,CPU接收外設(shè)接口發(fā)來的中斷類型號一
一在T2和T3周期將一個字節(jié)的中斷類型號N送數(shù)據(jù)總線低8位,
CPU讀取中斷類型號N,乘以4,得到中斷向量表的地址繼而查
得中斷服務(wù)程序入口地址,然后CPU保護(hù)PSW,清IF和TF,將
斷點CS和IP入棧,轉(zhuǎn)中斷服務(wù)程序入口。
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity46
第七章微型計算機(jī)中斷系統(tǒng)
行四、中斷處理和返回
1.保護(hù)現(xiàn)場。將需要保護(hù)的寄存器中的內(nèi)容保存起來
2.開中斷。CPU接收并響應(yīng)一個中斷后自動關(guān)閉中斷。若允
許響應(yīng)更高中斷,需在中斷服務(wù)程序中用開中斷指令。
3.中斷服務(wù)。完成某特定的功能,如傳送數(shù)據(jù)等。
4.關(guān)中斷。如果在第2步開了中斷,則在此處應(yīng)用關(guān)中。
5.恢復(fù)現(xiàn)場。在返回主程序之前要將用戶保護(hù)的內(nèi)容。
6.開中斷返回。此處的開中斷對應(yīng)于CPU響應(yīng)中斷后自動關(guān)
閉中斷,在返回主程序之前,用開中斷指令開斷,使主程序
可以被其中斷請求信號所中斷。中斷服務(wù)程序中的最后一條
指令是返回指令,執(zhí)行返回指令自動從現(xiàn)行堆棧中彈出斷點
和標(biāo)志位寄存器內(nèi)容,以便繼續(xù)執(zhí)行主程序。
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity47
第七章微型計算機(jī)中斷系統(tǒng)
行中斷處理和返回示意圖
INT
斷點
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity48
第七章微型計算機(jī)中斷系統(tǒng)
行CPU處理外部中斷時處理順序
?1.從數(shù)據(jù)線上讀取中斷類型碼,將中斷類型碼乘4,指向
中斷向量表的中斷處理子程序的入口地址。
?2.將狀態(tài)標(biāo)志位寄存器的內(nèi)容壓入堆棧。
?3.清除IF和TF的狀態(tài)標(biāo)志位,屏蔽新的INTR和單步中斷。
?4.將CS和IP的內(nèi)容進(jìn)棧保護(hù)
?5.轉(zhuǎn)中斷處理程序的入口地址,即將所指向的中斷向量表
中的低位字送IP,高位字送CS。
?6.轉(zhuǎn)中斷服務(wù)程序,執(zhí)行中斷處理程序。
?7.從堆棧中返回IP、CS、PSW返回到被中斷了的主程序的
斷點繼續(xù)執(zhí)行。
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity49
第七章微型計算機(jī)中斷系統(tǒng)
小五.中斷程序
>編寫內(nèi)部中斷服務(wù)程序與編寫子程序類似
.:.利用過程定義偽指令PROC/ENDP
第1條指令通常為開中斷指令STI
最后用中斷返回指令I(lǐng)RET
通常采用寄存器傳遞參數(shù)
>主程序需要調(diào)用中斷服務(wù)程序
*調(diào)用前,需要設(shè)置中斷向量
設(shè)置必要的入口參數(shù)
利用INTn指令調(diào)用中斷服務(wù)程序
處理出口參數(shù)
2012-5-10LZhm-SchoolofElectronicandInformationEngineering,XianningUniversity50
第七章微型計算機(jī)中斷系統(tǒng)
e1、主程序中的初始化
1)設(shè)置中斷向量
2)設(shè)置8259A的中斷屏蔽寄存器的中斷屏蔽位
3)設(shè)置CPU中斷允許標(biāo)志位IF
行2、中斷服務(wù)程序
1)現(xiàn)場保護(hù)——PUSH
2)若允許中斷嵌套,則用STI指令開中斷
3)執(zhí)行中斷處理程序
4)用CLI指令關(guān)中斷
5)給中斷命令寄存器送中斷結(jié)束命令EOI
6)恢復(fù)中斷時現(xiàn)場——POP
7)用中斷返回指令I(lǐng)RET返回主程序
2012-5-10LZhm-SchoolofElect
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024屆河北省高三上學(xué)期期末考試歷史試題(解析版)
- 單位管理制度集合大合集人事管理篇
- 單位管理制度合并選集【職工管理篇】十篇
- 單位管理制度呈現(xiàn)合集員工管理篇十篇
- 單位管理制度呈現(xiàn)大合集人員管理篇十篇
- (高頻選擇題60題)第3單元 中國特色社會主義道路(解析版)
- 旅游管理實習(xí)報告模板匯編九篇
- 教師實習(xí)報告
- 立春文化慶祝講座
- 講話稿萬能模板
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應(yīng)用實踐指導(dǎo)材料之7:“5領(lǐng)導(dǎo)作用-5.1領(lǐng)導(dǎo)作用和承諾”(雷澤佳編制-2025B0)
- 2024年度通信設(shè)備維修服務(wù)合同范本3篇
- 安恒可信數(shù)據(jù)空間建設(shè)方案 2024
- 2024年學(xué)校與家長共同促進(jìn)家校合作發(fā)展協(xié)議3篇
- C預(yù)應(yīng)力錨索框架梁施工方案(完整版)
- 參加團(tuán)干部培訓(xùn)心得體會
- 一次顯著的性能優(yōu)化
- 《中國近現(xiàn)代史綱要(2023版)》課后習(xí)題答案合集匯編
- 基于穩(wěn)態(tài)模型的轉(zhuǎn)差頻率控制的交流調(diào)速系統(tǒng)的仿真與設(shè)計
- 集裝箱內(nèi)裝倉庫倉儲最新協(xié)議
- 畢業(yè)設(shè)計論文千斤頂液壓缸加工專用機(jī)床電氣控制系統(tǒng)設(shè)計
評論
0/150
提交評論