版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 7.7 8259A只有兩個端口地址,但可讀/寫寄存器數(shù)遠遠多于兩個,如何保證正確讀/寫? 解:8259A中使用了如下幾種方法來實現(xiàn)同一地址尋址多個內(nèi)部寄存器: (1)利用命令字OCW:事先指定讀IRR或ISR; (2)利用命令字中位4和位3的狀態(tài)來決定寫ICW1,OCW:還是寫OCW3 ; (3)根據(jù)順序來決定同一接口地址下的命令字(ICWZ,ICW3 ,ICW4,OCW1) 。 7.11某80X86微機的中斷系統(tǒng)有5個外部中斷源,接在8259A的端,中斷類型碼為5BH,5CH,5DH,5EH和5FH , 8259A的端口地址為B0H,B1H。允許它們以全嵌套工作方式工作,中斷請求采用電平觸
2、發(fā)方式。試編寫8259A的初始化程序。 解:先確定要寫哪些控制字,以及每個控制字對應(yīng)位的取值,再編程。此題,要寫的控制字及位取值如下: (1) = x x xllxll,即:中斷請求為電平觸發(fā)、單片8259A、寫ICW4 。 (2) =01011x x x,即:此片8259A中斷類型碼高5位為:01011 (3) ICW3無需寫。 ( 4 ) ICW4 = 00000 x 01,即:一般嵌套、非緩沖、正常EOI ,8086 /8088模式。其中x表示取值為0或1均可。假定控制字中的x固定為0,初始化程序如下: MOV DX,0B0H ;指向端口0 MOV AL,1BH ;中斷請求為邊沿觸發(fā)、單
3、片8259A、寫ICW4 OUT DX , AL ;寫ICWI INC DX ;指向端口1 MOV AL, 58H ;中斷類型碼高5位為01011 OUT DX , AL ;寫ICW2 MOV AL,01H ;一般嵌套、非緩沖、正常EOI , 8086 /8088模式 OUT DX , AL ;寫ICW4 7.12某80X86系統(tǒng)中設(shè)置三片8259A級聯(lián)使用,一片為主,兩片為從,從片分別接人主片的和。若已知當前主8259A和從8259A的上各接有一個外部中斷源,其中斷向量號分別為75H,85H,95H。假設(shè)它們的中斷入口地址均在同一段中,段基址為4310H,偏移地址分別為1230H,2340H
4、,3450H;所有中斷都采用邊沿觸發(fā)方式、全嵌套方式、正常EOI結(jié)束方式。 (1)試畫出該系統(tǒng)的硬件連線圖; (2)試編寫全部初始化程序。 解:(1)此題硬件連線要考慮各8259A與CPU的連接,還要考慮三片8259A間的級聯(lián)連接。8259A與CPU連接的方法是: 端口選擇線與一般與MPU低位地址線直接相連,也可與其他相連。 數(shù)據(jù)線與MPU數(shù)據(jù)線直接相連。 片選線與余下MPU高位地址線經(jīng)譯碼后產(chǎn)生的片選信號相連。 分別與控制總線組合形成的、和中斷響應(yīng)信號相連。 主片的INT與MPU的INTR直接相連。 8259A級聯(lián)連接方法是: 從片的INT與主片的某個直接相連。 主片的與各從片的直接相連。
5、則取決于是采用緩沖還是非緩沖方式。 本題采用非緩沖方式,主片接+5V,從片接地。由此畫出硬件連線圖,如圖7.3所示。 (2)初始化程序應(yīng)包括兩部分內(nèi)容,即主、從片的初始化和填寫相關(guān)中斷向量表。對主片編程時要注意。在多片級聯(lián)方式下,系統(tǒng)要工作在完全嵌套方式,主片必須設(shè)置為特殊全嵌套方式,以便同級中斷能打斷同級中斷。因為在多片級聯(lián)方式下,從片的8個中斷源是共用主片的一個中斷級,而實際上從片的8個中斷源也有優(yōu)先級區(qū)別。假定當前正在服務(wù)的中斷級是從片的某個中斷級,若當CPU正在為該中斷源服務(wù)時,該從片又向主片提出中斷請求,此時對主片而言是同一級中斷請求,但對從片來說卻是出現(xiàn)了一個高優(yōu)先級中斷請求,應(yīng)該
6、優(yōu)先處理, 假定主片、從片1、從片2地址分別為:PORT00. PORT01 , PORT10, PORT1l , PORT20,PORT21 ,程序段如下: :初始化8259A主片 MOV AL,11H ;寫ICW1邊沿觸發(fā)、多片級聯(lián)、寫ICW4 OUT PORT00, AL MOV AL,70H ;寫ICW2,主片中斷向斷號為70H-78H OUT PORT01 . AL MOV AL.,000l0l00B ;寫ICW3, IR2,IR4,接有從片 OUT PORT01 . AL MOV AL,00010001B ;寫ICW4特殊全嵌套、非緩沖、正常EOI OUT PORT01 , AL
7、MOV AL,OFFH ;用OCW1屏蔽所有中斷請求 OUT PORT01 , AL ;初始化8259A從片1 MOV AL,11 H ;寫ICW1,邊沿觸發(fā)、多片級聯(lián)、寫ICW4 OUT PORT11,AL MOV AL.,01.H ;寫ICW2,從片1中斷向量號為80H-87H OUT PORT11,AL MOV AL,02H ;寫ICW3.對應(yīng)主片IRi的編碼為010 OUT PORT11. ,AL MOV AL,01H ;寫ICW4,一般全嵌套、非緩沖、正常EOI OUT PORT11 ,AL MOV AL,0FFH ;用OCW1屏蔽所有中斷請求 OUT PORT11 . AL ;初始
8、化8259A從片2 MUV AL,11H ;寫ICW 1。邊沿觸發(fā)、多片級聯(lián)、寫ICW4 OUT PORT20,AL MOV AL.90H ;寫ICW2。從片2中斷向量號為90H 97H OUT PORT21.ALMOV AL,04HDUT PORT21, ALMOV A.L,01 HOUT PORT21, ALMOV AL.0FFHOUT PORT21, AL;填寫T5H,85H和95H號中斷向址SUB DI、DI ;ES指向中斷向量表段基址MOV ES, DICLDMOV DI,75H*4 ;75H號中斷向量地址MOV AX,1230H ;中斷處理程序偏移地址STOSWMOV Ax,431
9、0H ;中斷處理程序段基址STOSWMOV DI.,85H*4 ;初始化85H號中斷向量MOV AX.2340HSTOWSMOV Ax .4310HSTOSWMOV DI,95H *4 ;初始化95H號中斷向量MOV AX,3450HSTOW SMOV Ax.4310HSTOSWMOV AL.00H ;用OCW1開放主片所有中斷請求OUT PORT01 H . ALOUT PORT 11 H , AL ;用OCW1開放從片所有中斷請求OUT PORT21H,AL 7.13某8085/8088系統(tǒng)中,若8259A處于單片、全嵌套工作方式.且采用非特殊屏蔽和非特殊結(jié)束方式,中斷請求信號是邊沿觸發(fā)。
10、的中斷類型碼為58H。試對8259A初始化編程。 解:此題無需寫ICW3。其他控制字及位取值如下: (1)=xxx10x11,即:中斷請求為邊沿觸發(fā)、單片8259A ,寫 (2) =01011 x x x ,即:此片8259A中斷類型碼高5位為01011 ( 3 ) ICW4 = 00000 x O1,即:一般嵌套、非緩沖、正常EOI,8086/8088模式。 其中x表示取值為0或1均可。假定控制字中的x固定為0,初始化程序如下: MOV DX, x x x x x x x 0B ;指向端口0 MOV AL,13H ;中斷請求為邊沿觸發(fā)、單片8259A、寫ICW4 OUT DX,AL ;寫IC
11、W 1 INC DX ;指向端口1 MOV AL,58H ;中斷類型碼高5位為01011 OUT DX , AL ;寫ICW2 MOV AL,O1H ;一般嵌套、非緩沖、正常EOI,8086模式 OUT DX , AL ;寫ICW4 7.14分別列出下列情況下應(yīng)向8259A提供的操作命令字: (1)讀中斷請求寄存器IRR; (2)讀中斷屏蔽寄存器IMR; (3)讀中斷服務(wù)寄存器ISR; (4)向8259A發(fā)中斷結(jié)束命令EOIo。 解:(1)應(yīng)先對0端口寫OCW3(讀IRR命令字),再通過讀0端口獲得IRR值,讀IRR命令字為00001010B,指令序列為: MOV AL, 00001010B
12、;讀IRR命令字 OUT x x x x x x x 0B,AL ;寫OCW3(讀IRR命令字) IN AL, x x x x x x x 0B ;讀IRR (2)無需發(fā)操作命令字,直接對1端口讀操作: IN AL, x x x x x x x 1B ;讀IMR (3)應(yīng)先對0端口寫OCW3(讀ISR命令字),再通過讀。端口獲得ISR值,讀ISR命令字為00001011B,指令序列為: MOV AL, 00001011B ;讀ISR命令字 OUT x x x x x x x0B,AL ;寫OCW3(讀ISR命令字) IN AL, x x x x x x x 0B ;讀ISR (4)有四種中斷結(jié)
13、束命令EOI,由寫OCW:設(shè)置。 非特殊EOI命令:00100000B; 特殊EOI命令:; 自動循環(huán)EOI命令:10100000B; 特殊循環(huán)EOI命令: 7.16若一PC/AT應(yīng)用系統(tǒng)中有5個故障源A,B,C,D,E,當任一個源變?yōu)榈碗娖綍r,則有故障要處理。它們的優(yōu)先權(quán)順序是從A到E依次降低,處理程序的人口地址分別為8000H,S100H,8200H,8300H和8400H?,F(xiàn)只有可用,試按查詢式中斷識別與判優(yōu)方案設(shè)計該中斷系統(tǒng),包括硬件設(shè)計和軟件編程。 解:按查詢式中斷識別與判優(yōu)方案設(shè)計的中斷系統(tǒng)如圖7.4所示。5個故障源A, B,C,D,E通過與非門與相連。即任一個源變?yōu)榈碗娖綍r通過向
14、CPU發(fā)中斷請求,在中斷服務(wù)程序中通過讀取三態(tài)緩沖器來識別故障源,并通過讀端口控制信號復位中斷謂求.程序如下:DATA SEGMENTBASE DW 8000H ,0000H ;故障源A處理程序的人口地址CS: IPDW 8100H,0000H ;故障源B處理程序的入口地址CS:IPDW 8200H,0000H ;故障源C處理程序的人口地址CS:I PDW 8300H,0000H: ;故障源D處理程序的人A地址CS:IPDW 8400H . 0000H ; 故障源E處理程序的人口地址CS:I PDATA ENDSCODE SEHMENTASSUME CS:CODE,DS: DATASTART
15、: MOV Ax , DATA MOV DS. Ax CLI ;關(guān)中斷 MOV DI,0AH *.4 ;取IRQ2的中斷向量地址 CLD XOR Ax,Ax MOV ES, Ax ;ES指向中斷向量表段基址 MOV Ax ,OFFSET INT_ROUT ;填寫中斷向量的偏移地址 STOSW MOV Ax,SEG INT_ROUT ;填寫中斷向量的段基址 STOSW STI ;開中斷 ;其他處理 MOV AH,4CH ;中斷服務(wù)程序 INT 21 H INT_ROUT PROC: PUSH Ax ;保護現(xiàn)場 PUSH Bx STI ;開中斷 LEA Bx.BASE ;指向故障源A中斷處理程序地
16、址 IN AL,20H ;讀狀態(tài)寄存器 NOT AL ;取反.將低電平變?yōu)楦唠娖?AND AL,0F8H WAITl: TEST AL,OFFH ;有末處理中斷? JZ RETURN ;無中斷返回 SHL AL. , 1 ;有故障 JNC NEXT ;無,跳過 CALL. DWORD PRTBX ;轉(zhuǎn)相應(yīng)故障源中斷處理 NEXT: ADD Bx,4 ;指向下一故降源中斷處理程序地址 JMP WAIT1 RETURN: CLI ;關(guān)中斷 POP BX :恢復現(xiàn)場 POP Ax STI ;開中斷 I RET INT_ROUT ENDP CODE ENDS END START 7.17試編寫一個基于
17、查詢式中斷識別與判優(yōu)方案的中斷程序,該程序控制8臺設(shè)備,假定狀態(tài)寄存器地址為044DH,其最低位優(yōu)先級最高,最高位優(yōu)先級最低:某位置"1"表示相應(yīng)的設(shè)備有服務(wù)請求。同時假定已定義一個地址數(shù)組ADDR _ TAB,數(shù)組中的第i個元素提供第i臺設(shè)備的中斷處理程序人口地址的偏移量 解:基于查詢式中斷識別與判優(yōu)的中斷程序如下: INT_ PROC PRDC PUSH AX ;保護現(xiàn)場 PUSH Bx STI ;開中斷 MOV BX,0 ;指向第0臺設(shè)備中斷處理程序地址 IN AL,40H ;狀態(tài)寄存器 WAIT $ : TEST AL.0FFH ;有未處理中斷? JZ RETURN
18、 ;無中斷返回 SHL AL ,1 ;第i臺設(shè)備有中斷? JNC NEXT ;無,跳過 CALL ADDR_TAB.BX ;轉(zhuǎn)第i臺設(shè)備中斷處理 NEXT: ADD BX,2 ;指向下一臺設(shè)備中斷處理程序地址 JMP WAIT$ RETURN : CLI ;關(guān)中斷 POP BX ;恢復現(xiàn)場 POP AX STI ;開中斷 IRET INT_PROC ENDP 7. 18假設(shè)起始地址的標號為I NT_ RDUT的9型中斷例程與主程序處于相同的源模塊中.試為主程序編寫裝填中斷向量表的程序段。 解:裝填中斷向量表可用DOS的25H號功能調(diào)用,亦可用MOV指令或串操作指令直接對中斷向量表進行寫操實現(xiàn)。
19、用DOS的25H號功能調(diào)用。程序段如下: PUSH DS MOV DX . OFFSET INT_ROUT ;取中斷向量的偏移地址送DX MOV AX . SEG INT_ROUT ;取中斷向盤的段基址送DS MOV DS , AX MOV AH,25H ;取DOS的功能調(diào)用號送AH MOV AL, 09H ;取中斷類型碼送AL INT 2IH ;調(diào)25H號功能調(diào)用填寫中斷向量 POP DS 用串操作指令填寫.程序段如下: PUSH ES CLI ;關(guān)中斷 MOV DI.09H * 4 :取9型中斷的中斷向量地址 CLD XOR Ax,Ax MOV ES,Ax ;ES指向中斷向量表段基址000
20、0H MOV AX, OFFSET INT_ROUT ;填寫中斷向里的偏移地址 STOSW MTV Ax , SEG INT_ROUT ;填寫中斷向量的段基址 STOSW ST I ;開中斷 POP ES 7.19假設(shè)某80486系統(tǒng)工作在實地址方式。已知(SP)=0100H,(5) = 0300H, (FLAGS)= 0240H,00020DH至00023H單元的內(nèi)容分別是40H .00H .00H .01 H。同時還已知的偏移量00A0H在段基址為0900 H的CS段內(nèi)。試指出在執(zhí)行IN幾指令并進人該指令相應(yīng)的中斷服務(wù)程序時.SP,SS,IP,CS,FLAGS和堆棧最頂端三個字的內(nèi)容。 解
21、:由題意可知:INT8指令的地址為0900H:00A0H; IN幾中斷服務(wù)程序的人口地址為0100H:0040 H 。 CPU執(zhí)行INT 8指令時。先保存FLAGS , CS:IP值至堆棧,并清除FLAGS中的1F和TF位,進而改變CS: IP值轉(zhuǎn)入中斷服務(wù)程序。由此可得CPU在執(zhí)行指令并進人該指令相應(yīng)的中斷服務(wù)程序時各寄存器和存儲器單元值如下: (SP)=(SP)-6=0100H-6=00FAH, (SS)=0300H; (CS:IP)為中斷服務(wù)程序人口地址:(IP)=0040H. (CS) = 0100H; FLAGS中IF=TF=0,即FLAGS9 = FLAGS8 = 0。所以: (F
22、LAGS)=0040H: 堆棧最頂端三個字的內(nèi)容為:(00FEH)=0240H ; FLAGS值 (00FCH) = 0900H ;斷點CS值 (00FA00H)=00A0H :斷點IP值 7.20討論在80X86系統(tǒng)的調(diào)試應(yīng)用中.INT3指令和單步自陷所產(chǎn)生的中斷差別,指出其應(yīng)用場合。 解:INT3指令產(chǎn)生的是斷點中斷,即程序運行遇到斷點(INT3指令)時才暫停.轉(zhuǎn)去執(zhí)行斷點處理程序,主要用于在程序連續(xù)運行方式下設(shè)置斷點調(diào)試程序;而單步自陷則使程序進人單步運行方式。即每執(zhí)行一條指令,程序運行都會暫停,轉(zhuǎn)去執(zhí)行單步處理程序,用于單步運行調(diào)試程序。 7.21若80X86系統(tǒng)正以單步方式運行某用戶程序(該程序己開放外部中斷,即IF=1)的過程中執(zhí)行一條除法指令時,1NTR線上出現(xiàn)了可屏蔽中斷請求,與此同時.這條除法指令也產(chǎn)生了除法出錯中斷。試以流程圖表示CPU處理這三種同時出現(xiàn)的中斷的過程。 解:中斷過程如圖7.5所示。CPU先響應(yīng)除法出錯中斷.再響應(yīng)INTR中斷,處理完畢返回單步運行的用戶程序。7.22試編寫出只有一片8259A的8088系統(tǒng)中8259A的初始化程序. 8259A的地址為02C0H和02C1 H,要求: (1)中斷請求物人采用電平觸發(fā); (2)請求的中斷類型碼為16 (3)采
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025關(guān)于招商合作合同樣本
- 二零二五年度2025年冷鏈物流槽罐車運輸合作協(xié)議2篇
- 互動式信息披露對企業(yè)稅收規(guī)避的影響研究
- 2025公司的勞動合同范本
- 敦煌壁畫在人物油畫創(chuàng)作“守望·敦煌”中的應(yīng)用研究
- 二零二五年度綠色環(huán)保木材采購及加工合同4篇
- 2025年度橙子產(chǎn)品包裝設(shè)計與創(chuàng)新合同4篇
- 二零二五版奶粉品牌市場調(diào)研與推廣服務(wù)合同樣本頁22篇
- 干砌石石坎施工方案
- 2025版高端淋浴房設(shè)計、生產(chǎn)及一站式安裝服務(wù)合同4篇
- 消防產(chǎn)品目錄(2025年修訂本)
- 地方性分異規(guī)律下的植被演替課件高三地理二輪專題復習
- 光伏項目風險控制與安全方案
- 《行政職業(yè)能力測驗》2023年公務(wù)員考試新疆維吾爾新疆生產(chǎn)建設(shè)兵團可克達拉市預(yù)測試題含解析
- 醫(yī)院投訴案例分析及處理要點
- 練習20連加連減
- 五四制青島版數(shù)學五年級上冊期末測試題及答案(共3套)
- 商法題庫(含答案)
- 鋼結(jié)構(gòu)用高強度大六角頭螺栓連接副 編制說明
- 溝通與談判PPT完整全套教學課件
- 移動商務(wù)內(nèi)容運營(吳洪貴)項目四 移動商務(wù)運營內(nèi)容的傳播
評論
0/150
提交評論