Assembly PIC16F84A中的中断

Assembly PIC16F84A中的中断,assembly,pic,Assembly,Pic,我正在汇编PIC16F84A的程序, 当中断A发生且A的中断例程开始时,GIE设置为0, 当我们在A中断子程序中时,如果触发另一个中断B,程序将在A的子程序中继续,因为GIE未启用(不会跳到0x04),但由于B的启用已设置,B的标志是否仍将设置? 因此,我需要确保在RETFIE之前将所有标志设置回0,还是只将A的标志重置为0 当中断A发生且A的中断例程开始时 如果在A中断子程序中,GIE设置为0 另一个中断B被触发,程序将在A中继续 子例程,因为GIE未启用 为什么要在中断处理程序中关闭GIE?

我正在汇编PIC16F84A的程序, 当中断A发生且A的中断例程开始时,GIE设置为0, 当我们在A中断子程序中时,如果触发另一个中断B,程序将在A的子程序中继续,因为GIE未启用(不会跳到0x04),但由于B的启用已设置,B的标志是否仍将设置? 因此,我需要确保在RETFIE之前将所有标志设置回0,还是只将A的标志重置为0

当中断A发生且A的中断例程开始时 如果在A中断子程序中,GIE设置为0 另一个中断B被触发,程序将在A中继续 子例程,因为GIE未启用

为什么要在中断处理程序中关闭GIE?
中断不会中断中断处理程序。当您从中断处理程序A返回时,中断处理程序B将启动

当中断A发生且A的中断例程开始时 如果在A中断子程序中,GIE设置为0 另一个中断B被触发,程序将在A中继续 子例程,因为GIE未启用

为什么要在中断处理程序中关闭GIE?
中断不会中断中断处理程序。当您从中断处理程序A返回时,中断处理程序B将启动

当中断A发生且A的中断例程开始时 如果在A中断子程序中,GIE设置为0 另一个中断B被触发,程序将在A中继续 子例程,因为GIE未启用

为什么要在中断处理程序中关闭GIE?
中断不会中断中断处理程序。当您从中断处理程序A返回时,中断处理程序B将启动

当中断A发生且A的中断例程开始时 如果在A中断子程序中,GIE设置为0 另一个中断B被触发,程序将在A中继续 子例程,因为GIE未启用

为什么要在中断处理程序中关闭GIE?

中断不会中断中断处理程序。当您从中断处理程序返回时,中断B处理程序将启动。硬件自动将GIE位设置为0,以避免中断通过跳到0x4中断另一个中断的子例程,我想知道的是“当我在A的子例程中,GIE为0时,B的标志是否可以设置,因为B的enable已设置?即使GIE=0?“也许这就清楚了EAH B的中断标志被设置,一旦一个结束就会触发一个中断但是如果某个导致中断的事件在A运行时发生两次,那么你就会错过其中一个事件。硬件会自动将位设置为0,以避免一个中断通过跳转到0x4中断另一个中断的子例程,我想知道的是“当我在A的子例程中,GIE为0时,B的标志是否可以设置,因为B的enable已设置?即使GIE=0?“也许这就清楚了EAH B的中断标志被设置,一旦一个结束就会触发一个中断但是如果某个导致中断的事件在A运行时发生两次,那么你就会错过其中一个事件。硬件会自动将位设置为0,以避免一个中断通过跳转到0x4中断另一个中断的子例程,我想知道的是“当我在A的子例程中,GIE为0时,B的标志是否可以设置,因为B的enable已设置?即使GIE=0?“也许这就清楚了EAH B的中断标志被设置,一旦一个结束就会触发一个中断但是如果某个导致中断的事件在A运行时发生两次,那么你就会错过其中一个事件。硬件会自动将位设置为0,以避免一个中断通过跳转到0x4中断另一个中断的子例程,我想知道的是“当我在A的子例程中,GIE为0时,B的标志是否可以设置,因为B的enable已设置?即使GIE=0?“这可能会使设置EAH B的中断标志变得更清晰,并且在A结束时立即触发中断。但是,如果某个导致中断的事件在A运行时发生两次,则您将错过其中一个事件