Главная страница
Навигация по странице:

  • Практическая работа №9. Процессоры общего назначения. Цель

  • Руководство пользования эмулятором КР580

  • Помощь . Помощь . Вывод помощи текстового редактора.  О программе… . Вывод некоторой информации о программе и о ее разработчике. Синтаксис редактора.

  • Задания для самоподготовки

  • Прогр. 1.1. Первая программа на языке Ассемблер.

  • Задание к практической работе.

  • Методические указания для практических занятий по дисциплине мдк. 02. 01


    Скачать 7.37 Mb.
    НазваниеМетодические указания для практических занятий по дисциплине мдк. 02. 01
    Дата09.09.2022
    Размер7.37 Mb.
    Формат файлаpdf
    Имя файлаMetod_Mikroprocessornye-sistemy_PZ_09.02.01_2020.pdf
    ТипМетодические указания
    #669073
    страница9 из 43
    1   ...   5   6   7   8   9   10   11   12   ...   43
    Ход работы
    1.
    Создайте свой каталог и скопируйте в него программы
    av.bat,
    a85.com,
    avsim85.exe,
    avsim85.hlp
    и подкаталог
    error.
    Данную и все последующие лабораторные работы проводите только в своем
    каталоге!
    2.
    В подкаталоге
    error
    записаны короткие программы, содержащие ошибки.
    Проассемблируйте и отладьте несколько примеров по указанию преподавателя.
    3.
    В текстовом редакторе (Shift/F4) наберите подготовленную дома программу.
    Проассемблируйте ее и исправьте возможные ошибки.
    4.
    Вызовите моделирующую программу
    Avsim85, загрузите прикладную программу и выполните ее в пошаговом режиме, отмечая изменения содержимого регистров МП и памяти.
    Загрузку и выполнение прикладной программы проведите для всех рассмотренных дома вариантов.
    Содержание отчета
    Отчет должен содержать домашнюю подготовку согласно пункту 2 подготовки к работе, результаты исправления примеров с ошибками (ошибочная и исправленная строка), результаты отладки и моделирования составленных программ.
    Практическая работа №9. Процессоры общего назначения.
    Цель: Ознакомление с эмулятором микропроцессора КР580, со структурой МП, с назначением выводов МП, со структурой памяти МП-системы, с форматами команд МП.
    Руководство пользования эмулятором КР580
    Эмулятор микропроцессора
    КР580ВМ80/КР580ВМ80А
    (МП
    КР580) является приложением для операционных систем Windows ’95/98/Me/NT, поэтому для него характерны свойства, присущие всем приложениям данных операционных систем. А именно: возможность управления размерами окон стандартными кнопками, возможность параллельной загрузки других приложений, возможность изменения цветов и параметров окон в зависимости от настройки интерфейса операционной системы, также реализованы всплывающие подсказки и пр.
    Единственным файлом программы эмулятора МП КР580ВМ80 является файл emKP580.exe. Все необходимые данные для работы программы "вшиты" в этот файл. Это сделано для удобства переноса программы из одного компьютера на другой.
    Создание программы на Ассемблере осуществляется в два этапа:

    Создание или считывание программы на Ассемблере для данного процессора. Этот этап выполняется в текстовом редакторе эмулятора, окно которого появляется после запуска приложения. После завершения написания программы в текстовом редакторе ее необходимо проверить на наличие ошибок. После проверки можно переходить ко второму этапу. Подробное описание редактора изложено в п. 1.1.1., Текстовый редактор.

    Эмуляция (симуляция) выполнения написанной программы для микропроцессора
    КР580. При этом можно отслеживать любое изменение состояний регистров, флагов и т. п. при выполнении как отдельной команды, так и группы команд. Если обнаруживается, что

    55
    выполняемые действия программы не удовлетворяют требованиям, необходимо вернутся на предыдущий этап и изменить текст программы. Подробное описание эмулятора изложено в
    п. 1.1.3, Эмулятор программы.
    Текстовый редактор.
    Текстовый редактор предназначен для ввода программы на Ассемблере для микропроцессора КР580. Заголовок редактора состоит из названия текущего файла и названия приложения. Предусмотрено изменение размеров окна редактора.
    Как и другие приложения Windows, редактор имеет меню, в котором содержатся все выполняемые им действия. Большинство команд в меню имеют горячие клавиши, при нажатии соответствующей комбинации клавиш происходит автоматический вызов соответствующего пункта меню. Также редактор содержит панель инструментов с быстрыми кнопками, которые наиболее часто в нем используются. Кнопки дублируют соответствующие команды меню, поэтому их описание здесь не приводится. Каждая кнопка имеет смысловую иконку и подсказку, что облегчает ее понимание.
    Статусная строка, находящаяся внизу окна редактора, показывает текущую строку, текущий столбец, был ли файл изменен и подсказку выполняемого действия при выборе того или иного пункта меню.
    Меню редактора содержит следующие пункты:
    Файл. Сгруппированы все действия, которые можно выполнять над файлом.
    Сюда входит следующее пункты:

    Создать. Создать новый файл. Создается новый файл под именем "Безимени". При этом перед созданием файла предлагается сохранить текущий файл.

    Открыть. Открыть ранее созданный файл. Вызывается окно открытия файла, указывающее на текущую папку. В этом окне имеется возможность показа файлов с расширением "asm", файлов с расширением "txt", файлов с расширением "rtf" и файлов с любым расширением
    (*.*). Файлы с расширениями "asm" и "txt" должны содержать данные в обычном текстовом формате, а файлы с расширением "rtf" должны содержать данные в формате RTF.

    Сохранить. Сохранить текущий файл. Если файл имеет имя "Безимени", то предлагается сохранить его под другим именем. Файл может быть сохранен в текстовом формате
    (с расширениями "asm" или "txt") либо в формате RTF (с расширением "rtf"). При этом по умолчанию, файлу присваивается расширение "asm". Если файл был открыт и изменен или сохранен под именем, отличным от "Безимени", и изменен, то просто выполняется сохранение, при этом старое содержимое файла теряется.

    Сохранить как….Сохранить текущий файл под другим именем. Здесь предлагается сохранить файл с некоторым именем под другим именем. Файл может быть сохранен в текстовом формате (с расширениями "asm" или "txt") либо в формате RTF (с расширением "rtf"). При этом по умолчанию, файлу присваивается расширение "asm".

    Печать. Вывод текущего файла на принтер. Вызывается стандартное окно печати, где можно настроить параметры печати.

    Выход.Завершение работы с приложением.
    Дополнительно в меню "Файл" появляются четыре подпункта меню, которые показывают названия файлов, использованных в текущем сеансе работы с эмулятором. Названия файлов располагаются в порядке увеличения времени их открытия (первым располагается файл, открытый в последний раз). Текущий файл, если он еще не внесен в список, при открытии в этот список не заносится, а заносится только при его закрытии.
    Правка. Сгруппированы все действия, которые можно выполнять над текстом.

    Отмена. Отмена в тексте последнего выполненного действия. При этом отменяется только одно действие, и повторное нажатие вернет выполненное действие.

    Вырезать. Забирает выделенный фрагмент текста в карман.

    Копировать. Копирует выделенный фрагмент текста в карман.

    Вставить. Вставляет текст из кармана в текущую позицию курсора.

    Шрифт…. Вызывает стандартное окно выбора шрифта и его параметров. При

    56
    отсутствии выделенного фрагмента текста изменения накладываются на весь текст.

    Ассемблер. Сгруппированы действия проверки на ошибки и запуска окна эмуляции программы.

    Ассемблировать. Производится проверка на различные ошибки. Ограничения и правила приведены в пункте "Синтаксис редактора". Здесь весь текст проверяется на ошибки и в случае возникновения ошибки появляется поле ошибок, в котором указаны номер строки и вид ошибки. Курсор переводится на начало той строки, где возникла первая ошибка. Если ошибок не обнаружено, то поле ошибок не отображается и не выдается никаких сообщений. После этого можно запустить эмулятор.

    Эмулировать. Отличается от предыдущего пункта тем, что после проверки на ошибки запускается эмулятор.
    Помощь.

    Помощь. Вывод помощи текстового редактора.

    О программе…. Вывод некоторой информации о программе и о ее разработчике.
    Синтаксис редактора.
    Число строк и длина строки в редакторе не ограничены. Ограничение накладывается на размер кода откомпилированной программы и не может превышать 64 Кбайта. Шрифт, его размер и другие параметры можно изменять по своему усмотрению. При записи программы на
    Ассемблере возможно применение как строчных, так и заглавных букв. В тексте допускается присутствие пустых строк. Разделители (пробелы и символы табуляции) можно ставить в любом месте, кроме тех случаев, которые указаны ниже. Количество последовательности разделителей не ограничено, то есть эту последовательность можно считать как один разделитель (пробел или символ табуляции). Часть строки, находящаяся за символом точка с запятой ";", считается пояснением команды, и не участвует в формировании машинного кода процессора.
    Метка должна стоять в начале строки. Название метки может содержать любые символы кроме пробела и символа табуляции, однако рекомендуется задавать названия меток, используя только латинские символы и арабские цифры, причем для избежания непредсказуемой работы программы не следует начинать название метки с цифры. Конец метки определяется по символу двоеточие ":". Разделители перед меткой и после метки допускаются в любом количестве. В программе метка должна быть описана только один раз, количество же ссылок на эту метку не ограничено. Ссылка в команде на некоторую метку осуществляется путем написания в качестве операнда названия этой метки. Метка может находиться как до, так и после ссылки на нее.
    Команда должна быть написана в соответствии с языком Ассемблера данного микропроцессора. Разделители перед командой и после команды допускаются в любом количестве. Между мнемоникой команды и первым операндом обязательно должен стоять хотя бы один разделитель (пробел или символ табуляции), разделяющий мнемонику команды от операнда. Если в команде присутствует второй операнд, то его необходимо отделить от первого операнда запятой. Разделители перед запятой и после нее допускаются в любом количестве.
    После команды не допускается присутствие других символов, кроме пояснения и разделителей.
    В тексте программы имеется возможность задавать численные значения операндов в десятичной, шестнадцатиричной и двоичной системах счисления. При этом однобайтное число должно лежать в диапазоне от 0 до 255 включительно, а двухбайтное – от 0 до 65535 также включительно. При задании числа в шестнадцатиричной системе счисления сразу после числа ставится буква "h". При задании числа в двоичной системе счисления сразу после числа ставится буква "b". При отсутствии этих символов подразумевается десятичная система счисления.
    Эмулятор программы.
    Эмулятор программы предназначен для пошагового выполнения или выполнения написанной программы целиком. При этом можно отслеживать любое изменение состояний регистров, флагов, памяти, портов, счетчика команд и указателя стека при выполнении, как отдельной команды, так и группы команд. Заголовок окна состоит из названия текущего файла и названия приложения. Изменение размерами окна эмулятора не предусмотрено.
    Эмулятор имеет меню, в котором содержатся все доступные действия. Все команды в меню имеют горячие клавиши, при нажатии соответствующей комбинации клавиш происходит

    57
    автоматический вызов соответствующего действия. Также эмулятор содержит панель инструментов с быстрыми кнопками, которые наиболее часто используются в его среде. Эти кнопки дублируют соответствующие команды меню, и поэтому их описание здесь не приводится.
    Каждая кнопка имеет смысловую иконку и подсказку, что облегчает ее применение.
    Меню эмулятора содержит следующие пункты:
    Команды. Список всех команд вызываемых при просмотре или отладки работы программы.

    Выполнить до курсора. Выполнение программы до выделенной строки в поле команд (F4).

    Выполнить одну команду. Выполнение одной команды программы (F7).

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

    Запустить программу. Запуск программы до ее завершения (F9).

    Прервать. Остановка выполнения программы (Esc) при запуске ее до завершения.
    Это единственное действие, которое доступно во время отработки команд программы, оно позволяет в любой момент прерват выполнение программы процессором. При остановке выполнения программы курсор команды будет показывать на следующую выполняемую команду.

    Установить точку. Установка точки останова в выделенной строке в поле команд
    (Ctrl + F8). При этом возможно установление только одной точки останова. Установка точки останова в строке, где она уже установлена, приведет к удалению из этой строки точки останова.
    Если точка останова устанавливается в другой строке, то предыдущая точка удаляется.

    Выход. Выход из эмулятора в текстовый редактор (Alt + x, Alt + F4).
    Помощь. Содержит единственное подменю Помощь, которое выводит помощь по работе с эмулятором.
    Эмулятор содержит следующие поля:

    Поле команд. В первом столбце указывается курсор выполняемой команды. Также здесь указывается точка останова (буквой "B"). Во втором столбце отображается адрес команды.
    В третьем столбце отображается код команды. Наконец, в последней строке отображается сама команда, при этом все числа и адреса представлены в шестнадцатиричной системе счисления. В этом поле нельзя произвести никаких изменений.

    Поле регистров. В первом столбце содержатся названия регистров микропроцессора. В последующих столбцах отображается содержимое регистров в шестнадцатиричной (h), десятичной (d) и в двоичной (b) системах счисления.

    Поле указателей. В первом столбце содержатся два названия: счетчик команд (PC) и указатель стека (SP). В последующих столбцах отображается содержимое указателей в шестнадцатеричной и десятичной системах счисления.

    Поле флагов. В первой строке содержатся названия флагов, а во второй – их значения. Флаги могут принимать только значения 0 или 1.

    Поле параметров. В первом столбце содержатся два названия: стартовый адрес и задержка. В последующих столбцах отображается содержимое параметров в шестнадцатеричной и десятичной системах счисления. Стартовый адрес изменяет счетчик команд на указанный адрес, а задержка нужна для замедления выполнения команды.

    Поле портов. В первом столбце содержатся номера портов в шестнадцатеричном виде. В последующих столбцах отображается содержимое портов в шестнадцатеричной, десятичной и в двоичной системе счисления.

    Поле памяти. В первом столбце содержится адрес базовой ячейки памяти строки в шестнадцатеричном виде. Эти адреса нумеруются через восемь значений. В последующих столбцах отображается содержимое ячеек памяти в шестнадцатеричном виде. Адрес ячейки памяти определяется путем сложения адреса базовой ячейки памяти данной строки и значения, указанного в первой строке в квадратных скобках. Таким образом, адрес ячейки вычисляется путем смещения данной ячейки относительно базовой ячейки в данной строке.
    Все поля кроме первого, являются редактируемыми. В них можно изменять значение

    58
    нужного параметра. Редактирование значений возможно в любой, имеющейся в данном поле, системе счисления. При этом происходит соответствующее изменение содержимого других систем счисления.
    Ввод всех редактируемых значений, кроме значений флагов регистра признаков, осуществляется следующим образом:
    1.
    Сначала левой кнопкой мыши либо клавишей табуляции (Tab,
    Shift + Tab) и клавишами перемещения курсора (←, →, ↑, ↓) выбирается редактируемый параметр поля.
    2.
    Затем нажимается клавиша Enter или левая кнопка мыши, после чего осуществляется ввод значения редактируемого параметра.
    3.
    Ввод завершается только нажатием клавиши Enter. После ввода значения производится проверка. Если ввод неправильный, то остается старое
    (последнее, правильно введенное) значение.
    Редактирование флагов производится иначе. Здесь для изменения значения некоторого флага с 0 на 1 или наоборот, с 1 на 0, достаточно нажать левую кнопку мыши на этом флаге. При этом не следует пользоваться клавишами ←, →, ↑ и ↓, т. к. их нажатие приводит не только к выбору редактируемого флага, но и к его изменению на противоположное значение, что затрудняет процесс редактирования данным способом.
    Задания для самоподготовки
    1.
    Ознакомиться с руководством пользования эмулятором emКР580 (п. 1.1).
    2.
    Изучить типовую структуру МП КР580, назначение выводов МП, структуру памяти МП-системы, форматы команд МП по вводному разделу практикума и по [
    1
    ,
    2
    ,
    3
    ].
    3.
    Изучить работу программы Прогр. 1.1.
    Прогр. 1.1. Первая программа на языке Ассемблер.
    LXI
    H,
    0100h
    ;В HL адрес ячейки памяти.
    MVI M, 120
    ;Записать байт данных в ячейку с адресом в
    ; HL.
    MVI B, 24
    ;Записать вВ байт данных.
    MOV A, B
    ;Записать содержимое регистра B в Акк.
    ADD M
    ;Сложить Акк. с байтом по адресу в HL.
    JPO LAB_1
    ;Если не установлен флаг P, то идти на
    ; LAB_1.
    DCR B
    ;Декрементация регистра B.
    INX H
    ;Инкрементация регистровой пары HL.
    CALL
    PROC_1
    ;Переход на подпрограмму PROC_1.
    MOV M, B
    ;Записать содержимое регистра B в память по
    ; адр. в HL.
    SUB B
    ;Вычесть из Акк. байт в B и занести
    ; результат в Акк.
    LAB_
    1:
    HLT
    ;Выход из программы.
    P
    ROC_
    1:
    MOV A, B
    ;Записать содержимое регистра B в Акк.
    RLC
    ;Сдвиг Акк. влево.
    MOV B, A
    ;Записать содержимое Акк. в регистр B.
    RET
    ;Возврат из подпрограммы.

    59
    Задание к практической работе.
    Задание 1.1. Отладка и исследование первой программы на языке Ассемблер.
    Порядок выполнения задания:
    1.
    Ввести программу Прогр. 1.1 в текстовом редакторе эмулятора. Сохранить программу (Ctrl + s).
    2.
    Выполнить ассемблирование программы (F9). Если в результате ассемблирования эмулятор выдает сообщения об ошибках, то необходимо найти и исправить ошибки в программе, после чего повторить процедуру ассемблирования.
    3.
    Запустить эмулятор программы (Ctrl + F9). Ознакомиться с адресным пространством памяти и устройств ввода/вывода (портов) эмулятора.
    4.
    Проанализировать работу программы в пошаговом режиме (F7). Выполнить программу за один прием (F9). Выполнить программу в пошаговом режиме без захода в подпрограмму (F8).
    5.
    Проверить работу программы при различных числовых значениях адреса и данных (строки 1 – 3). Проверить правильность выполнения программой арифметических и логических операций.
    6.
    В 6-й строке поставить другое условие перехода (переход по другому признаку, по выбору студента). Повторить п.
    5
    данного задания.
    7.
    Осуществить непосредственную запись данных в ячейку памяти, порт ввода/вывода, РОН (ручной ввод).
    1   ...   5   6   7   8   9   10   11   12   ...   43


    написать администратору сайта