[an error occurred while processing this directive]
Залейте пожалуйста.
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

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

Отправлено С 04 октября 2002 г. 19:32
В ответ на: Адрес давайте, залью(+) отправлено Zizo 04 октября 2002 г. 18:36

Просто допустим есть у меня число Х в формате Q15 (0xC000) = -0.5(dec) = -16384 (int в Си) и число Y(Q15) = 0.5 = 0x4000 = 16384
nado z=x*y= -0.25
на асме всё более менее ясно:
SSBX FRCT; врубаем fractional mode
LD *(x),16,A ;
MPYA *(y) ;
STH B,*(z) ;
z= 0xE000; = -0.25 = -8192 int in C что есть правильно!.

Теперь, когда я пробую писать на Си
z=x*y;
во первых компилятор вырубает FRCT (= 0); и дает не верный результат.
как корректно записать на Си умножение а результат скинуть в 16 бит?


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

Ответы


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

Имя (обязательно): 
Пароль: 
E-mail: 

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

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

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


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru