Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++ - [13]
Введите текст этой программы в компьютер с помощью любого текстового редактора и сохраните в файле с именем mem_clr.dsp или скопируйте с компакт-диска, прилагаемого к данной книге.
>/***********************************************************/
>/* Программа mem_clr загружается в память программ и после */
>/* запуска заполняет память данных сигнального процессора */
>/* с адреса 0x0000 по адрес 0x3fdf числовыми значениями */
>/* */
>/* Версия: 1.0 */
>/* Автор: О.Д.Вальпа */
>/***********************************************************/
>.module/RAM/ABS=0 mem_clr; { Модуль памяти mem_clr с адреса 0 }
>.include
>.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 приведено ниже.
Эта книга не просто энциклопедический перечень виноделов и виноградарей, но одновременно и учебник, и покупательский гид. Ее цель — превратить вас в более знающего и уверенного покупателя, достаточно осведомленного о «закулисных» деталях, чтобы при покупке вина вы могли сделать самый разумный выбор.
Выбор и покупка подержанного автомобиля в России до недавнего времени были лотереей. Проигрыш в этой лотерее означал сотни тысяч рублей, выпущенных на ветер. Однако эта книга, представляющая собой краткое руководство по приобретению б/у машины, а также услуги нашего сервиса «АвтоКод» помогут свести риск нарваться на мошенников к нулю!
Форматирование файла не завершено (Stribog).Эти не только древние, но и интересные рецепты не потеряли актуальности и в нынешнее время. Правда, хочу заметить, что не все из них безопасны. Особенно те, где используется ртуть и соли тяжелых металлов (в частности это касается раздела «Парфюмерия»). Так что думайте Сами.С уважением, Сергей Каштанов.
Руководство предназначается для изучения тактико-технических характеристик, устройства принципа действия, правил применения, хранения и транспортировки противотанковой мины ТМ-72 и минного взрывателя МВН-72.
rufb2edit 0.0.908 сен 2015http://lifehacker.ru/2015/01/22/chitat-v-3-raza-bystree/web2fb2_201509080815_87756238791.0Учимся читать в три раза быстрее за 20 минут - ЛайфхакерИя Зорина 22 января 2015Учимся читать в три раза быстрее за 20 минутУмение быстро читать освобождает кучу свободного времени. Только представьте, вы можете в три раза быстрее справляться со всей литературой — технической, профессиональной или художественной. А теперь приятная новость: в отличие от большинства навыков, которые нужно осваивать постепенно, скорочтение доступно вам уже через 20 минут тренировки.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.