[an error occurred while processing this directive]
попытка чуток оптимизировать код.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено колян безпарольныи 17 февраля 2005 г. 23:44
В ответ на: Фрунзенский код рулит!!!Тока почему сдвиг влево, этож умножение на 2, а я думал нада делить на 2. Антирестна! отправлено nikolaus 17 февраля 2005 г. 21:34


B16BCDD: clr A
mov R1,A; mov R1,#0
mov R3,A; mov R2,#0
mov R3,A; mov R3,#0 ; обнулить результат
mov B, #16
sjmp B16BCDD_2 ;
B16BCDD_1: ;mov A,R3
;add A,R3
rl A
da A
mov R3,A
mov A,R2
addc A,R2
da A
mov R2,A
mov A,R1
addc A,R1
mov R1,A ; R1R2R3 умножено на 2 по правилам 10-чной системы
B16BCDD_2: mov A,R4
rlc A
mov R4,A
mov A,R5
rlc A
mov R5,A ; число сдвинуто влево
mov A,R3
addc A,#0
mov R3,A ; добавили старший разряд к единицам результата R1R2R3
djnz B,B16BCDD_1; зацикливание
ret

циклов 17 ужмет помоему. Проверить неначем.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru