三、簡答題(本大題共3小題,每小題5分,共15分)
31.外設(shè)向CPU申請中斷,但CPU不給以響應(yīng),其原因有哪些?
32.扼要說明簡單的I/O接口芯片與可編程接口芯片的異同處。
33串行通信有哪兩種方式?其中哪種方式的傳送效率較差?為什么?
四、編程題(本大題共4小題,每小題7分,共28分)
34.某輸出接口電路,數(shù)據(jù)口的地址為300H,狀態(tài)口地址為301H,狀態(tài)位D0位為1,表示端口忙,否則表示端口空閑,請完成下列程序段,用程序控制(查詢)方式從數(shù)據(jù)口輸出一個‘E’的ASCII碼。
SCAN: MOV DX,(1)___________
(2)___________ AL,DX
(3)___________
(4)___________ SCAN
MOV DX,(5)___________
MOV AL,(6)___________
(7)___________
35.下面是一段16550初始化程序,該程序段完成的功能是設(shè)置雙方通信波特率是4800bps,奇校驗,1個停止位,7個數(shù)據(jù)位,允許接收中斷,且FIFO中斷觸發(fā)值為8,請完成該程序。
I16550 PROC
MOV DX,3FBH
MOV AL,(1)___________
OUT DX,AL
MOV DX,3F9H
MOV AL,(2)___________
OUT DX,AL
MOV DX,3F8H
MOV AL,(3)___________ ; 設(shè)置波特率為4800
OUT DX,AL
MOV DX,3FBH
MOV AL,(4)___________
OUT DX,AL ;設(shè)置數(shù)據(jù)格式
MOV DX,(5)___________
MOV AL,87H ;FIFO允許,清除接收、發(fā)送FIFO
OUT DX,AL ;FIFO中斷觸發(fā)值為8
MOV DX,(6)___________
MOV AL,(7)___________ ;接收中斷允許
OUT DX,AL
RET
I16550 ENDP
36.下面是利用一臺PC/XT機COM1,采用中斷方式接收數(shù)據(jù)的中斷服務(wù)子程序,請將空缺處填寫完整。
RECEIVE PROC
…… ;保護現(xiàn)場(略)
MOV DX,3FDH
IN AL,DX
TEST AL,(1)___________ ;檢查有無錯誤標志
(2)___________ ERROR ;有錯,轉(zhuǎn)出錯處理
MOV DX,(3)___________
(4)___________ ;接收數(shù)據(jù)
MOV [BX],AL
ERROR: …… ;出錯處理(略)
(5)___________ ;發(fā)中斷結(jié)束字
(6)___________
…… ;恢復(fù)現(xiàn)場(略)
(7)___________ ;中斷返回
RECEIVE ENDP
37.設(shè)系統(tǒng)外接一片8254,口地址為300H~303H,GATE2接+5V,要求在寫入計數(shù)初值之后,經(jīng)過1250個TCLK2時間,OUT2端輸出一個正躍變信號,請完成下列對2#計數(shù)器初始化編程的程序段(采用BCD計數(shù)方式)。
MOV DX,(1)___________
MOV AL,(2)___________
OUT DX,AL ;寫控制字
MOV DX,(3)___________
MOV AX,(4)___________
(5)___________
(6)___________
(7)___________ ;寫計數(shù)初值