Показать сообщение отдельно
Старый 17.08.2018, 16:57   #68
Gel
Senior Member
 
Регистрация: Nov 2017
Сообщения: 563
Благодарил(а): 3 раз(а)
Поблагодарили: 38 раз(а) в 30 сообщениях
По умолчанию Ответ: Обмениваемся своими макросами

Макросы для организации битовых сдвигов для 32-битных значений на основе блоков MUX:

"SHLN (32)" -- cдвиг на N бит влево;
"SHRN (32)" -- cдвиг на N бит вправо;

"SHL (32)" -- cдвиг на 1 бит влево;
"SHR (32)" -- cдвиг на 1 бит вправо.

Данная реализация, в отличие от макросов в теме "Библиотечка разработчика" работают гораздо быстрее.

Например, 10000 блоков старого макроса "SHL (32)" на SMH4 отработали более, чем за 900 мс. А моя версия из 10000 блоков отработала за 5 мс.

В приложенном архиве "shift.zip" так же находится проект для тестирования макросов "long-shift-test 1.0.0.psl".


Предупреждение от Арсения: данные макросы требуют большого количества памяти, их применение на контроллерах SMH2010, Pixel и SMH2G крайне не рекомендуется.
Вложения
Тип файла: zip shift.zip (42.4 Кбайт, 54 просмотров)

Последний раз редактировалось Arsie, 17.08.2018 в 18:22
Gel вне форума   Ответить с цитированием