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

 
 
> как перемножать при помощи встроенного умножителя?
cornflyer
сообщение Feb 22 2008, 10:10
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 166
Регистрация: 11-07-06
Из: Dubna
Пользователь №: 18 729



мне нужно умножать два 16bit числа, потом результат поделить на 4095
галочка в ИАРе в опциях стоит - hardware multiplyer
но приведенный ниже код не работает!
может лучше на ассемблере сделать эту фунцкию?


unsigned int get_code ( unsigned int num_value, unsigned int k )
{
tmp = num_value * k ;
asm ("nop") ;
asm ("nop") ;
asm ("nop") ;
tmp = tmp >> 12 ;
return tmp ;
}
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Feb 22 2008, 11:39
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



А зачем для столь простых операций целочисленного умножения и деления отдельную функцию городить? 07.gif Это же Си, а не ассемблер. Если в свойствах проекта указано о том, что нужно использовать аппаратный умножитель, то компилятор сам подставит вызов именно той функции, которая его использует.
Go to the top of the page
 
+Quote Post



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

 


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


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