|
Можно использовать алгоритм сброса младшего единичного бита:
A=(A-1) and A
Получится 6 тактов на каждую единицу. Если в среднем одна или 2 -
будет выйгрыш. Если единиц много можно заменить первую команду на
comf и считать нули
movf nom,f
loop:
btfsc status,z
return
incf count,f
decf nom,w
andwf nom,f
goto loop
E-mail: info@telesys.ru