微機原理與接口技術8259A練習題及答案_第1頁
微機原理與接口技術8259A練習題及答案_第2頁
微機原理與接口技術8259A練習題及答案_第3頁
微機原理與接口技術8259A練習題及答案_第4頁
微機原理與接口技術8259A練習題及答案_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、中斷技術和中斷控制器8259A練習題及答案一、填空題 1.8088微處理器最多能處理256種不同類型的中斷。 2.8088系統(tǒng)的中斷向量表位于從內存地址 00000H 開始,占1K字節(jié)存儲單元。 3.8088CPU響應INTR中斷時,將PSW(或標志寄存器內容)和斷點(或CS:IP)進堆棧保存。 4.8259A可管理 8 級優(yōu)先級中斷源,通過級聯(lián),最多可管理 64 級優(yōu)先級中斷源。 5.若8259A的IRR(中斷請求寄存器)的內容為10H,說明IR4請求中斷。二、選擇題 6.8088CPU的標志寄存器中IF=1時,表示允許CPU響應_中斷。C A.內部中斷 B.外部中斷 C.可屏蔽中斷 D.不

2、可屏蔽中斷 7.CPU在響應中斷時,保存斷點是指_。DA.將用戶設置的程序指令地址入棧保存B.將中斷服務程序的入口地址入棧保存C.將程序狀態(tài)字PSW入棧保存D.將返回地址即程序計數器PC(CS:IP)的內容入棧保存 8.8088的中斷向量表用于存放_。BA.中斷類型號 B.中斷服務程序的入口地址 C.中斷服務程序的返回地址 D.斷點地址三、判斷題 9.8086的可屏蔽中斷的優(yōu)先級高于不可屏蔽中斷。 × 10.通常8259A芯片中的IR0優(yōu)先級最低,IR7的優(yōu)先級最高。 × 11.在8088系統(tǒng)中,所謂中斷向量就是中斷服務程序入口地址。 四、簡答題12.CPU響應INTR中斷

3、的條件是什么?答:(1)INTR信號為有效電平(2)當前指令執(zhí)行完畢(3)CPU開中斷(IF=1)(4)沒有更高級的請求(RESET , HOLD ,NMI) 13.一般CPU響應中斷時自動做哪些工作? 8088CPU呢?答:一般CPU在響應中斷時,關中斷,保存斷點,識別中斷源,找到中斷服務程序入口地址,轉入中斷服務程序。8080CPU在響應中斷時,首先把PSW(或標志寄存器內容)入棧保存,其余同一般CPU. 14.8088CPU在執(zhí)行中斷返回指令IRET時,執(zhí)行什么操作?答:(1)彈出斷點送CS:IP(2)彈出PSW送標志寄存器 15.中斷控制器8259A中下列寄存器的作用是什么?(1) I

4、RR (中斷請求寄存器) :保存中斷源的中斷請求 (2) IMR (中斷屏蔽寄存器) :屏蔽/允許中斷源請求中斷,由程序寫入,1為屏蔽,0為允許(3) ISR (中斷服務寄存器): 記錄CPU正在為哪些中斷源服務(4) IVR (中斷向量寄存器): 保存中斷向量號16、初使化時設置為非自動結束方式,那么在中斷服務程序將結束時必須設置什么操作命令?如果不設置這種命令會發(fā)生什么現(xiàn)象?答案:當中斷服務程序將結束時,必須發(fā)0CW2=20H為中斷結束命令,執(zhí)行此命令即撤消正在服務的中斷請求和服務標志;否則,即使返回主程序但未退出此中斷,造成中斷響應的混亂。17、中斷服務程序結束時,用RET指令代替IRE

5、T指令能否返回主程序?這樣做存在什么問題?答案:RET應該可以使中斷服務程序返回主程序,但因為RET是子程序返回指令,它只從堆棧中恢復CS和IP,而不能使狀態(tài)字PSW得以恢復,所以不能使斷點完全恢復,對原程序的繼續(xù)執(zhí)行造成不良影響.18、在哪些情況下須用CLI指令關中斷呢?在哪些情況下須用STI指令開中斷?答案:在程序初使化階段,連續(xù)傳送數據不希望被中斷打斷,用查詢方式等情況下須用CLI關中斷.在程序初始化結束之后,退出中斷服務程序前,中斷過程中須響應更高級中斷等情況下須用STI開中斷.19、8259A的初始化命令字和操作命令字有什么差別?它們分別對應于編程結構中哪些內部寄存器?答案:初始化命

6、令字通常在系統(tǒng)初始化階段設置,從ICW1開始,按照固定次序的設置,一經設置完成,則在以后的操作中基本保持不變,操作命令字是在程序執(zhí)行階段向8259A發(fā)出的命令字,實現(xiàn)以8259A的狀態(tài),中斷方式和過程的控制.操作命令字可以一個程序中多次設置,從而改變中斷的方式.初始化命令字有4個,分別為ICW1,ICW2,ICW3,ICW4,操作命令字有#個,分別為OCW1,OCW2,OCW3.20、8259A的優(yōu)先級自動循環(huán)方式和優(yōu)先級特殊循環(huán)方式有什么差別?答案:優(yōu)先級自動循環(huán)方式規(guī)定剛被服務過的中斷其優(yōu)先級為最高,相鄰序號的中斷級為最高優(yōu)先級,依次循環(huán).而優(yōu)先級特殊循環(huán)方式是指定某個中斷其優(yōu)先級為最低,

7、相鄰高序號的中斷其優(yōu)先級則為最高.21、8259A的中斷屏蔽寄存器IMR和8086/8088的中斷允許標志IF有什么差別?在中斷響應過程中,它們怎樣配合起來工作?答案:IMR的8位對應8個中斷級,其中置為1的位所對應的中斷級的輸入線IR處于被屏蔽方式,被屏蔽的中斷級請求不能使8259A的INT輸出端產生有效的請求信號.所以即使當中斷允許IF=1時也無法響應.IF是CPU的中斷允許標志,當IF=0時所有可屏蔽中斷被禁止.在中斷響應過程中,通過設置IF,IMR可靈活控制中斷的優(yōu)先次序.22、如果利用中斷方式傳送數據,則婁據是如何傳輸的?中斷機構起什么作用?答案:利用中斷方式傳送數據,一般是首先向C

8、PU發(fā)出中斷請求,CPU響應中斷后在中斷處理程序中進行數據傳輸,傳輸完畢返回.中斷機構起控制作用,實時性較強.23、在8086/8088的中斷系統(tǒng)中,響應中斷過程是如何進入中斷服務程務程序的?答案:中斷源提供中斷類型碼,從中斷向量表中相應位置取出中斷服務程序首址置入IP和CS中,程序轉至中斷服務程序.24、8259A的ICW2設置了中斷類型碼的哪幾位?說明對8259A分別設置ICW2為30H,38H,36H有什么差別?答案:因ICW2設置了中斷類型碼的高5位,所以中斷類型碼基值必須是能被8整除的值.若ICW2設置為30H,則8級中斷的類型碼依次為30H37H.若設置為38H,則8級中斷的類型碼

9、依次為38H3FH.若設置為36H<中斷類型碼為30H37H,因其高5位仍為00110B.25、8259A通過ICW4可以給出哪些重要信息?在什么情況下不需要用ICW3?答案:ICW4中給出的重要信息是:特列全嵌套方式/正常全嵌套方式,非緩沖方式/緩沖方式,從片/主片,中斷自動結束/中斷正常結束,8086/8088方式還是8080/8085方式.當ICW1中的IC4=0時,表示不設置ICW4.當ICW1中的SNGL=0時,表示為級聯(lián)方式,需要設置ICW3.26、8259A的特殊屏蔽方式和普通屏蔽方式相比,有什么不同之處?特殊屏蔽方式一般用在什么場合?答案:不同之處在于:當普通屏蔽方式中斷

10、服務程序正在執(zhí)行時,同級或較低級和被屏蔽的中斷請求不被響應,只有當前中斷結束后方可響應同級或低級中斷,特殊屏蔽方式除用OCW1屏蔽方式,屏蔽掉的和正在服務的中斷級外,其他任何級的中斷請求都將可能中斷正在服務的中斷(CPU處于開中斷狀態(tài)).相當于賦于OCW1中未屏蔽的中斷級有更高的優(yōu)先權.用這種方法可在程序的不同階段任意改變中斷級的優(yōu)先次序.27、8259A可編程中斷控制器的主要功能有哪些?答案:主要功能有四個:(1)單片8259A可管理8級優(yōu)先權中斷源,通過級聯(lián),最多可管理64級優(yōu)先權中斷源.(2)對任何一級中斷源都可單獨進行屏蔽,使該中斷請求暫時被掛起,直到取消屏蔽時.(3)能向CPU提供中

11、斷類型碼.(4)具有多種中斷優(yōu)先級管理方式,這些管理方式可能過程序動態(tài)地進行變化.28、外設向CPU申請中斷,但CPU不給以響應,其原因有哪些?答案:其原因有四個:(1)CPU處于關中斷狀態(tài),IF=0(2)該中斷請求已被屏蔽;(3)該中斷請求的時間太短,未能保持到指令周期結束;(4)CPU已釋放總線(即已響應了DMA請求),而未收回總線控制權.29、寫出8086CPU各內部中斷名稱及產生的條件.答案: (1)指令中斷 INT n.n由用戶定義.(2)斷點中斷INT 3.斷點由用戶設置.(3)單步中斷.TF=1.(4)溢出中斷INTO.當OF=1時,執(zhí)行一條INT4指令.(5)除法出錯中斷.執(zhí)行

12、DIV或IDIV指令后,或商大于表示范圍則執(zhí)行一條INT0指令.五、應用題30、下面對一個主從式8259A系統(tǒng)進行初始化的程序段.請對以下程序段詳細注釋,并具本說明各初始化命令字的含義.主片初始程序:M82590 EQU 40HM82591 EQU 41HMOV AL,11HMOV DX,M82590OUT DX,AL ;(1)MOV AL,08HINC DXOUT DX,AL ;(2)MOV AL,04HOUT DX,AL ;(3)MOV AL,01HOUT DX,AL ;(4)從片初始化程序:S82590 EQU 90HS82591 EQU 91HMOV DX,S82590MOV AL,1

13、1HOUT DX,AL ;(5)MOV AL,70HINC DXOUT DX,AL ;(6)MOV AL,02HOUT DX,AL ;(7)MOV AL,01HOUT DX,AL ;(8)答案:(1)設ICW1,中斷請求信號為上升沿,級聯(lián)方式,須設ICW4(2)設ICW2,中斷類型碼基值為08H(3)設ICW3,IR2與從片的INT相連(4)設ICW4,正常的完全嵌套,非緩沖方式,正常中斷結束,8086/8088方式(5)同主片ICW1(6)設ICW2,中斷類型碼基值為70H(7)設ICW3,從片INT與主片的IR2相連(8)同主片ICW431、IR4為正在運行的中斷,希望在特殊的程序段上允許

14、較低的IR7響應中斷.試編寫程序片段.答案:根據題意程序片段為IR4的程序CLI ;關中斷,以便設置命令MOV AL,68H ;設置特殊屏蔽方式( OCW3)OUT 20H,ALIN AL,21H ;讀IMR狀態(tài)OR AL 10HOUT 21H,AL ;屏蔽IR4STI ;開中斷,允許響應其他中斷請求信號. ;繼續(xù)處理IR4,如果IR7有請求,可以響應,處理完后要回到IR4處 .CLI ;關中斷,以便設置命令IN AL,21H ;讀屏蔽字AND AL,0EFH ;開放IR4OUT 20H,AL ;恢復原來的屏蔽字MOV AL,48H ;復位特殊屏蔽方式(OCW3)OUT 20H,AL STI

15、;CPU開中斷. ;繼續(xù)對IR4進行中斷處理MOV AL,20H ;發(fā)中斷結束命令(OCW2)OUT 20H,ALIRET ;返回主程序 32、若8086系統(tǒng)中采用級聯(lián)方式,主8259A的中斷類型碼從30H開始,端口地址為20H,21H.從8259A的INT接主片的IR7,從片的中斷類型碼從40H開始,端口地址為22H,23H.均不要ICW4.試對其進行初始化編程答案:主:M82590 EQU 20HM82591 EQU 21HMOV AL,00010000BMOV DX,M82590OUT DX,ALMOV AL,30HINC DXOUT DX,ALMOV AL,80HOUT DX,AL從S

16、82590 EQU 22HS82591 EQU 23HMOV AL,00010000BMOV DX,S82590OUT DX,ALMOV AL,40HINC DXOUT DX,ALMOV AL,07HOUT DX,AL33、單片8259A與PC機的連接見圖1。要求單機工作,邊緣觸發(fā),自動結束中斷。屏蔽IR6、IR7兩中斷源,IR0的中斷類型號為10H,編程對8259A的初始化。圖1答案:確定端口地址:由圖知,若CS=0,必須IOR、IOW任一為低電平,AEN=0,A4=A5=A6=A7=A8=A9=1,A3A2A1=010,若A0=0,端口地址為03F4H;若A0=1,為03F5H2.初始化程

17、序:MOV DX,03F4HMOV AL,13HOUT DX,ALMOV DX,03F5HMOV AL,10HOUT DX,ALMOV AL,03HOUT DX,AL34、若中斷服務程序的入口地址為0320:0000H,中斷類型碼為60H,試編寫程序段,把中斷服務程序的入口地址放于矢量表中。答案:MOV AX,0000HMOV ES,AXMOV BX,60H*4MOV ES:WORD PTRBX,AXMOV AX,0320HMOV ES:WORD PTRBX+2,AX35、在IBMPC/XT機中,需通過讀取ISR的值,判斷是否為硬件中斷,若是,清除正在服務的優(yōu)先級,并發(fā)一般的EOI結束命令。編

18、寫該程序的有關片段。答案:程序有關的片段為MOV AL,0BH ; 設OCW3操作命令字,置讀ISR狀態(tài)OUT 20H,ALNOPIN AL,20H ;讀ISRMOV AH,AL ;保存正在服務的優(yōu)先級JNZ HW-INT ;部位0,硬件中斷轉換為0,非硬件中斷.HW-INT:IN AL,21H ;讀ISR OR AL,AH ;屏蔽當前服務的優(yōu)先級 OUT 20,AL MOV AL,20H ;設OCW2操作命令字,發(fā)一般的結束命令 OUT 20H,AL 36、下面對一個主從式8259A系統(tǒng)進行初始化的程序段。請對以下程序段詳細注釋,并具體說明各初始化命令的含義。主片初始程序:M82590 EQ

19、U 40HM82591 EQU 41H.MOV AL,11HMOV DX,M82590OUT DX,AL ;設ICW1,中斷請求信號為上升沿,級連方式,需設ICW4MOV AL,08H INC DXOUT DX,AL ;設ICW2,中斷類型碼基址為08HMOV AL,04HOUT DX,AL ;設ICW3,IR2與從片的INT相連MOV AL,01HOUT DX,AL ;設ICW4,正常的完全嵌套,非緩沖方式,正常中斷結束,8086/80088方式從片初始化程序:M82590 EQU 90HM82591 EQU 91H.MOV DX,82590MOV AL,11HOUT DX,AL ;同主片I

20、CW1MOV AL,70HINC DXOUT DX,AL ;設ICW3,從片INT與主片的IR2相連MOV AL,02HOUT DX,ALMOV AL,01HOUT DX,AL ;同主片ICW437、某微機系統(tǒng)使用主、從兩片8259A管理中斷,從片中斷請求INT與主片的IR2連接。設主片工作于特殊完全嵌套、非緩沖和非自動結束方式,中斷類型號為40H,端口地址為20H和21H。從片工作于完全嵌套、非緩沖和非自動結束方式,中斷類型號為70H,端口地址為80H和81H。試編寫主片和從片的初始化程序。答案:根據題意,寫出ICW1, ICW2, ICW3和ICW4的格式。編寫初始化程序如下:主片8259

21、A的初始化程序如下:MOVAL, 00010001B ; 級聯(lián), 邊沿觸發(fā), 需要寫ICW4OUT20H, AL; 寫ICW1MOVAL, 01000000B; 中斷類型號40HOUT21H, AL; 寫ICW2MOVAL, 00000100B; 主片的IR2引腳接從片OUT21H, AL; 寫ICW3MOVAL, 00010001B; 特殊完全嵌套、非緩沖、自動結束OUT21H, AL; 寫ICW4從片8259A初始化程序如下:MOVAL, 00010001B; 級聯(lián), 邊沿觸發(fā), 需要寫ICW4OUT80H, AL; 寫ICW1MOVAL, 01110000B; 中斷類型號70HOUT81

22、H, AL; 寫ICW2MOVAL, 00000010B; 接主片的IR2引腳OUT81H, AL; 寫ICW3MOVAL, 00000001B ; 完全嵌套、非緩沖、非自動結束OUT81H, AL ; 寫ICW438、設計一個中斷處理程序。要求中斷請求信號以跳變方式由IR2引入(可為任一定時脈沖信號),當CPU響應IR2請求時,輸出字符串“8259A INTERRUPT!”,中斷10次,程序退出(設8259A的端口地址為20H和21H,中斷類型號為40H)。答案:中斷處理程序如下:DATASEGMENTMESSDB'8259A? INTERRUPT!', 0AH, 0DH,

23、'$'COUNT DB 10; 計數值為10DATAENDSSTACK SEGMENTSTACKSTA DB100H DUP(?)TOP EQULENGTHSTASTACK ENDSCODE SEGMENTASSUMECS:CODE, DS:DATA, SS:STACKMAIN: CLIMOV AX,DATANOV DS, AXMOV AX, STACKMOV SS, AXMOV SP, TOPMOV AL, 13H   ; 8259A初始化OUT 20H, AL ; 單片, 邊沿觸發(fā)MOV AL, 40H ; 中斷類型號40HOUT 21H, ALMOV AL, 0

24、1H ; 非自動結束OUT 21H, ALMOV AX, SEG INT-P ; 設置中斷向量MOV DS, AX ; 中斷服務子程序入口段基址送DSMOV DX, OFFSET INT-P ; 中斷服務子程序入口偏移地址送DXMOV AL, 42H ; IR2的中斷類型號42H送ALMOV AH, 25H ; 25H功能調用INT 21HINAL, 21H ; 讀IMRAND AL, 0FBH; 允許IR2請求中斷OUT 21H, AL ; 寫中斷屏蔽字OCW1WAIT1:STI ; 開中斷CMP COUNT,0 ; 判斷10次中斷是否結束JNZ WAIT1 ; 未結束, 等待MOV AX,

25、 4C00H ; 結束, 返回DOSINT 21HINT-P PROC     ; 中斷服務子程序PUSH DS      ; 保護現(xiàn)場PUSH AXPUSH DXSTI ; 開中斷MOV DS, AXMOV DX, OFFSET MESSMOV AH, 09HINT 21HDEC COUNT   ; 控制10次循環(huán)JNZ NEXTIN AL, 21H ; 讀IMROR AL, 04H     ; 屏蔽IR2請求OUT 21H, ALNEXT:

26、CLI ; 關中斷MOV AL, 20H     ; 寫OCW2, 送中斷結束命令EOIOUT 20H, ALPOP DX  ; 恢復現(xiàn)場POP AX POP DSIRET ; 中斷返回INT-P ENDPCODEENDSEND MAIN參考練習題:8259A應用舉例8255A作中斷方式工作的字符打印機的接口,如圖5.24所示。本例中8255A向8259A請求中斷,8259A向CPU請求中斷,CPU響應中斷后執(zhí)行中斷服務程序,向8255A的A端口輸出數據,然后數據傳到打印機打印。8255A的A端口作為數據通道,工作在方式1輸出方式。此時,自動作

27、為信號輸出端,則自動作為信號輸入端,而自動作為INTR信號輸出端。打印機接口需要一個數據選通信號,故由CPU控制PCO來產生選通脈沖。在此沒有用,將它懸空就行了。端連接打印機端。圖5.24 8255A作中斷方式打印機接口連到8259A的中斷請求信號輸入端。8259A工作在單片、全嵌套方式、上升沿請求中斷、一般中斷結束方式、非緩沖、中斷類型碼08H。設8255A的端口地址為:A端口00COHB端口00C2HC端口00C4H控制口00C6H設8259A的端口地址為:奇端口005OH偶端口0052H程序由初始化程序、主程序、中斷服務程序三大部分組成。 初始化程序由8259A初始化、8255A初始化、

28、中斷服務初始化幾部分組成。 主程序沒有別的任務,但是不能不寫主程序,至少要有一條轉移指令,原地跳轉,等待中斷,而中斷服務程序執(zhí)行完畢以后仍然返回這條跳轉指令。 中斷服務程序從數據緩沖區(qū)取1個字節(jié)數據,輸出到8255A的A端口;用對C端口的置1置0命令使PC0輸出負脈沖,從而將數據送入打印機;然后發(fā)一條中斷結束命令;最后中斷返回。請求中斷和響應的過程是:每當8255A端口A數據輸出寄存器空,需要CPU送下一個數據的時候,自動變?yōu)楦唠娖剑?259AIR3請求中斷;8259A通過INT引腿向CPU請求中斷;CPU響應中斷,根據8259A提供的中斷類型號,到中斷向量表中取得中斷向量;然后轉移到中斷服

29、務程序執(zhí)行。中斷的詳細過程見第二章“中斷操作和中斷系統(tǒng)”中可屏蔽中斷響應過程部分。假定待打印的數據存放在內存PRNBUF緩沖區(qū),下面是具體程序段: INIT;MOVAL,0AOH ;8255A 初始化程序 OUT0C6H,AL ;設置8255A的方式選擇控制字 MOVAL,01 ;使為1,即讓初始狀態(tài)為低電平 OUT0C6H,AL   ;C端口置1/置0控制字 MOVAL,0DH    ;使INTE(C口位)為l,允許8255A請求中斷 OUT0C6H,AL   ;C端口置1/置0控制字;以下8259A初始化程序 MOVAL, 00010011B  ;:上升沿請求中斷、單片 OUT50H,AL    

溫馨提示

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

評論

0/150

提交評論