三.问答题: 2. 8259A对外只有两个端口地址,却有7个命令字,它是如何识别不同的命令字的?
答:8259A的7个命令字为:4个初始化命令字ICW1、ICW2、ICW3和ICW4,3个操作命令字OCW1、OCW2和OCW3。其中ICW1、OCW2、OCW3是写入偶地址的,它们依赖于命令字中的D4、D3位作标志位来区分;ICW2、ICW3和ICW4都写入奇地址,它们总是紧跟于ICW1后写入的,8259A收到ICW1后,便能根据ICW1的内容逐一识别跟在后面的其它初始化命令字;OCW1也是写入奇地址,但它是初始化设置完后,在工作过程中任意时刻写入的,也就是说,在初始化完成后,写入奇地址的都是OCW1。
四、接口设计题
5.某系统采用级联方式,主8259A的中断类型码从30H开始,端口地址为20H、21H。从8259A的INT接主片的IR7,从片的中断类型码从40H开始,端口地址为22H,23H。均不要ICW4。试对其进行初始化编程。
解:
;主片初始化程序:
MOV AL,00010001B OUT 20H,AL MOV AL,30H OUT 21H,AL MOV AL,80H OUT 21H,AL
;从片初始化程序:
MOV AL,00010001B OUT 22H,AL MOV AL,40H OUT 23H,AL MOV AL,07H OUT 23H,AL