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

io(0x0001)=ax0; { Запись этого адреса с переключением линий -IS и IAL }


/*** Запись по адресу 0x0000 ***/

i6=^x_input;    { Указатель на начало буфера данных            }

call check_ack; { Проверить готовность к приему                }

call format;    { Форматировать данные                         }

io(0x0100)=ay0; { -IWR и IS записывают старшие 16 бит IAD 0-15 }

call check_ack; { Проверить готовность к приему                }

io(0x0100)=ay1; { -IWR и IS записывают младшие 8 бит IAD 0-15  }

idle;           { Режим ожидания                               }


/****************************************************************/

/* Подпрограмма переформатирования 24-бит слова памяти программ */

/****************************************************************/

format: ay0=pm(i6,m6); { 16 старших бит запомнить в регистре ay0 }

ay1=px;                {  8 младших бит запомнить в регистре ay1 }

rts;


/***************************************************************************/

/* Подпрограмма ожидания перехода состояния линии -IACK в низкое состояние */

/***************************************************************************/

check_ack:

ax0=dm(0x3fе5);       { Читать PF1, который подключен к -IACK             }

ar=tstbit 1 of ax0;   { Анализировать PF1                                 }

if ne jump check_ack; { Если процессор не готов вновь контролировать -IACK}

rts;

.endmod;

Многие директивы и команды данной программы уже знакомы читателям из описания предыдущей программы. Текст программы прокомментирован, что позволяет без труда понять алгоритм ее работы. Как видно из текста, в программе использован ряд подпрограмм, в которых сосредоточены часто используемые операции. Вызов данных подпрограмм осуществляется командой call, после которой записывается имя подпрограммы. Команда io(0x0001)=ax0 осуществляет запись содержимого регистра ax0 в порт ввода- вывода по адресу 0x0001. Команда ar=tstbit 1 of ax0 заносит в регистр ar результат тестирования первого разряда регистра ax0. Следующая за этой, команда if ne jump check_ack проверяет состояние флагов ALU и осуществляет переход на метку check_ack, если результат проверки предыдущей операции был отрицательным. Подробнее со всеми командами сигнального процессора ADSP-2181 мы познакомимся позже.

При компиляции этой программы, все данные из файла idmaidma.dat будут автоматически помещены в файл загрузки idmaidma.lda. В качестве файла данных idmaidma.dat можно использовать загрузочный файл рассмотренной нами ранее программы mem_clr.lda, из которого предварительно следует удалить первые три и последние две служебные строки. Данную операцию можно выполнить с помощью любого текстового редактора. После чего файл необходимо переименовать, задав ему имя idmaidma.dat. Кроме того, можно изменить имя загружаемого файла в самой программе.

Глава 11. Директивы ассемблера

В этой главе говорится о директивах, которые используются для управления процессом ассемблирования программ.

Перейти на страницу:

Все книги серии Современная электроника

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

Книга предназначена для самостоятельного изучения и применения на практике цифровых сигнальных процессоров DSP (Digital Signal Processor). На примере популярной микросхемы ADSP2181 фирмы Analog Devices рассмотрены устройство, архитектура и технические характеристики цифрового сигнального процессора. Приведено описание вычислительных блоков процессора, средств разработки программного обеспечения, языка программирования и системы команд процессора. Разработанные автором книги практические схемы с применением сигнального процессора, исходные тексты программ и схемы вспомогательных устройств, полезных при отладке программ для процессора помогут получить необходимые практические навыки, с помощью которых читатель легко освоит другие типы сигнальных процессоров. На прилагаемом к книге диске находятся исходные тексты и исполняемые файлы программ, а так же некоторые полезные утилиты и средства разработки программного обеспечения для сигнальных процессоров.Для специалистов в области разработки цифровой электронной аппаратуры, будет полезна студентам и аспирантам.

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

Справочники

Похожие книги

Жизнеобеспечение экипажей летательных аппаратов после вынужденного приземления или приводнения (без иллюстраций)
Жизнеобеспечение экипажей летательных аппаратов после вынужденного приземления или приводнения (без иллюстраций)

Книга посвящена актуальной проблеме выживания человека, оказавшегося в результате аварии самолета, корабля или РґСЂСѓРіРёС… обстоятельств в условиях автономного существования в безлюдной местности или в океане.Давая описание различных физико-географических Р·он земного шара, автор анализирует особенности неблагоприятного воздействия факторов внешней среды на организм человека и существующие методы защиты и профилактики.Р' книге широко использованы материалы отечественных и зарубежных исследователей, а также материалы, полученные автором во время экспедиций в Арктику, пустыни Средней РђР·ии, в тропическую Р·ону Атлантического, Р

Виталий Георгиевич Волович

Приключения / Медицина / Природа и животные / Справочники / Биология / Словари и Энциклопедии