Вопрос таков. есть ли в Иаре стандартные обращения к данным командам. тобиш неприбегагая к написанию подпрограммы на АСМе?

если нет, подскажите пожалуйста, как написать две три подпрограммы вида-


Umlal_in(A,cool.gif;

C=Umlal_out();

на асме, и вставить в Си. Я почитав форум, несовсем понял как это сделать.

вот на что меня хватило. а как достать данные, вообще не понял.

void SaveSt(){


asm (" STMFD sp!,{r0-r12,lr} \n");
asm (" MRS r1,spsr \n");
asm (" STMFD sp!,{r1} \n");
}

void LoadSt(){
asm ("LDMFD sp!,{r1} \n");
asm ("MSR spsr_cxsf,r1 \n");
asm ("LDMFD sp!,{r0-r12,pc}^ \n");
};


void Mulfft(long Di, long Sg)
{
asm (" LDR R2, [R0], #4 \n"); // di
asm (" LDR R3, [R1], #4 \n"); // sg
asm (" SMLAL R5, R6, R2, R3 \n");
}

void Retfft(){
asm (" MOV R0, R5 \n");
asm (" MOV R1, R6 \n");
};;

void ClearFFt(){
asm (" MOV R5, #0x0 \n");
asm (" MOV R6, #0x0 \n");
};

void fft()
{
SaveSt(); // тут в стек
ClearFFt(); // тут очищаю двнные которые будут прибавлятся
Mulfft(100,100);// тут перемножаю и складываю
Retfft(); // тут надо как то достать, но незнаю как
LoadSt(); // тут возвращаю стек.
};


заранее спасибо.