[an error occurred while processing this directive]
Ответ: Lexas5-тому!
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

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

Отправлено 432 05 января 2004 г. 16:29
В ответ на: Help, пожалуйста... отправлено Lexa5 31 декабря 2003 г. 00:42

Первая строчка - это запись в регистр SR0 (младшие разряды) значения ячейки CHAN_SYN_HIG.
Вторая строчка - это непосредственный логический сдвиг битов регистра SR0 на 6 позиций влево.
Третья строчка - на 7 позиций и тоже влево.
Вторая или третья строчка программы выбираются из каких то условий,а условия надо смотреть выше в программе.
Думаю, что перед ними должны стоять метки программы.
Четвёртая строчка не работает. Должно быть так AY0=0x0032 (или 0x0020, если 32 это десятичное значение.
Пятая строчка - это в регистре AR будет значение, которое получается после вычитания значения регистра SR1 и регистра AY0.
Шестая строчка - то команда по условию, если значение регистра AR, которое получается в результате вычитания меньше нуля (обращаю Ваше внимание: только меньше нуля), тогда программа переходит на выполнение по адресу метки save_hois. Если условие не выполняется программа выполняет седьмую строчку, то есть регистру AX0 присваивается значение 1 (0х0001).
Восьмая строчка - это ошибка программиста. Машина не умеет складывать числа, а вот к значению регистра она может прибавить и 8 и 1.Так что одно из значений должно быть регистром (например: af=ax0+8, или af = ax0+1). Такой команды (ay0=...+...) нет в природе.Вместо AY0 должнен
быть регистр или AR или AF или SR.
Девятая строчка - это как пятая строчка.
Удачи! 432-ой.

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru