реклама на сайте
подробности

 
 
> UMLAL SMLAL для ARM
Warlockwolf
сообщение Jun 17 2008, 15:41
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 50
Регистрация: 17-06-08
Пользователь №: 38 358



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

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


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(); // тут возвращаю стек.
};


заранее спасибо.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Warlockwolf   UMLAL SMLAL для ARM   Jun 17 2008, 15:41


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 16:04
Рейтинг@Mail.ru


Страница сгенерированна за 0.01357 секунд с 7
ELECTRONIX ©2004-2016