第七章 作业参考答案
1. 8086/8088共有多少矢量号?每一个矢量号占用矢量表的几个字节空间?它们的内容含义是什么?中断矢量表定位于内存储器的何处?若中断矢量号N=19H,计算该中断程序的矢量在矢量表中的地址。
答:8086/8088共有256个矢量号。每一个矢量号占用矢量表的4个字节空间,前2个字节内容表示中断服务子程序入口地址的偏移地址;后2个字节内容表示中断服务子程序入口地址的段地址。中断矢量表定位于内存储器的00000H~003FFH。当N=19H时,在矢量表中的地址为:0000:0064H.
2.若中断矢量表地址00060H存放4200H,00062H中存放1080H,则对应的中断类型号是多少?中断服务程序的入口地址(逻辑地址)是多少?
答:对应的中断类型号是18H。中断服务程序的入口地址(逻辑地址)是1080:4200H.
3.什么是中断?PC机中有哪些类型中断?应用程序在修改中断矢量时,为什么要关中断?
答:中断是指当CPU正常运行程序时,由于CPU内部事件或外设请求,引起CPU暂时中断当前正在运行的程序,转去执行请求中断的外设(或内部事件)的中断服务子程序,执行完中断服务子程序后,再返回原断点处继续执行被暂时中断的程序。
PC机的中断类型:外部中断与内部中断。
在应用程序修改中断矢量时,防止其它中断发生,因此需要关中断。
4.8259A的ICW2设置了中断类型码的哪几位?说明对8259A分别设置ICW2为30H、34H、38H有什么区别?
答:8259A的ICW2设置了中断类型码的高5位,低3位自动插入。
当8259A对ICW2设置为30H时,说明中断类型码为30H~37H;
当8259A对ICW2设置为34H时,中断类型码仍为30H~37H;
当8259A对ICW2设置为38H时,说明中断类型码为38H~3FH;
5.在由8086构成的最小方式系统中,有一片8259A构成中断控制系统。设在片内A0=0时的端口地址用P8259A表示,在片内A0=1时的端口地址用P8259B表示。若执行程序段:
MOV DX, P8259A ;初始化
MOV AL, 00011011B
OUT DX, AL
MOV DX, P8259B
MOV AL, 10001000B
OUT DX, AL
MOV AL, 00001101B
OUT DX, AL
MOV AL, 11000010B ;OCW1
OUT DX, AL
试问:中断结束的方式是什么?中断级IR6的中断类型号是什么?IR1和IR2上有效的中断请求信号在IF=1时能否引起CPU的中断?
答:中断结束的方式是一般EOI方式;
中断级IR6的中断类型号是8EH;IR1不能引起中断而IR2可以引起中断。
6.8259A的初始化命令字和操作命令字有什么区别?它们分别对应于编程结构中哪些内部寄存器?
答:8259A的初始化命令字只在对芯片进行初始化时使用;而操作命令字在芯片工作过程中使用。
初始化命令字有:ICW1、ICW2、ICW3和ICW4;
操作命令字有:OCW1、OCW2和OCW3。
7.一片8259A可以管理几级中断源?若系统有22级中断源,该采用什么措施?请具体画出8259A的接线原理图。
答:一片8259A可以管理8级中断源;
若系统有22级中断源,应采用芯片级联的措施;