如何在PIC​​18F上从Stack获取程序计数器的值

时间:2016-07-03 06:26:17

标签: operating-system interrupt multitasking

我正在尝试理解PIC18F中的多任务处理。我知道程序计数器在中断之前存储在堆栈中,然后在中断结束时返回到相同的PC地址。如何找到存储在堆栈中的PC值并将其保存在某个寄存器中,以便以后可以使用它返回。 ?例如Task1,Task2等的PC值。

1 个答案:

答案 0 :(得分:0)

我认为AN818回答我的问题。因此,在先发制人的操作系统中,我会在执行ISR之前保存TOSU,TOSL,TOSH和STKPTR(以及其他寄存器),并从ISR加载TOSU,TOSL,TOSH和STKPTR以及下一个任务的新值。欢迎任何进一步的评论/建议/示例。谢谢