��在中断结束时或者在中断服务程序的适当位置,必须发送结束中断处理的命令,置ISRi为0。以便可以让其他中断请求继续被响应。所谓结束中断处理,就是把正在服务寄存器清零。共有三种方式:

  第一种是自动结束中断方式,简写作AEOI。就是在开始响应中断时就由8259A自动清除被响应中断的ISR位。在中断应答周期,第2个INTA#脉冲将ISR位清零,之后的中断服务程序过程,如果有与该级中断同级的或比之低级的中断请求,就都会被允许,发生中断嵌套。因此,这种方式仅用于单片8259且不可能产生中断嵌套的情况。这种方法主要是怕没有经验的程序员忘了在中断服务程序中给出中断结束命令而设立的。

一般结束中断方式用于全嵌套。这种方式,是CPU在中断服务程序中用输出指令向8259A发送EOI命令,然后8259A就自动来清除ISR位的。该指令可以安排在中断服务程序的适当位置。在全嵌套方式中,如果在ISR中有两个以上的位被置1,EOI命令将清除 ISR中优先级别最高的有效(置1)位。在全嵌套方式中,该位必定对应最后一次被响应也是当前正在服务的那级中断,清除级别最高的正在服务位便结束了当前正在服务的中断。

  在非全嵌套方式下,如果正在服务寄存器中有两位以上被置位,控制器便无法根据ISR判断哪一级中断是当前正在处理的中断,因此,就要采用特殊的中断结束方式。特殊结束方式就是通过CPU发送特殊的EOI命令,命令指出了要清除的是正在服务的哪一个ISR位。特殊结束主要用于非全嵌套方式。这些命令都是通过向8259A的偶地址输出命令字实现的,后面将详细说明。多片8259级联的情况下,需要为主片和从片的8259分别发送EOI命令。