Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Меню эмулятора содержит следующие пункты:
w Команды. Список всех команд вызываемых при просмотре или отладки работы программы.
a Выполнить до курсора. Выполнение программы до выделенной строки в поле команд (F4).
a Выполнить одну команду. Выполнение одной команды программы (F7).
a Выполнить процедуру. Выполнение одной команды, не заходя в процедуры (F8). Процедурами считаются команды условного и безусловного перехода к подпрограммам, а также команды обработки прерываний.
a Запустить программу. Запуск программы до ее завершения (F9).
a Прервать. Остановка выполнения программы (Esc) при запуске ее до завершения. Это единственное действие, которое доступно во время отработки команд программы, оно позволяет в любой момент прерват выполнение программы процессором. При остановке выполнения программы курсор команды будет показывать на следующую выполняемую команду.
a Установить точку. Установка точки останова в выделенной строке в поле команд (Ctrl + F8). При этом возможно установление только одной точки останова. Установка точки останова в строке, где она уже установлена, приведет к удалению из этой строки точки останова. Если точка останова устанавливается в другой строке, то предыдущая точка удаляется.
a Выход. Выход из эмулятора в текстовый редактор (Alt + x, Alt + F4).
w Помощь. Содержит единственное подменю Помощь, которое выводит помощь по работе с эмулятором.
Эмулятор содержит следующие поля:
ü Поле команд. В первом столбце указывается курсор выполняемой команды. Также здесь указывается точка останова (буквой "B"). Во втором столбце отображается адрес команды. В третьем столбце отображается код команды. Наконец, в последней строке отображается сама команда, при этом все числа и адреса представлены в шестнадцатиричной системе счисления. В этом поле нельзя произвести никаких изменений.
ü Поле регистров. В первом столбце содержатся названия регистров микропроцессора. В последующих столбцах отображается содержимое регистров в шестнадцатиричной (h), десятичной (d) и в двоичной (b) системах счисления.
ü Поле указателей. В первом столбце содержатся два названия: счетчик команд (PC) и указатель стека (SP). В последующих столбцах отображается содержимое указателей в шестнадцатеричной и десятичной системах счисления.
ü Поле флагов. В первой строке содержатся названия флагов, а во второй – их значения. Флаги могут принимать только значения 0 или 1.
ü Поле параметров. В первом столбце содержатся два названия: стартовый адрес и задержка. В последующих столбцах отображается содержимое параметров в шестнадцатеричной и десятичной системах счисления. Стартовый адрес изменяет счетчик команд на указанный адрес, а задержка нужна для замедления выполнения команды.
ü Поле портов. В первом столбце содержатся номера портов в шестнадцатеричном виде. В последующих столбцах отображается содержимое портов в шестнадцатеричной, десятичной и в двоичной системе счисления.
ü Поле памяти. В первом столбце содержится адрес базовой ячейки памяти строки в шестнадцатеричном виде. Эти адреса нумеруются через восемь значений. В последующих столбцах отображается содержимое ячеек памяти в шестнадцатеричном виде. Адрес ячейки памяти определяется путем сложения адреса базовой ячейки памяти данной строки и значения, указанного в первой строке в квадратных скобках. Таким образом, адрес ячейки вычисляется путем смещения данной ячейки относительно базовой ячейки в данной строке.
Все поля кроме первого, являются редактируемыми. В них можно изменять значение нужного параметра. Редактирование значений возможно в любой, имеющейся в данном поле, системе счисления. При этом происходит соответствующее изменение содержимого других систем счисления.
Ввод всех редактируемых значений, кроме значений флагов регистра признаков, осуществляется следующим образом:
1. Сначала левой кнопкой мыши либо клавишей табуляции (Tab, Shift + Tab) и клавишами перемещения курсора (←, →, ↑, ↓) выбирается редактируемый параметр поля.
2. Затем нажимается клавиша Enter или левая кнопка мыши, после чего осуществляется ввод значения редактируемого параметра.
3. Ввод завершается только нажатием клавиши Enter. После ввода значения производится проверка. Если ввод неправильный, то остается старое (последнее, правильно введенное) значение.
Редактирование флагов производится иначе. Здесь для изменения значения некоторого флага с 0 на 1 или наоборот, с 1 на 0, достаточно нажать левую кнопку мыши на этом флаге. При этом не следует пользоваться клавишами ←, →, ↑ и ↓, т. к. их нажатие приводит не только к выбору редактируемого флага, но и к его изменению на противоположное значение, что затрудняет процесс редактирования данным способом.
2.2. Задания для самоподготовки
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 | ;Выход из программы. |
PROC_1: | MOV A, B | ;Записать содержимое регистра B в Акк. |
RLC | ;Сдвиг Акк. влево. | |
MOV B, A | ;Записать содержимое Акк. в регистр B. | |
RET | ;Возврат из подпрограммы. |
2.3. Задания к лабораторной работе
Задание 1.1. Отладка и исследование первой программы на языке Ассемблер.
Порядок выполнения задания:
1. Ввести программу Прогр. 1.1 в текстовом редакторе эмулятора. Сохранить программу (Ctrl + s).
2. Выполнить ассемблирование программы (F9). Если в результате ассемблирования эмулятор выдает сообщения об ошибках, то необходимо найти и исправить ошибки в программе, после чего повторить процедуру ассемблирования.
3. Запустить эмулятор программы (Ctrl + F9). Ознакомиться с адресным пространством памяти и устройств ввода/вывода (портов) эмулятора.
4. Проанализировать работу программы в пошаговом режиме (F7). Выполнить программу за один прием (F9). Выполнить программу в пошаговом режиме без захода в подпрограмму (F8).
5. Проверить работу программы при различных числовых значениях адреса и данных (строки 1 – 3). Проверить правильность выполнения программой арифметических и логических операций.
6. В 6-й строке поставить другое условие перехода (переход по другому признаку, по выбору студента). Повторить п. 5 данного задания.
7. Осуществить непосредственную запись данных в ячейку памяти, порт ввода/вывода, РОН (ручной ввод).
2.4. Содержание отчета
Отчет должен содержать:
1. Название работы, фамилию и инициалы студента, номер группы, цель работы.
2. Структурную схему МП КР580.
3. Описание выводов МП КР580.
4. Структурную схему памяти МП КР580.
5. Форматы команд МП КР580.
6. Команды эмулятора emКР580 (кратко, в том числе команды его текстового редактора).
7. Программу Прогр. 1.1 с комментариями и в печатном виде.
8. Результаты выполнения задания к лабораторной работе.
9. Выводы по лабораторной работе.
2.5. Контрольные вопросы
1. Какие бывают форматы 1- 2-х и 3-хбайтных команд?
2. Назначение выводов процессора.
3. Какова структура памяти МП КР580?
4. Как осуществить в МП-системе обмен данными с портом ввода/вывода, с ячейкой памяти?
5. Что такое и для чего нужна десятичная коррекция данных.
6. Для чего предназначены механизмы прямого доступа к памяти и обработки прерываний?
7. Назначение общих регистров процессора (РОН), указателя стека, счетчика команд, регистра флагов.
8. Какие поля содержит эмулятор emКР580 во время симуляции процесса выполнения программы?
9. Работа программы по командам, т. е. что делает каждая команда программы?
Лабораторная работа №3. Исследование системы команд МП КР580
Цель работы: Ознакомление с системой команд МП КР580; исследование выполнения команд пересылки данных, арифметических и логических команд, команд передачи управления, специальных команд; исследование различных способов адресации.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |


