Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Макрокоманда на ассембелере  (Прочитано 22236 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
lansss5
Новенький

ru
Offline Offline

« : 05-12-2015 10:33 » 

#define copy(src;dest)
AR=DM(src) \ <-------------------------------текст макрокоманды
PM(dest)=AR < ------------------------------текст макрокоманды

Для чего нужна это макрокоманда в программе, как ее там использовать и конкретный пример
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 07-12-2015 14:13 » 

DM, PM - это как-то намекает на память данных и программ. Макрос используется для перемещения слова данных в программную память.

Это часом не Analog Devices 21xx?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
lansss5
Новенький

ru
Offline Offline

« Ответ #2 : 08-12-2015 22:36 » new

да, именно этот аналог дивайс, но ответ уже нашел, но все равно спасибо))
Есть еще такой вопрос, стоит линейный детектор, для выпрямление сигнала, представляющий собой ФНЧ, детектер однополупериодный, правильного ли я его написал?
fnch:
ENA SEC_REG;
        I6 = coef_buffer9; 
        L6 = 0;
        M6 = 1;         
        CNTR = ldbuf_less_one;
        DM(I1,M1)=AR;       
        MR=0, MX0=DM(I1, M1), MY0=PM(I6, M6);
        DO top UNTIL CE; 
top:    MR=MR+MX0*MY0(SS), MX0=DM(I1,M1), MY0=PM(I6,M6);
        MR=MR+MX0*MY0(RND); 
        IF MV SAT MR;     
        RTS;
fnch.end:
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 09-12-2015 00:13 » 

Я тут вижу просто SUM(Xi * Ki). На этом можно сделать FIR-фильтр.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
lansss5
Новенький

ru
Offline Offline

« Ответ #4 : 09-12-2015 08:09 » 

FIR фильтр реализован у меня вот так
ppf:
ENA SEC_REG;
        L4 = 0;
        M4 = 1;
        CNTR = ldbuf_less_one;       
        SI = RX0;       
        DM(I0, M0)=SI;
        MR=0, MX0=DM(I0, M0), MY0=PM(I4, M4);
        DO top0 UNTIL CE;         
top0:  MR=MR+MX0*MY0(SS), MX0=DM(I0,M0), MY0=PM(I4,M4);
        MR=MR+MX0*MY0(RND); 
        IF MV SAT MR;
         
        rts;
ppf.end:
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines