Ответ: (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено ****** 06 февраля 2004 г. 14:27
В ответ на: если посмотрите в асмовский код, (+) отправлено bialix 06 февраля 2004 г. 13:30

в r16 r17 long всеравно не поместится! Так что хочете вы того или нет преобразовать число все равно прийдется. Прийдется делать какое то преобразоваие пребразование ходябы по той причине что аргумент функции необходимо делить на кол-во тактов в цикле(если конечно хотите задавать задержку в тактах, а не в попугаях).

Кстати если использавать регистры r16,17 то длинна цикла будет как раз где то в районе 5 команд.

А про X и Z я говорил потому что десрементировать их можно одной командой, таким образом проще получить одинаковую длинну цикла
например самый простой цикл с использованием r16,17
r16 - Low
r17 -High

L:
wdr
dec r16
brne L1
dec r17
brne L1
основной недостаток - непостоянная длинна цикла, чтобы сделать ее постоянной нужны дополнительные меры. И чем больше регистров вы задействуете тем сложнее будет это сделать, приечем увеличивая длинну цикла вы уменьшаете "разрешающую способность".
тоже только с использованием Z
L:
wdr
sbiw Z,1
brne L
длинна цикла постоянна!
и то что гспода из ИАР не ипользуют полностью аппаратные возможности процессора врядли говорит в их пользу...

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

Ответы



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

E-mail: info@telesys.ru