三、简答题(本大题共3小题,每小题5分,共15分)
31.外设向CPU申请中断,但CPU不给以响应,其原因有哪些?
32.扼要说明简单的I/O接口芯片与可编程接口芯片的异同处。
33串行通信有哪两种方式?其中哪种方式的传送效率较差?为什么?
四、编程题(本大题共4小题,每小题7分,共28分)
34.某输出接口电路,数据口的地址为300H,状态口地址为301H,状态位D0位为1,表示端口忙,否则表示端口空闲,请完成下列程序段,用程序控制(查询)方式从数据口输出一个‘E’的ASCII码。
SCAN: MOV DX,(1)___________
(2)___________ AL,DX
(3)___________
(4)___________ SCAN
MOV DX,(5)___________
MOV AL,(6)___________
(7)___________
35.下面是一段16550初始化程序,该程序段完成的功能是设置双方通信波特率是4800bps,奇校验,1个停止位,7个数据位,允许接收中断,且FIFO中断触发值为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)___________ ; 设置波特率为4800
OUT DX,AL
MOV DX,3FBH
MOV AL,(4)___________
OUT DX,AL ;设置数据格式
MOV DX,(5)___________
MOV AL,87H ;FIFO允许,清除接收、发送FIFO
OUT DX,AL ;FIFO中断触发值为8
MOV DX,(6)___________
MOV AL,(7)___________ ;接收中断允许
OUT DX,AL
RET
I16550 ENDP
36.下面是利用一台PC/XT机COM1,采用中断方式接收数据的中断服务子程序,请将空缺处填写完整。
RECEIVE PROC
…… ;保护现场(略)
MOV DX,3FDH
IN AL,DX
TEST AL,(1)___________ ;检查有无错误标志
(2)___________ ERROR ;有错,转出错处理
MOV DX,(3)___________
(4)___________ ;接收数据
MOV [BX],AL
ERROR: …… ;出错处理(略)
(5)___________ ;发中断结束字
(6)___________
…… ;恢复现场(略)
(7)___________ ;中断返回
RECEIVE ENDP
37.设系统外接一片8254,口地址为300H~303H,GATE2接+5V,要求在写入计数初值之后,经过1250个TCLK2时间,OUT2端输出一个正跃变信号,请完成下列对2#计数器初始化编程的程序段(采用BCD计数方式)。
MOV DX,(1)___________
MOV AL,(2)___________
OUT DX,AL ;写控制字
MOV DX,(3)___________
MOV AX,(4)___________
(5)___________
(6)___________
(7)___________ ;写计数初值