8259的编程也分为两类:
(1)初始化编程:
是对8259A在进入工作前写入初始化命令字,是微机上电时由BIOS完成的,并且在系统整个工作过程中保持不变。
(2)操作命令编程:
是在应用程序中进行的,动态地控制8259的工作方式,可在初始化后任何时间写入。
8259有两个I/O端口地址:
A0=0 偶地址端口
A0=1 奇地址端口
对8259初始化命令字、操作命令字的写入及对8259工作状态的读出都是通过这两个端口地址实现的。
由于8259只有两个端口地址,而控制字多达7个,因此要通过写入顺序和特征位来区分它们。
写初始化命令字时必须按顺序填写,并且要求ICW1写入偶地址端口,而其它的初始化命令字写奇地址端口。
3、ICW3:主从片初始化命令字,写入奇地址端口【主片与从片的ICW3不同,初始化时要分开写】
只有系统中包含多片8259时,ICW3才有意义。
当ICW1的