ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
28 марта
903319 Топик полностью
Хаос (12.02.2019 13:09, просмотров: 1) ответил fk0 на В общем случае проблема описана в "Алгоритмических трюках для программистов" Г. Уоррена. По ссылке (другой источник, но есть в онлайне) много деталей, практически же код выглядит так:
Пожалуй, все же тыкну "ими всех налево и направо". :) В blackfin'е это одна ассемблерная операция: "ONES". То есть, выигрыш по скорости в 12 раз. Согласен, используется редко. Но если кому-то нужен "бит четности", то эта команда будет полезна. Но я, ЕМНИП, вообще ни разу не использовал. Но вот команду SIGNBIT я использовал, и довольно успешно.
dest_reg = ONES src_reg Синтаксис: Dreg_lo = ONES Dreg; // (b)1 Примечание 1: в синтаксисе комментарий (b) показывает длину инструкции 32 бита. [Терминология синтаксиса] Dreg: регистры R0, ..., R7. Dreg_lo: половинки регистров R0.L, ..., R7.L. [Функциональное описание] Инструкция Ones Population Count загружает количество бит с лог. 1, содержащихся в регистре src_reg, в младшую половинку регистра dest_reg. Диапазон возможных значений, которые могут быть загружены в dest_reg, будет 0 .. 32.
microsin.net/programming/dsp/blackfin-instruction-set-reference-part1.html