LRCross (Весь материал к лабораторной работе №6 по ВС и МПТ), страница 3
Описание файла
PDF-файл из архива "Весь материал к лабораторной работе №6 по ВС и МПТ", который расположен в категории "". Всё это находится в предмете "вычислительные сети и системы" из 7 семестр, которые можно найти в файловом архиве МАИ. Не смотря на прямую связь этого архива с МАИ, его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "вычислительные системы и микропроцессоры" в общих файлах.
Просмотр PDF-файла онлайн
Текст 3 страницы из PDF
Во втором случае нужно своевременно инкрементировать (увеличитьна 1) содержимое H-L перед записью очередного отсчета в память.Текст программы на языке ассемблера представлен на рис.2. Псевдокомандой(директивой) ассемблера EQU определяется значение адреса массива входныхотсчетов ВХ, а псевдокомандой DS – резервируется 19 байт под массив выходныхотсчетов. Все числовые значения (адреса и непосредственные операнды) могутзаписываться в программе либо шестнадцатеричными символами с префиксом h’,либо десятичными – без префикса или двоичными с префиксом – b’.
Так число 1810записывается как h’12, Метки требуется отделять от обозначения командыдвоеточием, а комментарии начинать символом «;». Блок 6 структурной схемы впрограмме помечен меткой CIKL.ПРОГРАММА ОБРАБОТКИ ПАЧКИ ИМПУЛЬСОВ С ПОМОЩЬЮДВУКРАТНОЙ СИСТЕМЫ ЧПКCIKL:KON:BY:.EQULXILXIPOPMOVSUBMOVMOVMVIPOPSUBSUBADDINXMOVDCRJZMOVSUBSUBADDINXMOVMOVMOVDCRJNZHLT;.DS.END;BX, h'12B0;H, BY;SP, BX;B;A, C;B;M, A;A, C;C, 12;D;B;B;E;H;M, A;C;KON;A, B;E;E;D;H;M, A;A, E;B, D;C;CIKL;19;ЗАДАНИЕ СИМВОЛ. АДРЕСА BXЗАГР. АДРЕСА МАССИВА BY B H-LЗАГР. АДРЕСА МАССИВА BX В SPЗАГР. B <= X (2), С <= X (1)ЗАГР. А < = X (1)(А) = X (1) - X (2) = Y (1)ЗАНЕСЕНИЕ Y (1) В ПАМЯТЬЗАГРУЗКА X (1) В АККУМУЛЯТОРЗАГР. С - СЧЕТЧИКА ОТСЧЕТОВЗАГР.
D < = X (К+1) , Е < = X (К)(А) = (A) – X (К-1)(A) = (A) – X (К-1)(A) = (A) + X (К) = Y(К)ИНКРЕМЕНТ АДРЕСА В H-LЗАНЕСЕНИЕ Y (К) В ПАМЯТЬДЕКРЕМЕНТ СЧЕТЧИКА ЦИКЛОВВЫXОД ИЗ ЦИКЛА , ЕСЛИ (С) =0ЗАНЕСЕНИЕ В АККУМУЛЯТОР X (К-1)(A) = (A) - X (К)(A) = (A) - X (К)(A) = (A) - X (К+1) = Y (К+1)ИНКРЕМЕНТ АДРЕСА В H-LЗАНЕСЕНИЕ Y (К+1) В ПАМЯТЬ(А) = X (К)(B) = X (К+1)ДЕКРЕМЕНТ СЧЕТЧИКА ЦИКЛОВВОЗВРАТ НА CIKL, ЕСЛИ (С) > 0ОСТАНОВ ПРОЦЕССОРАРЕЗЕРВ. 19 БАЙТ ПОД МАССИВ BYКОНЕЦ ПРОГРАММЫРис. 2На рис.3 приведен листинг трансляции исходной программы кросс-ассемблеромPseudoSam 85 (исполняемый файл A85.com). Первая колонка каждой строки листинга– номер строки исходного текста, вторая колонка – адрес или константа,определенная директивой EQU, четвертая – машинный код процессора(шестнадцатеричный результат трансляции), пятая – мнемоника команды, шестая –операнды команды, седьмая – комментарий.– 11 –000001 12B0000002 0000 212400000003 0003 31B012000004 0006 C1000005 0007 79000006 0008 90000007 0009 77000008 000A 79000009 000B 0E0C000010 000D D1000011 000E 90000012 000F 90000013 0010 83000014 0011 23000015 0012 77000016 0013 0D000017 0014 CA2300000018 0017 78000019 0018 93000020 0019 93000021 001A 82000022 001B 23000023 001C 77000024 001D 7B000025 001E 42000026 001F 0D000027 0020 C20D00000028 0023 76000029 0024000030 0024.EQULXILXIPOPMOVSUBMOVMOVMVICIKL:SUBSUBADDINXMOVDCRJZMOVSUBSUBADDINXMOVMOVMOVDCRJNZKON:BY:.END;BX, h'12B0;H, BY;SP, BX;B;A, C;B;M, A;A, C;C, 12;POP D;B;B;E;H;M, A;C;KON;A, B;E;E;D;H;M, A;A, E;B, D;C;CIKL;HLT;.DS19;ЗАДАНИЕ СИМВОЛ.
АДРЕСА BXЗАГР. АДРЕСА МАССИВА BY B H-LЗАГР. АДРЕСА МАССИВА BX В SPЗАГР. B <= X (2), С <= X (1)ЗАГР. А < = X (1)(А) = X (1) - X (2) = Y (1)ЗАНЕСЕНИЕ Y (1) В ПАМЯТЬЗАГРУЗКА X (1) В АККУМУЛЯТОРЗАГР. С - СЧЕТЧИКА ОТСЧЕТОВЗАГР. D < = X (К+1) , Е < = X (К)(А) = (A) – X (К-1)(A) = (A) – X (К-1)(A) = (A) + X (К) = Y(К)ИНКРЕМЕНТ АДРЕСА В H-LЗАНЕСЕНИЕ Y (К) В ПАМЯТЬДЕКРЕМЕНТ СЧЕТЧИКА ЦИКЛОВВЫXОД ИЗ ЦИКЛА , ЕСЛИ (С) =0ЗАНЕСЕНИЕ В АККУМУЛЯТОР X (К-1)(A) = (A) - X (К)(A) = (A) - X (К)(A) = (A) - X (К+1) = Y (К+1)ИНКРЕМЕНТ АДРЕСА В H-LЗАНЕСЕНИЕ Y (К+1) В ПАМЯТЬ(А) = X (К)(B) = X (К+1)ДЕКРЕМЕНТ СЧЕТЧИКА ЦИКЛОВВОЗВРАТ НА CIKL, ЕСЛИ (С) > 0ОСТАНОВ ПРОЦЕССОРАРЕЗЕРВ.
19 БАЙТ ПОД МАССИВ BYКОНЕЦ ПРОГРАММЫКонстанты, определенные ассемблером:=12B0BXBY=0024CIKL =000DKON =0023Рис. 3Одновременно с листингом программы кросс-ассемблером формируется файлобъектного модуля, содержащий только управляющие коды микропроцессора КР580.Файл создается на той же папке, в которой записана исходная программа. Принеобходимости его можно просмотреть на экране дисплея или распечатать спомощью принтера.Порядок выполнения работы1.
Получить у преподавателя задание на разработку программы.2. Составить структурную схему программы и утвердить ее у преподавателя.3. Подготовить программу на языке ассемблера.4. Записать программу в файл на магнитном диске под именем«имяпрограммы.ASM», пользуясь экранным редактором текстов.5. Выполнить трансляцию программы кросс-ассемблером A856. При наличии синтаксических ошибок в программе просмотреть файл листинга«имяпрограммы.lst».
С помощью редактора текстов, исправить очевидные ошибки,вызвав на редактирование файл «имяпрограммы.ASM», и провести повторнуютрансляцию программы.7. Вывести файл листинга «имяпрограммы.lst» на печать.– 12 –8. Проанализировать оставшиеся ошибки, а также особенности трансляциидвухбайтовых и трехбайтовых команд, представления абсолютных адресов влистинге программы.9. Подсчитать время выполнения программы в машинных тактах, пользуясьПриложением 1.10. Запустить эмулятор выполнения программ процессора i8085 – файлAVSIM85.EXE11.
Выполнить программу в пошаговом режиме с помощью эмулятора иотладчика AVSIM85.12. Убедиться в правильности выполнения кода программы.Содержание отчета1. Задание на разработку программы.2. Структурная схема программы.3. Листинг трансляции программы.4. Пояснения ошибок в листинге и результат подсчета времени выполненияпрограммы.Контрольные вопросы1.
Поясните различия резидентного и кросс-программного обеспечения.2. Каково назначение трансляторов, интерпретаторов, редакторов связей,компоновщиков, загрузчиков, отладчиков, редакторов текста, эмуляторов?3. В чем преимущества языка ассемблера перед языками высокого уровня присоставлении управляющих программ устройств обработки сигналов?4.
Какие этапы обработки проходит программа управления микропроцессорнойсистемой, написанная на алгоритмическом языке внешней ЭВМ до момента ее записив ПЗУ микропроцессорной системы?5. Какие требования предъявляются к управляющим программаммикропроцессорных устройств обработки сигналов?6. Укажите пути оптимизации управляющих программ по объему требуемойпамяти и быстродействию.Литература1. Бруханский А.В., Жуков С.Г., Карташкин А.С. Микропроцессорные устройстваобработки радиолокационной и радионавигационной информации. – М., МАИ, 19872.
Алексеенко А,Г, Галицын А.А., Иванников А.Д. Проектированиерадиоэлектронной аппаратуры на микропроцессорах. - М.,Радио и связь, 1984.3. Материалы веб-сайта кафедры 403 по 8-разрядным микропроцессорам(http://kaf403.rloc.ru/).– 13 –ПРИЛОЖЕНИЕ 1. ПЕРЕЧЕНЬ КОМАНД МП СЕРИИ КР580 (i8080)Обозначения:r или r1 или r2 – один из регистров микропроцессора A, B, C, D, E, H, L;А -аккумулятор ;(r), (r1), (r2), (A) - содержимое регистров ;rp – одна из регистровых пар B (B-C), D (D-E), H (H-L) или указатель стека SP ;data8 - однобайтовая константа (непосредственный операнд);data16 – двухбайтовая константа (непосредственный операнд) ;addr – двухбайтовый адрес основной памяти или метки программы;port – однобайтовый адрес внешнего устройства или его символическоеобозначение.Операнд, обозначаемый в команде символом М, указывает ячейку памяти, адрескоторой находится в паре регистров H- L.Коды регистров источника (SSS) и приемника (DDD) указаны в таблице 2.Признаки результата (S, Z, Р, С и АС) устанавливаются лишь при выполнениибольшинства арифметических и логических команд, а также команды POP PSW.
Втабл. 1 для каждой из команд дан перечень устанавливаемых признаков (в командахINX, DCX и СМА признаки не устанавливаются).В командах условного перехода, условного обращения к подпрограмме иусловного возврата из подпрограммы используются коды условий (ССС) из табл. 3.Мнемонические обозначения этих команд составляются из символов J, С или R исоответствующих символов (cc) из табл.
3 (например, JNC, CP, RM).Число тактов, необходимых для исполнения команд условного обращения кподпрограмме и условного возврата из подпрограммы, зависит от того, выполнено(знаменатель дроби) или не выполнено (числитель дроби) условие, указанное вкоманде.Табл. 1. Команды процессора КР580ИК80А (i8080)– 14 –– 15 –Табл. 2. Коды регистров и пар регистров, используемые в командах МПКодИмя ( r )000001010011ВСDEРегистрыКод100101110111Имя ( r )HLM (память)А (аккумулятор)Пары регистровИмя парыРегистры пары(rp)старший младшийBBCDDEHHLPSWAPSWКод(RP)00011011Табл. 3.
Коды условий, используемые в командах условных переходовКод(ССС)Мнемоника (cc)000010100110NZNCРОРУсловиеНе нуль (Z=0)Нет переноса (С = 0)Нечетность (Р = 0)Плюс (S = 0)Код(ССС)Мнемоника (cc)Условие001011101111ZСРЕМНуль (Z = l)Перенос (С = 1)Четность (Р = 1)Минус (S = l)– 16 –Приложение 2. Команды эмулятора AVSIM85Управление эмуляцией<F1>Пуск/Стоп – старт процесса выполнения программы и его приостановка<F10> Шаг - эмуляция выполнения одной команды процессора<F9>Отменить – Возврат на одну команду назад<F2>Переместить указатель точки прерывания на шаг вверх<F4>Переместить указатель точки прерывания на шаг вниз<F3>Установка ТП - Установить динамическую точку прерывания в месте положенияуказателя<F5>Скорость – установка скорости процесса эмуляцииУправление переключателями<Ctrl>+<Page Up> - переключение режима прокрутки областей отображения памятиMemory Space, содержимого регистров и областей памяти, отображаемых справаот содержимого регистров процессора<Alt>+<F5> Переключение "Метка/Адрес": Адреса и операнды отображаются либосимволически (Label), либо в шестнадцатеричном формате (ADDR)<F6>Включение/Выключения обновления экрана после выполнения каждой инструкциив режиме автоматического выполнения программыON: Экран обновляется после каждой выполненной командыOFF: Обновляется только окно трассировки до момента прерывания<Alt>+<F6> Переключение режима обновленияON: Окно обновляется даже когда переключатель обновления трассировки экранав состоянии OFFOFF: Окно обновляется только если переключатель обновления экрана – всостоянии ON<F7>Тип курсора - Hex / ASCII / Binary (Шестнадцатер./Символьный/Двоичный).Курсор перемещается к месту соответствующего отображению выбранногообъекта, если тот отображается в разных формах<F8>Переключение обхода вызовов подпрограммSKIP ON – выполнение подпрограммы по команде CALL за один шаг, без еепошагового выполненияSKIP OFF – трассировка подпрограммы, вызванной командой CALL.Меню команд управленияБольшинство команд и подкоманд, перечисленных в нижней строке окна эмулятора,вызывается при нажатии клавиши с начальной буквой команды.Esc – переключает положение курсора из меню команд на экран отображения состояниямикропроцессора и памяти и обратно.
Клавиши управления процессом эмуляции иклавиша Esc продолжают работать все время.Ctl-C – позволяет выйти из любой команды на меню верхнего уровня.Quit – выход из программы эмулятора. Для подтверждения выхода необходимо выбратьподкоманду Exit или нажать клавишу «E».Load – Загрузка программы или блока данных из объектного файла в шестнадцатеричном формате.