8259A有一个8位的中断屏蔽寄存器IMR。它的各位和8个中断请求相对应。如果在有些时间段内不希望某一个或某几个中断发生,可以通过设置屏蔽寄存器将该中断对应的位IMRi为1解决。每当发生中断请求,只有当该位为0的时候,对应的中断请求才能被送到优先级裁决器;如果这级中断的屏蔽寄存器位为1,该级请求就不会被送到优先权裁决器裁决,从而使这个中断向CPU的请求无法传递给CPU。程序员在实际应用中可以利用这点,来保证某些程序顺利进行而不被打断。在处理完毕之后希望解除屏蔽的时候,可以将屏蔽位清零。
  在有些场合中,希望一个中断服务程序能动态的改变系统的优先级结构。在某一部分,希望禁止较低级的中断请求,在另外的某些部分可能又希望能够对比本身优先级低的请求开放。如果屏蔽了某些中断,优先级比它们低的中断就可以得到响应。但是如果优先级高的中断正在服务,即它们的ISR=1,低级中断仍然不能得到响应。为此,8259A设计了特殊屏蔽方式,用来动态地改变中断的优先级。特殊屏蔽进行如下操作,如果对某一中断的屏蔽寄存器位置1,则对应的正在服务寄存器同时位被置0。假设较高级别的中断i正在被服务,通过设置特殊屏蔽,令IMRi=1,同时ISRi=0。结果,优先级比i低的i+1、i+2…级中断也可以中止i级中断而被响应,发生中断嵌套。不难看出,特殊屏蔽用在中断服务程序当中,用来动态调整中断优先级。使用了这种方式之后,尽管系统当前仍然在处理一个较高级的中断,但是,从外界看来,由于8259A的中断屏蔽寄存器中,对应于此中断的数位被设置为1,并且当前中断服务器中的对应位被清0,所以,好像不在处理任何中断。从而,这时即使有最低级的中断请求,也会得到响应。
  通过上面的分析,可以看出正在服务寄存器ISR在中断优先级的裁决和决定能否发生中断嵌套方面的作用。