winnie 发表于 2009-3-4 15:47:33

通过RETFIE 指令来使用高优先级中断时,为什么 W 、 STATUS 和BSR 寄存器的值会改变?

有没有可以不改变的方法?

用于高优先级中断和CALL FAST 的影子寄存器被MPLABICD 2 使用了。这些是保留给MPLAB ICD 2 操作的资源。如果断点设置在CALL FAST 子程序内,或者在通过 RETURN FAST 或RETFIE 指令使用了影子寄存器的高优先级中断服务程序内,将会出现问题。
00 = Pass VDD 可提供给目标VPP/MCLR 引脚
01 = Min error VDD 对于目标VPP/MCLR 引脚太低
80 = Max error VDD 对于目标VPP/MCLR 引脚太高
00 = Pass VPP 可提供给目标VPP/MCLR 引脚
01 = Min error VPP 对于目标VPP/MCLR 引脚太低
80 = Max error VPP 对于目标VPP/MCLR 引脚太高
页: [1]
查看完整版本: 通过RETFIE 指令来使用高优先级中断时,为什么 W 、 STATUS 和BSR 寄存器的值会改变?