Чтение онлайн

на главную - закладки

Жанры

Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++

Вальпа Олег Дмитриевич

Шрифт:

.var/dm/ram/circ buf_dm[0x3fdf]; { Циклический буфер в памяти данных }

jump BEGIN; nop; nop; nop; { Вектор прерывания сброса процессора }

rti; nop; nop; nop; { Вектор прерывания IRQ2 }

rti; nop; nop; nop; { Вектор прерывания IRQL1 }

rti; nop; nop; nop; { Вектор прерывания IRQL0 }

rti; nop; nop; nop; {
Вектор прерывания SPORT0 TX }

rti; nop; nop; nop; { Вектор прерывания SPORT0 RX }

rti; nop; nop; nop; { Вектор прерывания IRQE }

rti; nop; nop; nop; { Вектор прерывания BDMA }

rti; nop; nop; nop; { Вектор прерывания SPORT1 TX (IRQ1) }

rti; nop; nop; nop; { Вектор прерывания SPORT1 RX (IRQ0) }

rti; nop; nop; nop; { Вектор прерывания TIMER }

rti; nop; nop, nop; { Вектор прерывания POWER DOWN }

/************** начало программы ************************************/

BEGIN: { Метка начала программы }

 ax0 = b#0111111110000000; dm(pftype) = ax0; {Инициализация флагов PF}

{ │└┬┘││││76543210 }

{ │ │ ││││└+++++++ - PF0-PF7: 0-вход 1-выход }

{ │ │ │││└──────── - PM - выход -CMS }

{ │ │ ││└───────── - DM | 0-запрещен }

{ │ │ │└────────── - BM | 1-разрешен }

{ │ │ └─────────── - IOM-- }

{ │ └───────────── - От 0 до 7 циклов задержки BDMA }

{ └ He используется, всегда=0 }

 ax0 = b#0000000010000000; dm(PFDATA) = ax0;{Управление светодиодом }

{ 76543210 }

{ │ └──┴ - Вход:Код клавиш }

{ └─────── - Выход:Светодиод }

 i0 = ^buf_dm; {
Индексный регистр i0=адресу начала буфера }

 l0 = %buf_dm; { Регистр длины l0=длине буфера }

 m0 = 1; { Регистр модификатора m0=1 }

 ar = 0x1234; { Записать данные в рабочий регистр ar }

 cntr=10; { Загрузить счетчик циклов }

 do CLR_DM until се; { Выполнять до CLR_DM пока счетчик не обнулится }

dm(i0, m0) = ar; { Заполнение очередной ячейки памяти данных }

 CLR_DM:nop; { Пустая команда }

 toggle fl2; { Инвертировать вывод процессора FL2 }

 dm(0) = ar; { Заполнение ячейки памяти данных с адресом 0 }

 ar = ar + 1; { увеличивающимися значениями }

 ax0 = dm(PFDATA); { Читать код клавиш }

 dm(1) = ax0; { и записать в ячейку памяти данных по адресу 1}

 jump CLR_DM; { Зациклить программу }

.endmod; { Конец программы }

Имя данного файла можно изменить на любое другое, длиной от одного до восьми символов, разрешенных для имен файлов. Расширение «dsp» выбрано не случайно. При трансляции программы, компилятор будет искать файл программы именно с таким расширением. Если он не найдет такой файл, то выведет сообщение Preprocessor failed to open mem_clr.dsp.

Рассмотрим структуру и состав приведенного выше файла. Как видно из примера, в начале файла программы находится описание назначения программы, ее версии и пр. атрибуты, заключенные между символами /* и */ в качестве комментариев. Далее следуют три строки директив с комментариями, описывающими назначение этих директив и заключенными между фигурными скобками. Фигурные скобки также предназначены для вставки комментариев в программу. Файл def2181.h, включаемый в файл программы с помощью директивы #include, состоит из строк, присваивающих символьным именам регистров значение их адресов в области памяти данных процессора.

Использование символьных имен позволяет записывать в программе не конкретные цифровые значения адресов или данных, а их словесные описания, более понятные и легче запоминающиеся. Это делается для придания программе наглядности, предотвращения машинальных ошибок во время ее создания и облегчения ее понимания. Содержимое файла def2181.h приведено ниже.

.const IDMA= 0x3fe0;

.const BDMA_BIAD= 0x3fe1;

.const BDMA_BEAD= 0x3fe2;

Поделиться:
Популярные книги

Адвокат Империи 3

Карелин Сергей Витальевич
3. Адвокат империи
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Адвокат Империи 3

Кротовский, может, хватит?

Парсиев Дмитрий
3. РОС: Изнанка Империи
Фантастика:
попаданцы
альтернативная история
аниме
7.50
рейтинг книги
Кротовский, может, хватит?

Дурная жена неверного дракона

Ганова Алиса
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Дурная жена неверного дракона

Вонгозеро

Вагнер Яна
1. Вонгозеро
Детективы:
триллеры
9.19
рейтинг книги
Вонгозеро

Ведьма Вильхельма

Шёпот Светлана
Любовные романы:
любовно-фантастические романы
8.67
рейтинг книги
Ведьма Вильхельма

Папина дочка

Рам Янка
4. Самбисты
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Папина дочка

Законы Рода. Том 6

Flow Ascold
6. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 6

Как я строил магическую империю 7

Зубов Константин
7. Как я строил магическую империю
Фантастика:
попаданцы
постапокалипсис
аниме
фантастика: прочее
5.00
рейтинг книги
Как я строил магическую империю 7

Лучший из худший 3

Дашко Дмитрий
3. Лучший из худших
Фантастика:
городское фэнтези
попаданцы
аниме
6.00
рейтинг книги
Лучший из худший 3

Штурмовик из будущего 3

Политов Дмитрий Валерьевич
3. Небо в огне
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Штурмовик из будущего 3

Последний попаданец 2

Зубов Константин
2. Последний попаданец
Фантастика:
юмористическая фантастика
попаданцы
рпг
7.50
рейтинг книги
Последний попаданец 2

Идеальный мир для Лекаря 14

Сапфир Олег
14. Лекарь
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 14

Безумный Макс. Поручик Империи

Ланцов Михаил Алексеевич
1. Безумный Макс
Фантастика:
героическая фантастика
альтернативная история
7.64
рейтинг книги
Безумный Макс. Поручик Империи

Вдова на выданье

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Вдова на выданье