|
В MpLab для PICов есть функция для подсчета времени работы участка программы, а вкейле нет. Но нашел счетчик STEPов. Так вот результаты по вариантам:
1 - 165 степов
2 - 284 степов
3 - 154
Естественно с заходом в подпрограммы. Вся проблема в том что данная запись для INT типа оптимизируется и байты сразу пишуться в нужные места. А с вариантом LONG производяться записи а потом вызываются подпрограммы сдвигов.
P.S. Вариант предложенный ниже лучше Вашего (3) на 48 байт и выполняется за 52 шага. Но человек ранее писавший на асме увидев это все равно никогда не захочет переходить на С.
E-mail: info@telesys.ru