Скачать 322.46 Kb.
|
Часть 2. Отладка программы с помощью симулятора AVSIM85 и исследование принципов взаимодействия функциональных блоков микроЭВМ и МП I8085A (1821ВМ85) при реализации программы Отладка и исследование выполняется с помощью программного эмулятора AVSIM85, требующий настройки под микроЭВМ, для которой разрабатывается программа Proc_ADD. Этап 1. Подготовка программного эмулятора AVSIM85 к исследованию. Целью этапа является
Процедура конфигурирования являлась предметом изучения в Лабораторной работе №2. Поэтому целесообразно лишь коротко выделить основные шаги процедуры. Шаг1. Активизация среды симулятора с одновременным конфигурированием средств обмена данными с внешними устройствами Так как обмен данных с внешними устройствами ввода/вывода программой Proc_ADD – не предусмотрен, то Симулятор можно активизировать в любой из доступных конфигурации A,B,C,D. Рекомендуется конфигурация ‘голого’ процессора I8085– режим А. Шаг2.. Конфигурирование адресного пространства памяти микроЭВМ Замечание. Необходимо помнить, что после запуска симулятора (до конфигурирования) эмулируется микроЭВМ, имеющая только один тип памяти – ROM (READ ONLY MEMORY). Тем не менее, для прогона программы Proc_ADD необходимы три ячейки оперативной памяти (RAM) для записи и хранения операндов и приема результата суммирование. Конфигурирование адресного пространства микроЭВМ для выполнения задания состоит в выделении из общего адресного пространства памяти сегмента данных (RAM) объемом, как минимум три ячейки. Процедура настройки памяти описана в методических указаниях к лабораторной работе №2 – “ Исследование структуры простейшей микроЭВМ и процессора I8085A”. Адреса ячеек должны быть известны. Например, в программе Proc_ADD начальный и конечный адреса заданного сегмента данных – соответственно, 0800h ¸ 0802h. Шаг3. Отображение на экране программного эмулятора массива RAM, выделенного для хранения данных. Это позволит в дальнейшем решить три задачи. Первое. Вводить в оперативную память текущие значения операндов Второе. Контролировать состояние оперативной памяти в ходе выполнения программы Третье. Сохранить значение полученной суммы в выделенной для этого ячейке. Процедура визуализации выделенного массива RAM – исследована ранее. Рекомендуется использовать DUMP2 метаокна Screen программного имитатора. Целью следующего этапа работы является подготовка к отладке и исследования программы Proc_ADD путем ввода в программный имитатор её загрузочного модуля. Этап 2. Ввод программы. В моделирующий отладчик необходимо ввести загрузочный модуль name.hex . Для этого: Шаг 1. Активизируется в строке “Меню” команда Load. В подчиненном меню выбирается и активизируется команда Program. На запрос: Enter filename_ вводится имя загрузочного модуля с расширением .hex. Шаг 2. Загруженная программа активизируется в специальном подокне “OPERATION” (Программа) метаокна Screen. Для этого в поле PC: 0000 подокна CPU REGISTERS вводиться начальный адрес программы. При правильном выполнении перечисленных процедур в окне Программа формируется текст программы в виде мнемокодов с указанием адресов первых байтов команд. Замечание 1. Текст программы “восстанавливается” из кодов загрузочного модуля встроенным в среду SIM85 дизассемблером. Замечание 2. Следует иметь в виду, что в поле data (правее поля PC: 0100) отображается “ прокручивающаяся “ линейка из восьми байт кода программы. На рисунке 7 показано окно программного эмулятора. После ввода программы Proc_ADD. Шаг 3. Визуализация массива программной памяти, содержащего машинный код загруженной программы. Процедура выполняется для контроля состояния программной памяти и выполняется по известной процедуре. При этом используется свободный DUMP1 окна Screen (Рис.7). После выполнения Этапов 1 – 4 можно приступать к основной части работы. Этап 5. Исследование с помощью симулятора AVSIM85 принципов взаимодействия функциональных блоков микроЭВМ и МП I8085A (1821ВМ85) при реализации программы PROC_ADD. Шаг 1. Подготовка контрольных примеров для прогона программы. В качестве исходных используются данные и результаты Задания 1 Части 3 из Лабораторной работы 1. “Основы машинной арифметики.”, выполненной ранее. Вариант соответствующего Задания представлен в Примере 4. Пример 4. Вариант Лабораторной работы 1.Основы машинной арифметики (Данные части 3 пункта1, используемые в качестве операндов при выполнении Proc_ADD – выделены). Исследуется сложение чисел, заданных в пункте1 Части3 (выделено). При подготовке контрольных примеров для их реализации программой Proc_ADD необходимо:
Шаг 2. Введение первой пары операндов А и В в соответствующие ячейки оперативной памяти. Операция выполняется по следующей процедуре: Переход в окно Screen → введение вручную операндов в ячейки памяти в DUMP2. Замечание. Операнды вводятся в шестнадцатеричной системе счисления. Шаг 3. Исполнение программы Proc_ADD . Программа выполняется в пошаговом режиме. Для этого, последовательно нажимается клавиша F10, которая инициирует исполнение текущей команды. Замечание 1. Текущей наз. команда, следующая за командой, исполненной на предшествующем шаге. Текущая команда выделена в двух подокнах окна Screen. Во-первых, мнемокод такой команды выделен (“подсвечен”) в подокне “OPERATION” (Программа). Во-вторых, в поле data (правее поля PC: хххх) выделен первый байт текущие команды. Замечание 2. Нажатием клавиши F9, обеспечивается, при необходимости, возврат на любое количество команд назад. На этом этапе исследования необходимо перед каждым шагом и после него фиксировать состояние вычислительных ресурсов микроЭВМ. Ресурсом называется внутренний функциональный узел процессора или устройство микроЭВМ, которые участвуют в выполнении программы. Фиксируются состояния только ресурсов, задействованных при исполнении текущей команды. На каждом шаге заполняется строка Таблицы 1. При заполнении последнего столбца таблицы сначала активизируется счетчик тактов (Cycles:)), а затем разностным методом определяется суммарное число тактов необходимое для выполнения команды. Таблица 1— Состояния ресурсов при выполнении программы.
Замечание 3. Данные, структурированные в виде Таблицы1 наз. трассировкой. Составление и анализ трассировки – апробированный в практике способ отладки программного обеспечения и проверки состояния микроЭВМ. Замечание 4. Необходимо учитывать, что состояние признаков результата должно быть зафиксировано в трассировке в виде шестнадцатеричного двухразрядного числа (RF) = XXh. Такое число строится на основе видимых в подокне FLAGS отладчика признаков и с учетом формата регистра признаков.. На рис.8 еще раз приведен фактический формат регистра признаков процессора. При записи состояния Регистра признаков в виде шестнадцатеричного числа необходимо соответствующим образом перегруппировать видимые на экране симулятора признаки, “ вставить” их значения в формат RF, учтя при этом значения и положение постоянных разрядов – 001. Полученный при этом двоичный код перевести в шестнадцатеричную систему счисления. Шаг3 повторяется до исполнения последней команды исследуемой программы. После выполнения программы необходимо зафиксировать значение полученной суммы и соответствующее ей состояния признаков. Полученные значения сравниваются с соответствующими значениями контрольных примеров. При совпадении можно переходить к следующему шагу. В противном случае необходимо обнаружить причину ошибки и устранить её. Замечание. Ошибки могут быть вызваны следующими причинами
Шаг4. В соответствии с действиями, предусмотренными Шагом2 и Шагом3, выполняется загрузка в соответствующие ячейки оперативной памяти новых значений операндов OP1 и OP2. . Затем выполняется пошаговый прогон программы, и контролируются полученные результаты. Внимание. При сложении второй пары слагаемых трассировку можно не выполнять. На этом экспериментальная часть исследования заканчивается. Часть 3. Анализ полученных результатов и оформление отчета. Этап 1. Аналитическая часть исследования. Аналитическая часть исследования выполняется самостоятельно и заключается в анализе и интерпретации результатов, полученных в экспериментальной части. Для анализа необходимо использовать структурные схемы микроЭВМ и микропроцессора, а также Систему команд процессора I8085. В частности необходимо:
Исходным наз. состояние до выполнения первой команды программы.
2.1. состояние ресурсов до выполнения команды 2.2. состояние ресурсов после выполнения команды
3.1. определить источник и приемник информации 3.2. направление обмена (от процессора к внешнему модулю, от внешнего модуля к процессору)
Замечание. Для выполнения п.5–6 необходимо использовать характеристики команд из Системы команд процессора I8085 (Приложение 1). Этап 2. Оформление отчета Отчет должен содержать.
Замечание. На модели необходимо выделить 3.1 массив для размещения программных кодов и заполнить его, используя данные загрузочного модуля 3.2 массив для слагаемых и суммы и заполнить его (для двух пар слагаемых). Содержание ячеек сумм заполняется после прогона программы 4. Нарисованную информационную структуру загрузочного модуля, с разметкой программных кодов (графически изобразить соответствие: код команды → мнемоника команды; 5. Контрольные примеры в шестнадцатеричной и двоичной системах счисления. 5.1 Вычисленные значения признаков результата. 5.2 Рисунок, иллюстрирующий распределение фактических признаков в RF процессора. 5.3. Зарисовать фактическое значения суммы и признаков (окно 1 метаокна Screen) 6. Трассировку программы.
Приложение1 Система команд МП КР1821ВМ85А Группа команд Маш. Код В или Н Мнемоника команды Описание команды Длина Признаки Байты Такты Z S P C AC Команды пересылок 01.r1.r2 01.110.r 01.r .110 00.r.110 36 00.rp.0001 3A 32 2A 22 00.rp.1010 00.rp.0010 EB MOV r1,r2 MOV M,r MOV r,M MVI r,data MVI M.data LXI rp,data LDA addr STA addr LHLD addr SHLD addr LDAX rp STAX rp XСHG (r1)← (r2) ((HL))←(r) (r)← ((HL)) (r)← data ((HL))←data (rp)←data (A)← (addr) (addr)← (A) L← (addr), H← (addr+1) (addr)←L, (addr+1)←H A← ((rp)) ((rp)) ←A (H) ↔ (D), (L)↔ (E) 1 1 1 2 2 3 3 3 3 3 3 1 1 5 7 7 7 10 10 13 13 16 16 7 7 4 – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – Команды арифметические 10000.r. 86 C6 10001.r. 8E CE 00.rp.1001 10010..r. 96 D6 10011.r. 9E DE 00.r .100 34 00.rp.0011 00.r .101 35 00.rp.1011 27 ADD r ADD M ADI data ADC r ADC M ACI data DAD rp SUB r SUB M SUI data SBB r SBB M SBI data INR r INR M INX rp DCR r DCR M DCX rp DAA (A) ← (A)+(r) (A) ← (A)+((HL)) (A) ← (A)+ data (A) ← (A)+(r) + (C) (A) ← (A)+((HL))+ (C) (A) ← (A)+data+ (C) (H,L) ← (HL)+(rp) (A) ← (A)– (r) (A) ← (A)– (M) (A) ← (A)– data (A) ← (A)– (r)– (C) (A) ← (A)–(M)– (C) (A) ← (A)–data– (C) (r) ← (r)+1 ((HL)) ← ((HL))+1 (rp) ← (rp)+1 (r) ← (r)–1 ((H,L)) ← ((HL))–1 (rp) ← (rp)–1 десятичная коррекция 1 1 2 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 4 7 7 4 7 7 10 4 7 7 4 7 7 5 10 5 5 10 5 4 + + + + + + – + + + + + + + + – + + – + + + + + + + – + + + + + + + + – + + – + + + + + + + – + + + + + + + + – + + – + + + + + + + + + + + + + + – – – – – – + + + + + + + – + + + + + + + + – + + – + Команды логические 10100.r A6 E6 10101.r AE EE 10110.r B6 F6 10111.r BE FE 07 0F 17 1F 2F 3F 37 ANA r ANA M ANI data XRA r XRA M XRI data ORA r ORA M ORI data CMP r CMP M CPI data RLC RRC RAL RAR CMA CMC STC (A) ← (A)&(r) (A) ← (A)&((HL)) (A) ← (A)&data (A) ← (A)+mod2 (r) (A) ← (A)+mod2 ((HL)) (A) ← (A)+mod2 data (A) ← (A)\/ (r) (A) ← (A)\/ ((HL)) (A) ← (A)\/ data (A)?=(r) сравнение (A)?=((HL)) сравнение (A) ?= data сравнение (An+1) ← (An), (A0) ← (A7), (C) ← (A7) (An) ← (An+1), (A7) ← (A0), (C) ← (A0) (An+1) ← (An), (C) ← (A7), (A0) ← (C) (An) ← (An+1), (C) ← (A0), (A7) ← (C) (A) ← (A) инверсия (A) (C) ← (C) инверсия (C) (C)=1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 1 1 1 1 1 4 7 7 4 7 7 4 7 7 4 7 7 4 4 4 4 4 4 4 + + + + + + + + + + + + – – – – – – – + + + + + + + + + + + + – – – – – – – + + + + + + + + + + + + – – – – – – – 0 0 0 0 0 0 0 0 0 + + + + + + + – + 1 + + + 0 0 0 0 0 0 + + + – – – – – – – |
Лабораторная работа №10. Изучение принципа действия и функциональной... Лабораторная работа № Изучение принципов построения системы автоматической подстройки частоты (апч) радиолокационной станции |
Лабораторная работа 1 4 лабораторная работа 2 13 лабораторная работа... Интернете разнообразную информацию – описательную, графическую, картографическую и пр. При разработке сайтов необходимо уметь работать... |
||
Методические указания к выполнению лабораторных работ по дисциплине радиолокационные системы Лабораторная работа №1 «Изучение принципов построения штатной радиолокационной киа» |
Лабораторная работа №9 59 Лабораторная работа №10 72 Лабораторная... Рабочая тетрадь для выполнения лабораторных работ по мдк. 03. 01. «Техническое обслуживание и ремонт компьютерных систем и комплексов»... |
||
Лабораторная работа №1 «Создание общих ресурсов и управление ими» Лабораторная работа №6-7 «Изучение типов серверов, их настройка и конфигурирование» |
Практическая работа №1 «Изучение принципов работы с системами счисления» Практическая работа №3 «Изучение принципов построения и работы логических узлов эвм» |
||
Лабораторная работа № Лабораторная работа №1. Изучение основных возможностей программного продукта Яндекс. Сервер. Установка окружения, установка и настройка... |
Лабораторная работа №1 Цель работы состоит в изучении основных инструкций отладчика Debug, ознакомлении со структурой микроэвм ibm pc и освоении особенностей... |
||
Лабораторная работа №2 ... |
Контрольная работа №1 по теме «Организм. Молекулярный уровень» Лабораторная работа №2 «Изучение клеток и тканей растений и животных на готовых микропрепаратах» |
||
Методические указания для студентов по выполнению лабораторных работ... Лабораторная работа 4, 5 Исследование регистров, счетчиков и дешифраторов Лабораторная работа 6, 7 Исследование генератора псевдослучайной... |
Лабораторная работа №1 Целью работы является изучение технологии построения модели процесса в нотации bpmn 0 с использованием |
||
Лабораторная работа №3 Изучение пакета Simulink Response Optimization системы matlab 7 для расчета оптимальных настроек регуляторов” |
Лабораторная работа №1 Изучение пользовательского интерфейса базы данных (БД) Oracle Database 11g Express Edition и конструирование sql-запросов |
||
Лабораторная работа №1 «Изучение методики определения уровня физической... |
Полноэкранный отладчик afdpro Лабораторная работа предназначена для того, чтобы вы получили наглядные представления об архитектуре процессора на примере микропроцессора... |
Поиск |