
中断嵌套级别。然而,中断堆栈不得
被允许溢出分配给它的内存空间中。
除非该软件专门启用,嵌套接口
不会发生中断产生。当CPU响应一个跨
中断,在PSR寄存器中的I位被自动清0
该服务程序的持续时间,禁止任何进一步的
可屏蔽中断。
要允许嵌套中断,中断服务程序
首先设置或清除相应的中断使能位来指定
该外设将被允许中断当前的丝氨酸
副例程。本中断程序应禁用
(或中断标志位清零) 。如果该服务程序
然后设置PSR.I位为1 ,从而使可屏蔽的中断。
该位可以用存储寄存器进行控制
( SPR )和加载寄存器( LPR )的说明。
注意:
清除当前中断的中断标志位,
没有紧跟通过使其他中断
设置在PSR寄存器中的I位。等待状态必须是IN-
清除中断标志后牢固插入到软件
位和前另一个中断。将NOP指令
将执行该指令。这是因为指令
其复位标志位可能还没有完成的时候
中断已经通过设置I位再次启用
PSR寄存器。为了避免这种情况,用户必须使
相信之前使中断的附加指令
化插入。这可能看起来像下面的例子:
SBITi
NOP
MOVW
LPR
0元, T1ICRL
$ 0x0a00 , R0
R0 , PSR
#清除中断标志位
# NOP指令
#允许进一步中断
一个CBITi或SBITi指令可用于清除中断
标志位。在这种情况下,可能会发生伪中断。
33
www.national.com