8259A的初始化编程
初始化编程:指系统在上电或复位后对可编程器件进行控制字设定的一段程序
8259A的命令控制字包括两个部分:初始化命令字和操作命令字
初始化命令字一般在系统复位后的初始化编程中设置,用于确定8259A的基本工作方式,设置以后一般保持不变
操作命令是在初始化以后的正常工作中写入的,它实现对8259A的状态,中断方式和过程的动态控制,在工作中可随时写入操作命令字以修改某些控制方式
8259A内部有7个寄存器,分为两组:初始化命令寄存器组和操作命令寄存器组
初始化命令寄存器组包括4个寄存器:ICW1~ICW4对应的寄存器
操作命令寄存器组包括3个寄存器:OCW1~OCW3对应的寄存器。
由于8259A只有一条地址线A0,所以它只能有两个端口地址,而8259A有7个命令字,每个命令字要写入相应的寄存器。为此,采取以下几点措施:
第一,以端口地址区分
第二,把命令字中的某些位作为特征码来区分
第三,以命令字的写入顺序来区分
在PC/XT中,8259A的两个端口地址分别为20H和21H
PC/AT级联8259端口地址

8259A 初始化命令字
8259A初始化命令字有4个:ICW1、ICW2、ICW3、ICW4
8259A在进入正常工作之前,必须将系统中的每一个
8259A进行初始化设置,以此建立8259A的基本工作条件
写入的初始化命令字一般为2~4个(在某些条件下,4个
初始化命令字并非必须全部写入),最多为4个,然而,
ICW1使用偶地址,而ICW2、ICW3、ICW4都使用奇地址,
为了相互区别,初始化命令字的写入必须有一个固定的顺序
系统上电或复位以后,对8259A第一件要做的工作就是按顺序写入初始化命令字