接口技術(shù) 8259A中斷控制器原理及應(yīng)用_第1頁(yè)
接口技術(shù) 8259A中斷控制器原理及應(yīng)用_第2頁(yè)
接口技術(shù) 8259A中斷控制器原理及應(yīng)用_第3頁(yè)
接口技術(shù) 8259A中斷控制器原理及應(yīng)用_第4頁(yè)
接口技術(shù) 8259A中斷控制器原理及應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩72頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、8259A中斷控制器中斷控制器原理及應(yīng)用原理及應(yīng)用(6.3節(jié))節(jié))28259A中斷控制器中斷控制器nIntel 8259A是可編程中斷控制器是可編程中斷控制器PICn可用于管理可用于管理Intel 8080/8085、8086/8088、80286/80386的可屏蔽中斷的可屏蔽中斷n8259A的基本功能的基本功能n一片一片8259A可以管理可以管理8級(jí)中斷,可擴(kuò)展至級(jí)中斷,可擴(kuò)展至64級(jí)級(jí)n每一級(jí)中斷都可單獨(dú)被屏蔽或允許每一級(jí)中斷都可單獨(dú)被屏蔽或允許n在中斷響應(yīng)周期,可提供相應(yīng)的中斷向量號(hào)在中斷響應(yīng)周期,可提供相應(yīng)的中斷向量號(hào)n8259A設(shè)計(jì)有多種工作方式,可通過編程選擇設(shè)計(jì)有多種工作方式,

2、可通過編程選擇38259A的內(nèi)部結(jié)構(gòu)和引腳的內(nèi)部結(jié)構(gòu)和引腳D7D0INTAINT中斷請(qǐng)求寄存器中斷請(qǐng)求寄存器中斷屏蔽寄存器中斷屏蔽寄存器數(shù)據(jù)數(shù)據(jù)總線總線緩沖器緩沖器IR0IR7讀讀/寫寫控制控制邏輯邏輯級(jí)聯(lián)級(jí)聯(lián)緩沖器緩沖器比較器比較器RDWRA0CSCAS0CSA1CAS2SP/EN優(yōu)先權(quán)判別電路優(yōu)先權(quán)判別電路中斷服務(wù)寄存器中斷服務(wù)寄存器控制邏輯控制邏輯41. 中斷控制中斷控制n中斷請(qǐng)求寄存器中斷請(qǐng)求寄存器IRRn保存保存8條外界中斷請(qǐng)求信號(hào)條外界中斷請(qǐng)求信號(hào)IR0IR7的請(qǐng)求狀態(tài)的請(qǐng)求狀態(tài)nDi位為位為1表示表示IRi引腳有中斷請(qǐng)求;為引腳有中斷請(qǐng)求;為0表示無請(qǐng)求表示無請(qǐng)求n中斷服務(wù)寄存器

3、中斷服務(wù)寄存器ISRn保存正在被保存正在被8259A服務(wù)著的中斷狀態(tài)服務(wù)著的中斷狀態(tài)nDi位為位為1表示表示IRi中斷正在服務(wù)中;為中斷正在服務(wù)中;為0表示沒有被服務(wù)表示沒有被服務(wù)n中斷屏蔽寄存器中斷屏蔽寄存器IMRn保存對(duì)中斷請(qǐng)求信號(hào)保存對(duì)中斷請(qǐng)求信號(hào)IR的屏蔽狀態(tài)的屏蔽狀態(tài)nDi位為位為1表示表示IRi中斷被屏蔽(禁止);為中斷被屏蔽(禁止);為0表示允許表示允許(與與IF標(biāo)志位的規(guī)定相反標(biāo)志位的規(guī)定相反)52. 與處理器接口與處理器接口(讀寫控制邏輯部分讀寫控制邏輯部分) A0 RD* WR* CS*功能功能 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 1

4、寫入寫入ICW1、OCW2和和OCW3寫入寫入ICW2ICW4和和OCW1讀出讀出IRR、ISR和查詢字和查詢字讀出讀出IMR數(shù)據(jù)總線高阻狀態(tài)數(shù)據(jù)總線高阻狀態(tài)數(shù)據(jù)總線高阻狀態(tài)數(shù)據(jù)總線高阻狀態(tài)注:ICW初始化命令字,OCW操作命令字63. 中斷級(jí)連中斷級(jí)連n單片單片8259A可支持可支持8個(gè)中斷源;個(gè)中斷源;n采用多片采用多片8259A級(jí)連,可最多支持級(jí)連,可最多支持64個(gè)中斷源。個(gè)中斷源。N片片8259A可以支持可以支持8*N-(N-1)個(gè)中斷源個(gè)中斷源n級(jí)連時(shí)只能有一片級(jí)連時(shí)只能有一片8259A為主片,其余的均為從屬片;為主片,其余的均為從屬片;n涉及到的涉及到的8259A引腳包括:引腳包括

5、:nCAS0-CAS2 : 主主8259A的三條級(jí)連線的三條級(jí)連線CAS0CAS2作為輸出線,作為輸出線,連至每個(gè)從連至每個(gè)從8259A的的CAS0CAS2nSP*/EN*:在非緩沖方式下,規(guī)定該在非緩沖方式下,規(guī)定該8259A是主片(是主片(SP*1)還是)還是從片(從片(SP*0)nIRi : 每個(gè)從每個(gè)從8259A的中斷請(qǐng)求信號(hào)的中斷請(qǐng)求信號(hào)INT,連至主,連至主8259A的一個(gè)中斷的一個(gè)中斷請(qǐng)求輸入端請(qǐng)求輸入端IRnINT :主主8259A的的INT線連至線連至CPU的中斷請(qǐng)求輸入端的中斷請(qǐng)求輸入端級(jí)連電路連接方法級(jí)連電路連接方法演示演示8259A的工作過程的工作過程n8259A對(duì)中斷

6、請(qǐng)求的處理過程如下:對(duì)中斷請(qǐng)求的處理過程如下:n當(dāng)某當(dāng)某IRi有效時(shí),有效時(shí),IRR相應(yīng)位置相應(yīng)位置1n若有效的若有效的IRi未被屏蔽,則未被屏蔽,則向向CPU發(fā)出中斷請(qǐng)求發(fā)出中斷請(qǐng)求n檢測(cè)到第檢測(cè)到第1個(gè)個(gè)INTA*信號(hào)后,信號(hào)后,置置ISRi=1,IRRi=0 n檢測(cè)到第檢測(cè)到第2個(gè)個(gè)INTA*信號(hào)后,信號(hào)后,把把ISRi=1中最高優(yōu)中最高優(yōu)先級(jí)的中斷類型碼放到先級(jí)的中斷類型碼放到DB上上n若工作在若工作在AEOI方式,在第方式,在第2個(gè)個(gè)INTA*結(jié)束時(shí),使結(jié)束時(shí),使ISRi復(fù)位;否則由復(fù)位;否則由CPU發(fā)出發(fā)出EOI命令使命令使ISRi復(fù)位復(fù)位動(dòng)畫動(dòng)畫9 8259A的工作過程(續(xù))的工

7、作過程(續(xù))CAS0CAS2D0D7SP/ENIR0IR7CPU響應(yīng)周期響應(yīng)周期8259A工作波形工作波形INT第一個(gè)周期第一個(gè)周期T1 T2 T3 T4ALECLK 第二個(gè)周期第二個(gè)周期T1 T2 T3 T4第一個(gè)前保持為高電平第一個(gè)前保持為高電平 INTALOCK108259A的工作方式(理解)的工作方式(理解)普通全嵌套方式普通全嵌套方式特殊全嵌套方式特殊全嵌套方式自動(dòng)循環(huán)方式自動(dòng)循環(huán)方式特殊循環(huán)方式特殊循環(huán)方式優(yōu)先權(quán)固定方式優(yōu)先權(quán)固定方式優(yōu)先權(quán)循環(huán)方式優(yōu)先權(quán)循環(huán)方式設(shè)置優(yōu)先權(quán)方式設(shè)置優(yōu)先權(quán)方式普通中斷結(jié)束方式普通中斷結(jié)束方式特殊中斷結(jié)束方式特殊中斷結(jié)束方式自動(dòng)中斷結(jié)束方式自動(dòng)中斷結(jié)束方

8、式非自動(dòng)中斷結(jié)束方式非自動(dòng)中斷結(jié)束方式結(jié)束中斷處理方式結(jié)束中斷處理方式屏蔽中斷源方式屏蔽中斷源方式普通屏蔽方式普通屏蔽方式特殊屏蔽方式特殊屏蔽方式中斷觸發(fā)方式中斷觸發(fā)方式邊沿觸發(fā)方式邊沿觸發(fā)方式電平觸發(fā)方式電平觸發(fā)方式數(shù)據(jù)線連接方式數(shù)據(jù)線連接方式緩沖方式緩沖方式非緩沖方式非緩沖方式111. 優(yōu)先權(quán)固定方式優(yōu)先權(quán)固定方式n普通全嵌套方式普通全嵌套方式n8259A的中斷的中斷優(yōu)先權(quán)順序固定不變優(yōu)先權(quán)順序固定不變,從高到低依次為,從高到低依次為IR0、IR1、IR2、IR7n中斷請(qǐng)求后,中斷請(qǐng)求后,8259A對(duì)對(duì)當(dāng)前請(qǐng)求中斷中優(yōu)先權(quán)最高的中當(dāng)前請(qǐng)求中斷中優(yōu)先權(quán)最高的中斷斷IRi予以予以響應(yīng)響應(yīng),將其

9、向量號(hào)送上數(shù)據(jù)總線,對(duì)應(yīng),將其向量號(hào)送上數(shù)據(jù)總線,對(duì)應(yīng)ISR的的Di位置位,至到中斷結(jié)束(位置位,至到中斷結(jié)束(ISR的的Di位復(fù)位)位復(fù)位)n在在ISR的的Di位置位期間,位置位期間,禁止再發(fā)生同級(jí)和低級(jí)優(yōu)先權(quán)禁止再發(fā)生同級(jí)和低級(jí)優(yōu)先權(quán)的中斷的中斷,但允許高級(jí)優(yōu)先權(quán)中斷的嵌套,但允許高級(jí)優(yōu)先權(quán)中斷的嵌套n特殊全嵌套方式特殊全嵌套方式一中斷正被處理時(shí),允許一中斷正被處理時(shí),允許同級(jí)或更同級(jí)或更高優(yōu)先級(jí)高優(yōu)先級(jí)的事件可以打斷當(dāng)前的中的事件可以打斷當(dāng)前的中斷處理過程而被服務(wù)。(參閱教材斷處理過程而被服務(wù)。(參閱教材P190P191)注注: 特殊全嵌套僅用于多個(gè)特殊全嵌套僅用于多個(gè)8259A級(jí)級(jí)連時(shí)

10、的主連時(shí)的主8259A,而不能用于從,而不能用于從屬屬8259A或單或單8259A系統(tǒng)。系統(tǒng)。特殊全嵌套方式特殊全嵌套方式 D.主8259AIR0IR1IR2IR3IR4IR5IR6IR7一般嵌套方式:從片的INT被主片封鎖,故更高級(jí)別的IR0-IR2中斷也無法得到響應(yīng)特殊嵌套方式:因主片不封鎖從片的INT,故級(jí)別高的IR0-IR2中斷可以得到響應(yīng)。(但I(xiàn)R3-IR7仍被本從片封鎖)C.假定IR3發(fā)生中斷,并獲得服務(wù)一般嵌套方式:IR4的中斷被服務(wù)時(shí),這些中斷將被封鎖。B.特殊嵌套方式:IR4的中斷被服務(wù) 時(shí) , 只 封 鎖IR5-IR7。A.INTE.從8259AINTIR0IR1IR2IR

11、3IR4IR5IR6IR7普通普通(一般一般)全嵌套方式全嵌套方式 VS. 特殊全嵌套方式特殊全嵌套方式去CPU2、循環(huán)優(yōu)先級(jí)方式循環(huán)優(yōu)先級(jí)方式n中斷源輪流處于最高優(yōu)先級(jí)中斷源輪流處于最高優(yōu)先級(jí),某中斷請(qǐng)求某中斷請(qǐng)求IRi被被處理后,其優(yōu)先級(jí)別自動(dòng)降為最低,原來比它處理后,其優(yōu)先級(jí)別自動(dòng)降為最低,原來比它低一級(jí)的中斷上升為最高級(jí)低一級(jí)的中斷上升為最高級(jí) n自動(dòng)循環(huán):初始優(yōu)先級(jí)自動(dòng)規(guī)定自動(dòng)循環(huán):初始優(yōu)先級(jí)自動(dòng)規(guī)定n特殊循環(huán):特殊循環(huán):初始優(yōu)先級(jí)可用編程改變初始優(yōu)先級(jí)可用編程改變n適用于多個(gè)中斷源具有相同優(yōu)先權(quán)適用于多個(gè)中斷源具有相同優(yōu)先權(quán)IR7IR6IR5IR4IR3IR2IR1IR076543

12、21021076543最低級(jí)最高級(jí)最高級(jí)最低級(jí)ISR內(nèi)容IR7IR6IR5IR4IR3IR2IR1IR0IR4的服務(wù)結(jié)束以前0101000001000000IR4的服務(wù)結(jié)束以后ISRi153. 結(jié)束中斷處理方式結(jié)束中斷處理方式什么是什么是8259A的中斷結(jié)束?的中斷結(jié)束?8259A利用中斷服務(wù)寄存器利用中斷服務(wù)寄存器ISR判斷:判斷:n某位為某位為1,表示正在進(jìn)行中斷服務(wù);,表示正在進(jìn)行中斷服務(wù);n該位為該位為0,就是該中斷結(jié)束服務(wù)。,就是該中斷結(jié)束服務(wù)。這里說明如何使這里說明如何使ISR某位為某位為0,不反映,不反映CPU的工作狀態(tài)。的工作狀態(tài)。16結(jié)束中斷處理方式(續(xù))結(jié)束中斷處理方式(續(xù)

13、)n自動(dòng)中斷結(jié)束方式自動(dòng)中斷結(jié)束方式AEOIn在第在第2個(gè)個(gè)INTA#結(jié)束時(shí),由結(jié)束時(shí),由8259A使使ISRi自動(dòng)復(fù)位自動(dòng)復(fù)位n非自動(dòng)中斷結(jié)束方式非自動(dòng)中斷結(jié)束方式1:普通中斷結(jié)束方式:普通中斷結(jié)束方式EOIn配合全嵌套(固定)優(yōu)先權(quán)方式使用配合全嵌套(固定)優(yōu)先權(quán)方式使用n當(dāng)當(dāng)CPU用輸出指令往用輸出指令往8259A發(fā)出普通中斷結(jié)束發(fā)出普通中斷結(jié)束EOI命令命令時(shí),時(shí),8259A就會(huì)把所有正在服務(wù)的中斷中優(yōu)先權(quán)最高就會(huì)把所有正在服務(wù)的中斷中優(yōu)先權(quán)最高的的ISR位復(fù)位位復(fù)位n非自動(dòng)中斷結(jié)束方式非自動(dòng)中斷結(jié)束方式2:特殊中斷結(jié)束方式:特殊中斷結(jié)束方式SEOIn配合循環(huán)優(yōu)先權(quán)方式使用配合循環(huán)優(yōu)先

14、權(quán)方式使用nCPU在程序中向在程序中向8259A發(fā)送一條特殊中斷結(jié)束命令,發(fā)送一條特殊中斷結(jié)束命令,這個(gè)命令中指出了要清除哪個(gè)這個(gè)命令中指出了要清除哪個(gè)ISR位位174. 屏蔽中斷源方式屏蔽中斷源方式n普通屏蔽方式普通屏蔽方式n將將IMR的的Di位置位置1,則對(duì)應(yīng)的中斷,則對(duì)應(yīng)的中斷IRi被屏蔽被屏蔽,該,該中斷請(qǐng)求不能從中斷請(qǐng)求不能從8259A送到送到CPUn如果如果IMR的的Di位置位置0,則允許,則允許IRi中斷產(chǎn)生中斷產(chǎn)生n特殊屏蔽方式特殊屏蔽方式n使用場(chǎng)合:在執(zhí)行較高級(jí)的中斷服務(wù)時(shí),希望開放使用場(chǎng)合:在執(zhí)行較高級(jí)的中斷服務(wù)時(shí),希望開放較低級(jí)的中斷請(qǐng)求。較低級(jí)的中斷請(qǐng)求。n原理原理:將

15、將IMR的的Di位置位置1,對(duì)應(yīng)的中斷,對(duì)應(yīng)的中斷IRi被屏蔽的被屏蔽的同時(shí),使同時(shí),使ISR的的Di位置位置0。假定當(dāng)前正在處理假定當(dāng)前正在處理IR6,先先進(jìn)入特殊屏蔽方式,然后進(jìn)入特殊屏蔽方式,然后設(shè)置設(shè)置IM6=1。這時(shí),。這時(shí),除除IR6外的所有中斷請(qǐng)求均能得到響應(yīng)。外的所有中斷請(qǐng)求均能得到響應(yīng)。n特殊屏蔽方式中只能用特殊屏蔽方式中只能用SEOI命令結(jié)束中斷。命令結(jié)束中斷。185. 中斷觸發(fā)方式中斷觸發(fā)方式n邊沿觸發(fā)方式邊沿觸發(fā)方式n8259A將中斷請(qǐng)求輸入端出現(xiàn)的將中斷請(qǐng)求輸入端出現(xiàn)的上升沿作為中斷請(qǐng)求信號(hào)上升沿作為中斷請(qǐng)求信號(hào)n電平觸發(fā)方式電平觸發(fā)方式n中斷請(qǐng)求端出現(xiàn)的高電平是有中

16、斷請(qǐng)求端出現(xiàn)的高電平是有效的中斷請(qǐng)求信號(hào)效的中斷請(qǐng)求信號(hào)196. 數(shù)據(jù)線連接方式數(shù)據(jù)線連接方式n緩沖方式緩沖方式n8259A的數(shù)據(jù)線需加緩沖器予以驅(qū)動(dòng)的數(shù)據(jù)線需加緩沖器予以驅(qū)動(dòng)n8259A把把SP*/EN*引腳作為引腳作為輸出輸出端(輸出允端(輸出允許信號(hào)),用以鎖存或開啟緩沖器(許信號(hào)),用以鎖存或開啟緩沖器(enable buffer)n非緩沖方式非緩沖方式nSP*/EN*引腳為引腳為輸入輸入端端(slave program)n若若8259A級(jí)連,由其確定是主片級(jí)連,由其確定是主片(sp=1)(sp=1)或從或從片片 (sp=0)208259A的編程的編程n初始化編程初始化編程n8259A

17、開始工作前,必須進(jìn)行初始化編程開始工作前,必須進(jìn)行初始化編程n給給8259A寫入寫入初始化命令字初始化命令字ICW(ICW1ICW4)n中斷操作編程中斷操作編程n在在8259A工作期間工作期間n可以寫入可以寫入操作命令字操作命令字OCW(OCW1OCW3)將選將選定的操作傳送給定的操作傳送給8259A,使之按新的要求工作,使之按新的要求工作n還可以讀取還可以讀取8259A的信息,以便了解它的工作狀的信息,以便了解它的工作狀態(tài)態(tài)8259A內(nèi)部寄存器的尋址方法內(nèi)部寄存器的尋址方法CS# RD# WR#A0D4D3讀寫操作讀寫操作010000寫OCW2寫OCW3寫ICW1寫ICW2,ICW3,ICW

18、4,OCW1(順序?qū)懭?00101x1xx00101xx讀出IRR、ISR讀出IMR需要CS#、A0、RD#、WR#和D4、D3的配合內(nèi)部寄存器的訪問方法如下表: A0 RD* WR* CS*功能功能 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 1寫入寫入ICW1、OCW2和和OCW3寫入寫入ICW2ICW4和和OCW1讀出讀出IRR、ISR和查詢字和查詢字讀出讀出IMR數(shù)據(jù)總線高阻狀態(tài)數(shù)據(jù)總線高阻狀態(tài)數(shù)據(jù)總線高阻狀態(tài)數(shù)據(jù)總線高阻狀態(tài)8259A的初始化順序的初始化順序 n8259的的初始化流程初始化流程如圖如圖(注意次序不可顛倒(注意次序不可顛倒 )寫ICW1寫

19、ICW2級(jí)連?寫ICW3需ICW4?寫ICW4NNYY8259A的控制命令字的控制命令字n初始化初始化8259A必須從必須從ICW1開始開始n寫寫ICW1意味著重新初始化意味著重新初始化8259An寫入寫入ICW1后,后,8259A的狀態(tài)如下:的狀態(tài)如下:n清除清除ISR和和IMR(全全0);n將中斷優(yōu)先級(jí)設(shè)成初始狀態(tài):將中斷優(yōu)先級(jí)設(shè)成初始狀態(tài):IR0最高,最高,IR7最低;最低;n設(shè)定為設(shè)定為普通(普通(一般一般)屏蔽方式;屏蔽方式;n采用非自動(dòng)中斷結(jié)束方式;采用非自動(dòng)中斷結(jié)束方式;n狀態(tài)讀出邏輯預(yù)置為讀狀態(tài)讀出邏輯預(yù)置為讀IRR。24ICW1初始化字初始化字1LTIMSNGLIC4D7D6

20、D5D4D3D2D1D0表示可以任意表示可以任意為為1為為0都可以(建議為都可以(建議為0) 1只能為只能為1,作為標(biāo)志,作為標(biāo)志中斷觸發(fā)方式:中斷觸發(fā)方式:LTIM1,電平觸發(fā)方式,電平觸發(fā)方式LTIM0,邊沿觸發(fā)方式,邊沿觸發(fā)方式 規(guī)定單片或級(jí)連方式:規(guī)定單片或級(jí)連方式:SNGL1,單片方式,單片方式SNGL0,級(jí)連方式,級(jí)連方式是否寫入是否寫入ICW4IC41,要寫入,要寫入ICW4IC40,不寫入,不寫入ICW4,即,即ICW4規(guī)定的位全為規(guī)定的位全為0ICW1芯片控制初始化命令字芯片控制初始化命令字nLTIM: 觸發(fā)方式觸發(fā)方式n=1 高電平觸發(fā)高電平觸發(fā)n=0 上升沿觸發(fā)上升沿觸發(fā)

21、nSNGL: 級(jí)連控制級(jí)連控制n=1 單片單片n=0 級(jí)連級(jí)連nIC4: ICW4控制控制n=1 要寫要寫ICW4(8086配合配合8259則此位必須為則此位必須為1)n=0 不寫不寫ICW4(默認(rèn)(默認(rèn)ICW4為全為全0)A0 D7D6 D5 D4 D3 D2 D1 D0 0 x x x 1 LTIM x SNGL IC4ICW1的標(biāo)志ICW2中斷向量碼基值中斷向量碼基值nT7T3: 中斷向量碼的高中斷向量碼的高5位位nT2T0: 最低最低3位為中斷源的序號(hào)位為中斷源的序號(hào)IRnn000111分別對(duì)應(yīng)分別對(duì)應(yīng)IR0IR7n由由8259A根據(jù)中斷源的序號(hào)自動(dòng)填入根據(jù)中斷源的序號(hào)自動(dòng)填入 例如:

22、例如:若若ICW2命令字為命令字為48H,則,則IR0的中斷向量碼為的中斷向量碼為48H,IR7的中斷向量碼為的中斷向量碼為4FH,等等。,等等。 A0 D7D6 D5 D4 D3 D2 D1 D0 1 T7 T6 T5 T4 T3 x x xICW3級(jí)連控制字級(jí)連控制字 n主片的級(jí)聯(lián)控制字主片的級(jí)聯(lián)控制字 (位映像方式)(位映像方式)nSi=1 對(duì)應(yīng)對(duì)應(yīng)IRi線上連接了從片線上連接了從片 A0 D7D6 D5 D4 D3 D2 D1 D0 1 S7 S6 S5 S4 S3 S2 S1 S0從片的級(jí)聯(lián)控制字 (編碼方式)ID2ID0 標(biāo)識(shí)碼,說明本從片連接到主片的哪個(gè)IR引腳上。 000111

23、分別對(duì)應(yīng)IR0IR7。 A0 D7D6 D5 D4 D3 D2 D1 D0 1 0 0 0 0 0 ID2 ID1 ID0ICW3級(jí)連控制字(續(xù))級(jí)連控制字(續(xù))nICW3必須與主從片的連接關(guān)系一致:必須與主從片的連接關(guān)系一致:例如,主片的例如,主片的IR4與從片的與從片的INT線連接,則線連接,則主片的主片的ICW3=10H,從片的,從片的ICW3=04H。n中斷響應(yīng)時(shí),主片通過級(jí)連線中斷響應(yīng)時(shí),主片通過級(jí)連線CAS2-CAS0送出被允許中斷的從片標(biāo)識(shí)碼,各從片用送出被允許中斷的從片標(biāo)識(shí)碼,各從片用自己的自己的ICW3與與CAS2-CAS0比較,二者一致比較,二者一致的從片才可發(fā)送中斷向量碼

24、。的從片才可發(fā)送中斷向量碼。演示演示29ICW4000SFNMBUFM/SAEOIPMD7D6D5D4D3D2D1D0嵌套方式:嵌套方式:n特殊全嵌套方式(特殊全嵌套方式(SFNM1)n普通全嵌套方式(普通全嵌套方式(SFNM0)數(shù)據(jù)線的緩沖方式:數(shù)據(jù)線的緩沖方式:n緩沖方式(緩沖方式(BUF1)n非緩沖方式(非緩沖方式(BUF0) 主片主片/從片選擇:從片選擇:n主片(主片(M/S=1)n從片(從片(M/S=0)中斷結(jié)束方式:中斷結(jié)束方式:n自動(dòng)中斷結(jié)束(自動(dòng)中斷結(jié)束(AEOI1)n非自動(dòng)中斷結(jié)束(非自動(dòng)中斷結(jié)束(AEOI0)微處理器類型:微處理器類型:n16位位80 x86( PM1)n8

25、位位8080/8085( PM0)ICW4方式控制初始化命令字方式控制初始化命令字nSFNM: 特殊全嵌套特殊全嵌套(special fully nested mode)1 特殊全嵌套方式特殊全嵌套方式0 一般全嵌套方式一般全嵌套方式nAEOI: 自動(dòng)自動(dòng)EOI1 自動(dòng)自動(dòng)EOI方式方式0 非自動(dòng)非自動(dòng)EOI方式方式A0 D7D6 D5 D4 D3 D2 D1 D0 1 0 0 0 SFNM BUF M/S AEOI 1BUF: 緩沖方式 M/S: 主/從緩沖選擇BUF M/S 1 1 緩沖方式/主PIC 1 0 緩沖方式/從PIC 0 x 非緩沖方式/正常初始化主片初始化主片8259Amov

26、 al,11h ;寫入寫入ICW1:設(shè)定邊沿觸發(fā),級(jí)連方式設(shè)定邊沿觸發(fā),級(jí)連方式out 20h,al ;主片主片I/O地址是地址是20H和和21Hjmp intr1 ;本程序段的轉(zhuǎn)移指令起延時(shí)作用,等待本程序段的轉(zhuǎn)移指令起延時(shí)作用,等待8259A操作結(jié)束操作結(jié)束intr1:mov al,08h;寫入寫入ICW2:設(shè)定主片設(shè)定主片IR0的中斷向量號(hào)為的中斷向量號(hào)為08Hout 21h,aljmp intr2intr2:mov al,04h ;寫入寫入ICW3:設(shè)定主片設(shè)定主片IR2級(jí)連從片級(jí)連從片out 21h,aljmp intr3intr3:mov al,05h;寫入寫入ICW4:設(shè)定普通全

27、嵌套方式,普通中斷結(jié)束方式設(shè)定普通全嵌套方式,普通中斷結(jié)束方式out 21h,al中斷控制器的初始化程序段初始化從片初始化從片8259Amov al,11h ;寫入寫入ICW1:設(shè)定邊沿觸發(fā),級(jí)連方式設(shè)定邊沿觸發(fā),級(jí)連方式out 0a0h,aljmp intr5intr5:mov al,70h ;寫寫ICW2:設(shè)定從片設(shè)定從片IR0的中斷向量號(hào)為的中斷向量號(hào)為70Hout 0a1h,aljmp intr6intr6:mov al,02h ;寫入寫入ICW3:設(shè)定從片連于主片的設(shè)定從片連于主片的IR2out 0a1h,aljmp intr7intr7:mov al, 01h ;寫入寫入ICW4:

28、設(shè)定普通全嵌套方式,普通中斷結(jié)束方式設(shè)定普通全嵌套方式,普通中斷結(jié)束方式out 0a1h,al中斷控制器的初始化程序段8259A的操作命令字的操作命令字OCW nOCW用于設(shè)置用于設(shè)置8259的工作狀態(tài)的工作狀態(tài)n在初始化后寫入,在初始化后寫入,8259A工作期間,可以隨工作期間,可以隨時(shí)接受操作命令字時(shí)接受操作命令字OCWnOCW共有共有3個(gè):個(gè):OCW1OCW3nOCW的寫入順序可任意的寫入順序可任意,需要哪個(gè),需要哪個(gè)OCW就就寫入那個(gè)寫入那個(gè)OCWn寫入地址要求:寫入地址要求:nOCW1必須寫入奇地址端口必須寫入奇地址端口(A0=1)nOCW2,OCW3必須寫入偶地址端口必須寫入偶地址

29、端口(A0=0) OCW1中斷屏蔽字中斷屏蔽字 nMi=1 中斷請(qǐng)求線中斷請(qǐng)求線IRi被屏蔽被屏蔽(不允許中斷不允許中斷) =0 允許該允許該IRi中斷中斷 nOCW1將寫入將寫入IMR寄存器。寄存器。nA0=1時(shí)讀時(shí)讀OCW1可讀出設(shè)置的可讀出設(shè)置的IMR內(nèi)容。內(nèi)容。 A0 D7D6 D5 D4 D3 D2 D1 D0 1 M7 M6 M5 M4 M3 M2 M1 M035OCW2RSLEOI00L2L1L0D7D6D5D4D3D2D1D0R、SL和和EOI配合使配合使用用產(chǎn)生中斷結(jié)束產(chǎn)生中斷結(jié)束EOI命命令和改變優(yōu)先權(quán)順序令和改變優(yōu)先權(quán)順序L2L0的的3位編碼位編碼指定指定IR引腳引腳 O

30、CW2中斷結(jié)束和優(yōu)先級(jí)循環(huán)中斷結(jié)束和優(yōu)先級(jí)循環(huán) nL2L0: 優(yōu)先級(jí)編碼優(yōu)先級(jí)編碼nR: 優(yōu)先級(jí)自動(dòng)循環(huán)優(yōu)先級(jí)自動(dòng)循環(huán)nSL: 指定優(yōu)先級(jí)指定優(yōu)先級(jí)nEOI: 結(jié)束中斷命令結(jié)束中斷命令 R SL EOI 0 0 1 非指定非指定EOI 命令命令(NSEOI),全嵌套方式,全嵌套方式 0 1 1 指定指定EOI 命令命令(SEOI),全嵌套方式,按,全嵌套方式,按L2-L0編碼復(fù)位編碼復(fù)位ISR 1 0 1 NSEOI 命令,優(yōu)先級(jí)自動(dòng)循環(huán)命令,優(yōu)先級(jí)自動(dòng)循環(huán) 1 0 0 自動(dòng)自動(dòng)EOI,設(shè)置優(yōu)先級(jí)自動(dòng)循環(huán),設(shè)置優(yōu)先級(jí)自動(dòng)循環(huán) 0 0 0 自動(dòng)自動(dòng)EOI,取消優(yōu)先級(jí)自動(dòng)循環(huán),取消優(yōu)先級(jí)自動(dòng)循環(huán)(

31、固定優(yōu)先級(jí)固定優(yōu)先級(jí)) 1 1 1 SEOI 命令,按命令,按L2-L0編碼循環(huán)優(yōu)先級(jí)編碼循環(huán)優(yōu)先級(jí)(L2-L0設(shè)為最低優(yōu)先級(jí)設(shè)為最低優(yōu)先級(jí)) 1 1 0 按按L2-L0編碼循環(huán)優(yōu)先級(jí)編碼循環(huán)優(yōu)先級(jí)(L2-L0設(shè)為最低優(yōu)先級(jí)設(shè)為最低優(yōu)先級(jí)) A0 D7D6 D5 D4 D3 D2 D1 D0 0 R SL EOI 0 0 L2 L1 L037OCW30ESMMSMM01PRRRISD7D6D5D4D3D2D1D0ESMM、SMM設(shè)置中斷屏蔽方式設(shè)置中斷屏蔽方式P、RR和和RIS規(guī)定隨后讀取的規(guī)定隨后讀取的狀態(tài)字狀態(tài)字含義含義OCW3屏蔽方式和讀出控制字屏蔽方式和讀出控制字 nESMM: 允許使

32、能特殊屏蔽方式允許使能特殊屏蔽方式nSMM: 特殊屏蔽方式特殊屏蔽方式ESMM SMM1 1 特殊屏蔽方式置位特殊屏蔽方式置位1 0 特殊屏蔽方式復(fù)位特殊屏蔽方式復(fù)位0 x 非特殊屏蔽方式非特殊屏蔽方式P(Polling): =1 查詢方式查詢方式 =0 非查詢方式非查詢方式A0 D7D6 D5 D4 D3 D2 D1 D0 0 0 ESMM SMM 0 1 P RR RISRR: 讀寄存器RIS: ISR/IRR選擇RR RIS1 1 讀ISR1 0 讀IRR0 x 無效39讀取讀取8259狀態(tài)狀態(tài)n查詢方式允許查詢方式允許8259A不工作于中斷方式,而是以查不工作于中斷方式,而是以查詢方式

33、工作詢方式工作nCPU先寫一個(gè)先寫一個(gè)D2=1的的OCW3,再對(duì)同一地址讀入,即可得,再對(duì)同一地址讀入,即可得到如下狀態(tài)字節(jié)(查詢字):到如下狀態(tài)字節(jié)(查詢字): I x x x x R2 R1 R0 I=1表示有中斷請(qǐng)求,中斷請(qǐng)求號(hào)為表示有中斷請(qǐng)求,中斷請(qǐng)求號(hào)為R2-R0 此查詢步驟可反復(fù)執(zhí)行,以響應(yīng)多個(gè)同時(shí)發(fā)生此查詢步驟可反復(fù)執(zhí)行,以響應(yīng)多個(gè)同時(shí)發(fā)生 的中斷。的中斷。 nCPU可讀出可讀出IRR、ISR、IMR和查詢字和查詢字nA0為低,由為低,由OCW3中中RR和和RIS位設(shè)定讀取位設(shè)定讀取IRR或或ISR,由,由OCW3中中P位設(shè)定讀取查詢字位設(shè)定讀取查詢字n而而A0引腳為高電平時(shí)讀取

34、的都是引腳為高電平時(shí)讀取的都是IMR40命令字和狀態(tài)字的區(qū)別方法命令字和狀態(tài)字的區(qū)別方法 利用讀寫信號(hào)區(qū)別寫入的控制寄存器和利用讀寫信號(hào)區(qū)別寫入的控制寄存器和讀出的狀態(tài)寄存器讀出的狀態(tài)寄存器 利用地址信號(hào)區(qū)別不同利用地址信號(hào)區(qū)別不同I/O地址的寄存器地址的寄存器 由控制字中的標(biāo)志位說明是哪個(gè)寄存器由控制字中的標(biāo)志位說明是哪個(gè)寄存器 由芯片內(nèi)順序控制邏輯按一定順序識(shí)別由芯片內(nèi)順序控制邏輯按一定順序識(shí)別不同的寄存器不同的寄存器 由前面的控制字決定后續(xù)操作的寄存器由前面的控制字決定后續(xù)操作的寄存器接口電路中常用的方法接口電路中常用的方法8259A編程舉例編程舉例n按以下要求初始化按以下要求初始化82

35、59A:n接口地址為接口地址為20H和和21H;n中斷為上升沿觸發(fā);單片中斷為上升沿觸發(fā);單片8259A;不寫;不寫ICW4;n與與IR0-IR3對(duì)應(yīng)的中斷向量碼為對(duì)應(yīng)的中斷向量碼為08H-0BH;nIR4-IR7不使用。不使用。n根據(jù)要求,各初始化參數(shù)及工作參數(shù)如下:根據(jù)要求,各初始化參數(shù)及工作參數(shù)如下:nICW1 = 00010010 = 12HnICW2 = 08H 中斷向量碼中斷向量碼 nOCW1 = 11110000 = 0F0H 中斷屏蔽字中斷屏蔽字 8259A編程舉例(續(xù))編程舉例(續(xù))初始化程序如下:INIT8259A:MOVDX,20H;A0=0,寫ICW1MOVAL,12H

36、;上升沿觸發(fā),單片,不寫ICW4OUTDX,ALMOVDX,21H;A0=1,寫ICW2,OCW1MOVAL,08H;ICW2OUTDX,ALMOVAL,0F0H;OCW1:屏蔽IR4-IR7OUTDX,AL438259A在在IBM PC /XT系列機(jī)上的應(yīng)用系列機(jī)上的應(yīng)用448259A在在IBM PC/AT系列機(jī)上的應(yīng)用系列機(jī)上的應(yīng)用45應(yīng)用注意事項(xiàng)應(yīng)用注意事項(xiàng)n利用上升沿做為中斷請(qǐng)求利用上升沿做為中斷請(qǐng)求IRQ的有效信號(hào)的有效信號(hào)nIRQ0IRQ7的中斷向量號(hào)依次為的中斷向量號(hào)依次為08H0FH,IRQ8IRQ15依次為依次為70H77Hn采用普通全嵌套優(yōu)先權(quán)方式,中斷優(yōu)先權(quán)從高到采用普通

37、全嵌套優(yōu)先權(quán)方式,中斷優(yōu)先權(quán)從高到低順序?yàn)榈晚樞驗(yàn)镮RQ0IRQ2、IRQ8IRQ15、IRQ3IRQ7,且不能改變,且不能改變n采用普通中斷結(jié)束采用普通中斷結(jié)束EOI方式,需要在中斷服務(wù)程方式,需要在中斷服務(wù)程序最后發(fā)送普通序最后發(fā)送普通EOI命令命令n一般采用普通屏蔽方式,通過寫入一般采用普通屏蔽方式,通過寫入IMR允許中斷允許中斷,但注意不要破壞原屏蔽狀態(tài),但注意不要破壞原屏蔽狀態(tài)PC機(jī)外部中斷程序設(shè)計(jì)機(jī)外部中斷程序設(shè)計(jì)1)主程序)主程序保存原中斷向量保存原中斷向量設(shè)置自己的中斷向量設(shè)置自己的中斷向量初始化堆棧指針初始化堆棧指針設(shè)置設(shè)置8259A的中斷屏蔽字(其他的已由操作系統(tǒng)設(shè)置)的中

38、斷屏蔽字(其他的已由操作系統(tǒng)設(shè)置)STI2)中斷服務(wù)程序)中斷服務(wù)程序保存所用到的寄存器內(nèi)容保存所用到的寄存器內(nèi)容中斷服務(wù)程序主體中斷服務(wù)程序主體恢復(fù)進(jìn)入時(shí)保存的寄存器內(nèi)容恢復(fù)進(jìn)入時(shí)保存的寄存器內(nèi)容發(fā)發(fā)EOI命令(必要時(shí)可提前)命令(必要時(shí)可提前)STI(必要時(shí)可提前)(必要時(shí)可提前)IRET編寫外部可屏蔽中斷服務(wù)程序,需注意:編寫外部可屏蔽中斷服務(wù)程序,需注意:n不要忘記發(fā)送中斷結(jié)束命令不要忘記發(fā)送中斷結(jié)束命令n一般只能采用存儲(chǔ)單元傳遞參數(shù)一般只能采用存儲(chǔ)單元傳遞參數(shù)n不要使用不要使用DOS系統(tǒng)功能調(diào)用系統(tǒng)功能調(diào)用n中斷服務(wù)程序盡量短小中斷服務(wù)程序盡量短小47中斷程序舉例中斷程序舉例nPC機(jī)

39、中主機(jī)中主8259A的的I/O地址為地址為20H和和21H,中斷,中斷向量碼為向量碼為08H;n中斷請(qǐng)求從中斷請(qǐng)求從IR6引入,故引入,故中斷類型號(hào)為中斷類型號(hào)為0EH;n主程序如下:主程序如下:;保存原來的中斷向量保存原來的中斷向量movah,35hmoval,0eh;中斷類型碼;中斷類型碼int21h;取原中斷向量(在;取原中斷向量(在es:bx中)中)movsave_ip,bx;保存原來的中斷向量;保存原來的中斷向量movsave_cs,es;設(shè)置自己的中斷向量pushdsmovdx,offset my_intmovax,seg my_intmovds,ax;DS:DX的內(nèi)容為my_in

40、t的首地址movah,25hmoval,0ehint21h ;設(shè)置自己的中斷向量popds;初始化堆棧指針movsp,my_stack_top ;設(shè)置8259A的中斷屏蔽字inal,21handal,10111111b;開放IR6中斷out21h,alsti n子程序如下:子程序如下:my_int proc farpusha popamoval,20h;EOI命令,命令,00100000B out20h,al;寫;寫OCW2stiiretmy_int endp51例:可屏蔽中斷服務(wù)程序舉例例:可屏蔽中斷服務(wù)程序舉例n8259A的的IRQ0(向量號(hào)為(向量號(hào)為08H)中斷請(qǐng)求)中斷請(qǐng)求來自定時(shí)器

41、來自定時(shí)器8253,每隔,每隔55ms產(chǎn)生一次產(chǎn)生一次n本程序的本程序的08H號(hào)中斷服務(wù)程序,每次中斷號(hào)中斷服務(wù)程序,每次中斷顯示一串信息,顯示顯示一串信息,顯示10次次n用內(nèi)存單元(共享變量)在主程序與外部用內(nèi)存單元(共享變量)在主程序與外部中斷服務(wù)程序之間傳遞參數(shù):中斷次數(shù)中斷服務(wù)程序之間傳遞參數(shù):中斷次數(shù)n顯示信息也安排在共同的數(shù)據(jù)段中顯示信息也安排在共同的數(shù)據(jù)段中數(shù)據(jù)段數(shù)據(jù)段intmsg db A 8259A Interrupt !db 0dh,0ah,0counter db 0 ;中斷次數(shù)記錄單元;中斷次數(shù)記錄單元舉例保存中斷向量保存中斷向量mov ax,3508h ;獲取原中斷向量

42、;獲取原中斷向量int 21hpush bx;保存偏移地址保存偏移地址push es;保存段基地址保存段基地址設(shè)置中斷向量設(shè)置中斷向量cli;關(guān)中斷;關(guān)中斷push ds;設(shè)置新中斷向量;設(shè)置新中斷向量mov ax,seg new08hmov ds,axmov dx,offset new08hmov ax,2508h ;al:中斷向量號(hào)中斷向量號(hào)08Hint 21hpop ds設(shè)置中斷寄存器設(shè)置中斷寄存器in al,21h ;讀出讀出IMRpush ax;保存原保存原IMR內(nèi)容內(nèi)容and al,0feh;允許允許IRQ0,其他不變,其他不變out 21h,al;設(shè)置新;設(shè)置新IMR內(nèi)容內(nèi)容mo

43、v counter,0 ;設(shè)置中斷次數(shù)初值設(shè)置中斷次數(shù)初值sti;開中斷開中斷循環(huán)等待中斷循環(huán)等待中斷;本例的主程序僅循環(huán)等待中斷;本例的主程序僅循環(huán)等待中斷start1: cmp counter,10jb start1;中斷中斷10次退出次退出中斷中斷就在主程序循環(huán)當(dāng)中就在主程序循環(huán)當(dāng)中new08h proc;中斷服務(wù)程序;中斷服務(wù)程序sti;開中斷開中斷push ax;保護(hù)寄存器保護(hù)寄存器push bxpush dsmov ax,data;取數(shù)據(jù)段的段地址取數(shù)據(jù)段的段地址mov ds,ax ;設(shè)置數(shù)據(jù)段設(shè)置數(shù)據(jù)段DS進(jìn)入中斷服務(wù)程序進(jìn)入中斷服務(wù)程序中斷處理中斷處理inc counter;中

44、斷次數(shù)加中斷次數(shù)加1mov si,offset intmsg ;顯示信息顯示信息call dpstri ;調(diào)用顯示子程序;調(diào)用顯示子程序顯示字符串顯示字符串dpstriproc;顯示字符串子程序顯示字符串子程序push ax;入口參數(shù):入口參數(shù):DS:SI=字符串首址字符串首址push bxdps1:lodsb;字符串讀取字符串讀取AL=DS:SI;然后;然后SI=SI+1cmp al,0jz dps2顯示字符串顯示字符串(續(xù))(續(xù))mov bx,0;調(diào)用調(diào)用ROM-BIOS功能顯示功能顯示al中的字符中的字符mov ah,0ehint 10hjmp dps1dps2:pop bxpop ax

45、retdpstriendp退出中斷服務(wù)程序退出中斷服務(wù)程序mov al,20h;發(fā)送;發(fā)送EOI命令命令out 20h,alpop ds;恢復(fù)寄存器恢復(fù)寄存器pop bxpop axiret;中斷返回中斷返回new08h endp主程序結(jié)束主程序結(jié)束cli;關(guān)中斷;關(guān)中斷pop ax;恢復(fù);恢復(fù)IMRout 21h,alpop dx;恢復(fù)原中斷向量恢復(fù)原中斷向量pop dsmov ax,2508hint 21hsti;開中斷;開中斷mov ax,4c00hint 21h ;返回;返回DOSA 8259A Interrupt !A 8259A Interrupt ! A 8259A Interr

46、upt ! A 8259A Interrupt ! A 8259A Interrupt ! A 8259A Interrupt !A 8259A Interrupt ! A 8259A Interrupt ! A 8259A Interrupt ! A 8259A Interrupt ! 63駐留中斷服務(wù)程序駐留中斷服務(wù)程序駐留駐留TSR(Terminate and Stay Resident)程序)程序n用戶程序運(yùn)行后仍然保存在主存中,可以用戶程序運(yùn)行后仍然保存在主存中,可以讓其他程序使用讓其他程序使用n利用利用DOS功能調(diào)用功能調(diào)用31H代替代替4CH終止程序終止程序n小型駐留程序常編寫成

47、小型駐留程序常編寫成COM程序程序n駐留程序也可以編寫成駐留程序也可以編寫成EXE程序程序n需要駐留內(nèi)存的程序段要寫在前面需要駐留內(nèi)存的程序段要寫在前面64教學(xué)要求n1. 熟悉熟悉8088的中斷類型、中斷響應(yīng)的中斷類型、中斷響應(yīng)過程、中斷向量表過程、中斷向量表n2. 掌握內(nèi)部中斷服務(wù)程序的編寫掌握內(nèi)部中斷服務(wù)程序的編寫n3. 理解理解8259A的內(nèi)部結(jié)構(gòu)、寄存器的內(nèi)部結(jié)構(gòu)、寄存器作用、中斷過程作用、中斷過程n4. 掌握掌握8259A的普通全嵌套優(yōu)先權(quán)、的普通全嵌套優(yōu)先權(quán)、普通中斷結(jié)束、邊沿觸發(fā)方式普通中斷結(jié)束、邊沿觸發(fā)方式65教學(xué)要求(續(xù))n5. 了解的了解的8259A的的ICW和和OCW,注意命令字和狀

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論