发布于 2012-02-25 09:18:21
15楼
[COLOR=red]在FC1和FC2里各自分别定义一个临时变量 TEMP_1(WORD)
与在FC1和FC2同时使用LW0
有什么区别?[/COLOR]
没什么区别。实际上两者是一个存储器。因为每次调用FC时,临时变量都会重新分配。
如果在FC1和FC2之间有个中断也使用到LW0,又是什么结果?
在中断到来的时候,fc1的LW0会压入到堆栈中去,在中断中的lw0和fc的lw0不是同一存储器,因为临时变量的分配时按照优先级分配的。也就是说不同优先级的临时变量分配的存储器是不一样的。