CSA的使用需要十分谨慎,在存储CSA的时候,因为有LCX和UCX两种类型,恢复的类型也要相对应。比如,调用函数时自动存储的是UCX,即PCXI所指向的是UCX,函数运行完毕后返回时恢复的也是UCX,如果在被调用的函数中用汇编指令“RET”(见上文)直接返回,系统也会自动恢复UCX,如果我们在函数中调用了恢复LCX的指令“RSLCX”,则会进Trap。同样的,如果我们进入函数后,手动存储了LCX,我们就需要先调用“RSLCX”恢复LCX,再让程序自动返回,或调用“RET”指令返回,否则会报错进入Trap。中断和Trap同理。
Tricore中还有一个寄存器,叫PSW,就是UCX中的第二个字段,存储了一些程序运行相关的信息,定义如下:
我们主要来看其