Ответ: Обмениваемся своими макросами
Макросы для организации битовых сдвигов для 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 крайне не рекомендуется.
Последний раз редактировалось Arsie, 17.08.2018 в 18:22
|