[an error occurred while processing this directive]
Ответ: (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено радиолюбитель без лицензии 08 декабря 2005 г. 20:30
В ответ на: Ответ: Можно немножко подробнее отправлено Andron 08 декабря 2005 г. 20:08

Проверьте, что использует ГЦЦ, т.к. он кейл среда вродь может разные компилеры использовать. Если гцц и не работает, то не знаю. Вот из кроссворкс гцц.


static inline int MULT16_32_Q14(int x, int y) {
int res;
int dummy;
asm (
"smull %0,%1,%2,%3 \n\t"
"mov %0, %0, lsr #14 \n\t"
"add %0, %0, %1, lsl #18 \n\t"
: "=&r"(res), "=&r" (dummy)
: "r"(y),"r"(x));
return(res);
}

int main()
{
volatile a, b;
volatile c = MULT16_32_Q14(a, b);
}

gcc.exe -Os -S test.c

.file "test.c"
.text
.align 2
.global main
.type main, %function
main:
@ args = 0, pretend = 0, frame = 12
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
sub sp, sp, #12
ldr r2, [sp, #8]
ldr r3, [sp, #4]
@ lr needed for prologue
smull r1,ip,r3,r2
mov r1, r1, lsr #14
add r1, r1, ip, lsl #18

str r1, [sp, #0]
add sp, sp, #12
mov pc, lr
.size main, .-main
.ident "GCC: (GNU) 3.4.2 (mingw-special)"


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru