[an error occurred while processing this directive]
Ответ: Да, это, пожалуй, наилучший вариант...
(«Телесистемы»: «Конференция «Цифровые сигнальные процессоры (DSP) и их применение»»)

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

Отправлено awizard 05 мая 2003 г. 12:54
В ответ на: Ответ: (+) отправлено AndyДюх 05 мая 2003 г. 08:38

Я тоже к нему пришел.
Но интереса ради я всё-таки уложил это в три команды:

Имеем:
MX1 = 0x1000; - сдвиг на 16 разрядов умножением
MY1 = 0x1;
DM - младшие слова
PM - старшие слова
I0,I4 - указатель на текущий элемент M0 = M4 = 0
I1,I5 - указатель на следующий элемент (M1 = M5 = 1)

Код:
{1. сохраним младшее слово в AR и загрузим новое значение в MX0,MY0}
AR = pass MR0, MX0=DM(I1,M1), MY0=PM(I5,M5);
{2. Сохраним старшее слово и перегрузим MR = МладшееСлово*1 }
PM(I4,M5) = MR1, MR = MX0*MY1 (UU);
{3. Сохраним младшее слово и вычислим MR как МладшееСлово + СтаршееСлово<<16}
DM(I0,M1)=AR, MR=MR+MX1*MY0 (UU);

Мн начинает нравится этот ассемблер :-))

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru