МПС 3 курс Практические задания 02 Изучение эмулятора КР580ВМ80 - BysonHunter/Tavrich_college GitHub Wiki
🏠 Главная · Микропроцессорные системы · 3 курс · Практические работы по МДК.02.01 «Микропроцессорные системы»
Практическая работа №2
Изучение эмулятора микропроцессорной системы на базе КР580ВМ80
Цель работы
Приобрести навыки работы с эмулятором микропроцессорной системы КР580ВМ80 и научиться:
- вводить машинные коды в ОЗУ;
- изменять значения регистров;
- выполнять программу по командам и тактам;
- наблюдать изменения программно-доступных объектов;
- выполнять простейшее ручное ассемблирование.
1. Главное окно эмулятора
В центральной части окна расположена структурная схема МПС.

На схеме представлены:
- регистр состояния
PSW; - аккумулятор
A; - регистр флагов
Z, S, P, CY, AC; - регистр команд и дешифратор команд;
- АЛУ;
- регистры общего назначения
B, C, D, E, H, L; - временные регистры
W, Z; - указатель стека
SP; - счётчик команд
PC; - буфер адреса и буфер данных;
- контроллер ввода/вывода;
- ОЗУ;
- шины адреса, данных и управления;
- порты внешних устройств.
Активные элементы интерфейса позволяют изменять значения регистров и ячеек ОЗУ.
2. Режимы выполнения
Эмулятор предусматривает:
- выполнение по тактам — для наблюдения микроопераций;
- выполнение по командам — одна машинная команда за шаг;
- программный режим — непрерывное выполнение.
Важное уточнение о HLT и HLDA
Команда:
HLT
останавливает нормальную выборку последующих команд.
В исходной методичке останов связывается с HLDA. Для реального Intel 8080/КР580ВМ80 HLDA означает Hold Acknowledge — подтверждение захвата шин при сигнале HOLD, а не флаг команды HLT. Если конкретный эмулятор использует этот индикатор для визуализации останова, это особенность интерфейса эмулятора.
3. Исходный фрагмент программы
MVI A, 78
INR B
SUB B
MOV D, A
MOV A, B
HLT
В исходной методичке HLT отсутствовал. Он добавлен здесь, чтобы программа корректно завершалась.
Числа 78 и 34 трактуются как десятичные.
Перевод чисел
78₁₀ = 4Eh
34₁₀ = 22h
4. Машинные коды
| Команда | 1-й байт | 2-й байт |
|---|---|---|
MVI A,4Eh |
3E |
4E |
INR B |
04 |
— |
SUB B |
90 |
— |
MOV D,A |
57 |
— |
MOV A,B |
78 |
— |
HLT |
76 |
— |
Размещение в памяти
| Адрес | Байт |
|---|---|
0000h |
3E |
0001h |
4E |
0002h |
04 |
0003h |
90 |
0004h |
57 |
0005h |
78 |
0006h |
76 |
5. Начальные значения
Перед запуском установить:
B = 34₁₀ = 22h
A = 00h
D = 00h
PC = 0000h
6. Выполнение по командам
Заполните таблицу после выполнения каждой команды.
| Шаг | PC после команды | Команда | A | B | D |
|---|---|---|---|---|---|
| 0 | 0000h |
начало | 00h |
22h |
00h |
| 1 | MVI A,4Eh |
||||
| 2 | INR B |
||||
| 3 | SUB B |
||||
| 4 | MOV D,A |
||||
| 5 | MOV A,B |
||||
| 6 | HLT |
Контрольные ориентиры
после MVI: A = 4Eh
после INR: B = 23h
после SUB: A = 4Eh - 23h = 2Bh
после MOV D,A: D = 2Bh
после MOV A,B: A = 23h
7. Исследование по тактам
Исследовать команду:
MVI A, 4Eh
Для классического Intel 8080 команда MVI r,d8 занимает:
2 машинных цикла
7 T-состояний (тактов)
Наблюдайте:
- выборку кода
3Eh; - увеличение
PC; - считывание второго байта
4Eh; - загрузку значения в аккумулятор.
8. Контрольные вопросы
- Какие основные блоки можно выделить в структуре микропроцессора?
- Что входит в систему команд процессора?
- Какие классы команд представлены в эмуляторе?
- Для чего предназначены команды передачи управления?
- Какие способы адресации используются в исследуемом фрагменте?
- Чем режим по тактам отличается от режима по командам?
- Как записать программу в машинных кодах в ОЗУ?
- Как изменить содержимое регистра?
- Как изменить содержимое ячейки памяти?
- Что такое машинный цикл?
- Что такое T-состояние?
- Почему
MVI A,d8занимает два байта?
9. Содержание отчёта
- Номер и название работы.
- Цель.
- Скриншот главного окна эмулятора.
- Таблица машинных кодов.
- Скриншот ОЗУ после ввода программы.
- Таблица изменения регистров.
- Результат исследования
MVI A,4Ehпо тактам. - Ответы на контрольные вопросы.
- Вывод.