This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

求教,28335 C语言和汇编混合编程时从汇编返回C语言的方法



各位大神,我在调试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语言中的临时变量呢?求教各位了,谢谢!