Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Ой, ужас какой, полубайтная таблица оказывается проигрывает во много разов, если проигрывает. Причем одному из моих же вариантов. Причем процессорозависимо. Ужас, ужас, ужас.:-))))
Отправлено
-=ВН=- 18 июня 2007 г. 18:08
В ответ на:
плюс размер самой таблицы - и где тут экономия ? отправлено
<font color=gray>ыфефт</font> 18 июня 2007 г. 16:44
MSP 430, исходный байт в R12, результат там же, таблица, располагаемая где угодно. Через точку с запятой - времена выполнения в тактах генератора.
MOV R12,R13 ;1
AND #15,R12 ;2
MOV.B TABLE(R12),R12 ;3
RRA R13 ;1
RRA R13 ;1
RRA R13 ;1
RRA R13 ;1
ADD.B TABLE(R13),R12 ;3
Итого 13 циклов.
MSP430, маскирование и сдвиги
Исходный байт в R12, результат там же.
MOV R12,R13 ;1
AND #0x55,R12 ;2
RRA R13 ;1
AND #0x55,R13 ;2
ADD R13,R12 ;1
MOV R12,R13 ;1
AND #0x33,R12 ;2
RRA R13 ;1
RRA R13 ;1
AND #0x33,R13 ;2
ADD R13,R12 ;1
MOV R12,R13 ;1
AND #15,R12 ;2
RRA R13 ;1
RRA R13 ;1
RRA R13 ;1
RRA R13 ;1
ADD R13,R12 ;1
Итого 23 цикла
Составить ответ | Вернуться на конференцию
Ответы