各位大神,我在调试UCOSII 在28335上移植时程序进入临界区时想用压入堆栈的方法,需要将CPU的状态寄出器内容压入堆栈,以下是我进入临界区的程序:
_OSENTERCRITICAL:
.global _OSENTERCRITICAL
PUSH ST0
PUSH ST1
SETC INTM
.end
下边是我退出临界区的程序
.page
.text
_OSEXITCRITICAL:
.global _OSEXITCRITICAL
POP ST1
POP ST0
CLRC INTM
.end
我的问题是在汇编程序结束前也就是.end之前怎么将程序返回到C语言中去执行,用RET吗?编译器不认这个指令,用LRET返回到一个错误的地方,求教各位大神应该用那条指令返回呢?还有如果想用保存临时变量的方法,在汇编中怎么传递C语言中的临时变量呢?求教各位了,谢谢!