有对PICC比较有研究的朋友吗?偏移的功能程序中,如果中断服务函数中有if判断,则程序会跑

2020-02-10 08:50发布

最近在写boot,PIC16F886,分别将功能和引导分两个project编译,再手工将两个.hex合到一起。当然功能程序编译的时候会offset

调试过程中发现了一个问题,进入中断后,编译出的汇编代码会将PC的高位字节清零。如果中断函数中有if判断(PIC16系列只有一个中断向量,使用超过一种中断时,都要判断中断标志位,确定是何种中断),就会有汇编的goto语句,此时我的功能代码是offset之后的,goto之后就飞掉了(不偏移则不会飞掉)

很晕,不太理解PICC的这种行为,请教一下有经验的朋友
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。