我们来分析一下程序从startup ->main ->Func -> main 的过程中,单片机自动保存UCX的过程。
图片中带_Old后缀的表示该寄存器在上一个步骤中的值。
/*****************************************************************************************/
①程序跳转进main函数前,CSA的状态一直保持上文的初始化状态。
②程序跳转进main函数后,因为发生了函数调用,所以存储了一个UCX到CSA[0],PCXI指向该节点,FCX后移一个节点:
③程序从main函数跳转进Func函数后,同样存储一个UCX,PCXI和FCX都向后移动一个节点,此时CS