INT 21H
CODE
ENDS END MAIN
五、简答题,(本大题共24小题,24分)
1. 中断向量表安排在内存中的什么区域?最多可以安排多少个中断向 量?若对应中断类型码为 47H 的中断服务程序存放在 2300H:3460H 开始的区域中,则该中断向量在内存中是如何存放的(画图表示)?
【答案】
最低 1K 空间中,0~003FFH ; 最多可以安排 256 个中断向量
2. 中断响应周期中为什么有两个INTA?
【答案】
第一个总线周期用来通知中断请求设备,微处理器准备响应中断,现在应该准备好中断类型
码。
第二个总线周期中,微处理器接收I/O接口发来的中断类型码,以便得到中断向量即中断处
理子程序的入口地址。
3. 8255A的工作方式控制字和C口的按位置位/复位控制字有何差别?若将C口的PC2脚输出高电平(置位),假设8255A控制口地址是303H,程序段应是怎样的? 【答案】
工作方式控制字是对8255A的三个端口的工作方式及功能进行说明,即进行初始化,写在程序的开头,控制字的最高位D7=1。按位置位/复位控制字只对C口某一位(不能同时对几位)输出高电平(置位)或低电平(复位)进行控制(对输入无作用),控制字的最高位D7=O。 PC2置位程序段:
MOV DX, 303H MOV AL,05H
OUT DX,AL ,
4. 设 8255A的A口工作于方式0输入,B口工作于方式1输入。 (1) 编写初始化程序(设端口地址为CC90~CC93H)。
(2)编写程序使C口PC5输出高电平,然后从B口输入数据到累加器。 【答案】
(1) MOV DX,0CC93H
万维试题库系统 第 17 页
MOV AL,10010110B OUT DX,AL
(2) MOV DX,0CC93H MOV AL,00001011B OUT DX,AL
MOV DX,0CC91H IN AL, DX
5. 8253的3个计数器都有3个引脚:CLK、OUT、GATE,说明三个信号的功能。 【答案】
CLK时钟输入信号,在计数过程中,此引脚每输入一个时钟信号(下降沿),计数器的计数值减一。GATE门控输入信号,控制计数器工作的一个外部输入信号。OUT计数器输出信号,当计数值减为0时,在OUT引脚上产生一个输出信号
6. 已知8253 MOV AL,50H ;__________________________ OUT 07H,AL ;__________________________ MOV AL,80H ;__________________________ OUT 05H,AL ;__________________________ 程序功能:__________________________________ 【答案】
MOV AL,50H ;控制字送AL (1分) OUT 07H,AL ;输出控制字 (1分) MOV AL,80H ;计数值送AL (1分) OUT 05H,AL ;输出到计数器1 (1分)
7. 8253 的计数器 2 工作于方式 2,其计数时钟 CLK2 为 100KHz,输出 信号 OUT2 作定时中断申请,定时间隔为 8ms,试计算其计数初值 N? 【答案】
没计一个数经过的时间为 1/f, (本步骤 2 分) N=t/(1/f)=t·f=8ms·100kHz=8×10-3×100×103=800
8. 设8253定时计数器的端口地址为A0H、A2H、A4H、A6H,计数器1要产生方波,计数初值为3050;计数器0的工作方式是2,CLK0接1.2MHZ时钟,OUT0的输出频率为4KHZ。写出初始化程序。 【答案】
MOV AL, 00100101B=25H OUT 0A6H, AL MOV AL, 03H OUT 0A0H, AL
MOV AL, 01110111BH=77H OUT 0A6H, AL
万维试题库系统 第 18 页
MOV AL, 50H OUT 0A2H, AL MOV AL, 30H OUT 0A2H, AL
9. 设8253定时计数器的端口地址为A0H、A2H、A4H、A6H。计数器1,工作方式0,计数初值为128,二进制计数;计数器0,工作方式是1,计数初值为3000,BCD计数;计数器2,工作方式是2,计数初值为02F0H。写出初始化程序。 【答案】
MOV AL, 01010000B=50H
OUT 0A6H,AL MOV AL, 80H OUT 0A2H,AL
MOV AL, 00100011BH=23H OUT 0A6H,AL MOV AL, 30H OUT 0A0H,AL
MOV AL, 10110100B=B4H OUT 0A6H,AL MOV AL, 0F0H OUT 0A4H,AL
36
10. 在PC/XT机中,8253通道1工作于方式2,用它产生间隔为15μs(1s=10ms=10μs)的负脉冲信号用于对动态RAM刷新的定时信号,计数脉冲输入为1.19MHZ,试计算出应写入的计数值是多少?
【答案】
119.?106TC?115?10?6 ) 18(12H) (
11. 利用8254的通道1,产生2KHz方波。设输入时钟频率2MHz,端口地址为90~93H。 (1) 写出控制字并求出计数初值(BCD码计数) (2) 编写初始化程序 【答案】
(1) 控制字:01110111B 计数初值=2M/2K=1000 (2)MOV AL,77H OUT 93H,AL MOV AX,1000H OUT 90H,AL MOV AL,AH OUT 90H,AL
万维试题库系统 第 19 页
12. 8259A的端口地址为40H和41H,按如下方式置初始化编程:1片8259A;边沿触发方式;需ICW4;用于8088/8086CPU;中断类型码为F8H,F9H,----,FFH;普通全嵌套方式;不用缓冲;非自动中断结束方式,并读出IRR的内容到A累加器。 【答案】
MOV AL ,13H ;(00010011B 写入ICW1) OUT 40H ,AL MOV AL ,0F8H ;(11111000B 写入ICW2) OUT 41H ,AL MOV AL ,01H ;(00000001B 写入ICW4) OUT 41H ,AL
MOV AL ,0AH ;(00001010B 写入OCW3) OUT 40H ,AL
IN AL , 40H ;(读出IRR到A累加器)
13. 设中断类型号为 80 的中断处理程序首地址为 RINT80,写出设置相应中断向 量的程序片段。 【答案】
PUSH DS ;保护 DS,与 POP DS 对应,可没有 MOV DX,OFFSET RINT80
MOV AX,SEG RINT80 ;以下语句 AX 也可是其他通用寄存器
MOV DS,AX MOV AX,2580H
INT 21H ;设置中断向量 POP DS
14. 使用8259A的端口地址为60H和61H,按如下方式置初始化编程:1片8259A;电平触发方式;需ICW4;用于8088/8086CPU;中断类型码为F0H,F1H,----,F7H;普通全嵌套方式;不用缓冲;非自动中断结束方式,并读出ISR的内容到A累加器。 【答案】
MOV AL ,1BH ;(00011011B 写入ICW1) OUT 60H ,AL MOV AL 0F0H ;(11110000B 写入ICW2) OUT 61H ,AL MOV AL ,01H ;(00000001B 写入ICW4) OUT 61H ,AL
MOV AL ,0BH ;(00001011B 写入OCW3) OUT 60H ,AL
IN AL , 60H ; (读出ISR到A累加器)
15. 试用流程图表示设置8259A工作方式的步骤。
万维试题库系统 第 20 页