Лабораторная работа: Изучение команд микроЭВМ

Цель работы: Изучить основные команды микроЭВМ, научиться загружать и выполнять программы, а также контролировать результаты выполнения.

Начальная установка

Важно: Нажмите кнопку R. Убедитесь, что нажатие сопровождается звуковым сигналом нарастающего тона, а индикаторы данных, адреса и памяти отображают нулевые значения. В результате выполнения программы R все регистры АУ, а также ячейки ОЗУ0...ОЗУ5 устанавливаются в состояние "0". Поэтому все программы пользователя начинаются с адреса 10₁₆.

Изучение системных команд

Шаг 1. Загрузка аккумулятора

Нажмите кнопку LA. Услышав звуковой сигнал низкого тона, нажмите последовательно две произвольные кнопки на клавиатуре KD. Каждое нажатие должно сопровождаться звуковым сигналом (первое — низкого тона, второе — высокого). Проверьте правильность ввода информации по индикатору DD.

Контроль: Убедитесь, что индикатор DD отображает введённые данные.

Шаг 2. Установка адреса

Нажмите кнопку LA. Услышав сигнал низкого тона, наберите на клавиатуре KD произвольный двухразрядный код. Ввод адреса сопровождается звуковыми сигналами так же, как при выполнении операции LA. Контроль следует осуществлять по индикатору DA.

Контроль: Проверьте, что индикатор DA отображает введённый адрес.

Шаг 3. Запись с увеличением

Нажмите кнопку WI. После звукового сигнала наберите на клавиатуре KD произвольный двухразрядный код. Ввод информации контролируйте по звуковому сигналу и индикатору DA.

Повторите операцию WI 3–5 раз, изменяя при этом вводимые данные. После каждой операции значение на индикаторе DA должно увеличиваться на единицу. Зафиксируйте вводимую информацию для последующего контроля.

Контроль: Проверьте увеличение адреса на индикаторе DA после каждой операции.

Шаг 4. Считывание с уменьшением

Нажмите кнопку RD. Выполнение команды сопровождается звуковым тоном, содержимое индикатора DA уменьшается (–1), а на индикаторе DM отображается информация, записанная по этому адресу.

Повторите операцию RD несколько раз и сравните информацию, отображаемую на DM, с данными, вводимыми по команде WI.

Контроль: Убедитесь, что данные на DM соответствуют введённым ранее.

Шаг 5. Считывание с увеличением

Нажмите кнопку RI. Выполнение команды сопровождается звуковым сигналом, содержимое индикатора DA увеличивается (+1), а на индикаторе DM отображается информация, записанная по этому адресу. Повторите операцию RI несколько раз и сравните информацию, отображаемую на DM, с данными, вводимыми по команде WI.

Контроль: Проверьте соответствие данных на DM с ранее введёнными данными.

Шаг 6. Загрузка активной программы

Нажмите кнопку R. Установите начальный адрес программы. Для этого нажмите кнопку SA и наберите на клавиатуре KD начальный адрес программы.

Загрузите последовательно все команды программы, используя режим WI. Пример рабочей программы представлен в таблице 3, а её алгоритм — на рисунке 6. Данная программа производит последовательное увеличение содержимого АС, т.е. выполняется операция AC + I → AC.

Программа содержит пять циклов. После каждого цикла результат записывается в ячейки ОЗУ с адресами 30...34.

Проверка программы: Можно осуществить с помощью команд SA и RI. Для этого нажмите кнопку SA и введите начальный адрес программы. После этого на индикаторе DA будет индицироваться выбранный адрес, а на индикаторе DM — информация, записанная по этому адресу. Далее, используя режим RI, можно считать информацию во всех последующих ячейках ОЗУ (с 11-й по 20-ю) и сравнить её с кодами команд (см. таблицу 3).

Если обнаружены ошибки: Нажмите кнопки R и SA, введите адрес исправляемой ячейки ОЗУ, нажмите WI и наберите необходимую информацию.

Пример рабочей программы

Таблица 3

Базовый уровень
Адрес ОЗУ Команда Код команды Комментарий
10 0 → АС BF Обнуление содержимого АС
11 АС+1 → АС CF Увеличение АС на единицу
12 АС → М (30) 9F Запись содержимого АС в ОЗУ по адресу 30 при сохранении содержимого АС
13 30 30
14 АС+1 → АС CF Увеличение содержимого АС на 1
15 АС → М (31) 9F Запись содержимого АС по адресу 31 при сохранении содержимого АС
16 31 31
17 АС+1 → АС CF Увеличение содержимого АС на 1
18 АС → М (32) 9F Запись содержимого АС по адресу 32 при сохранении содержимого АС
19 32 32
1A АС+1 → АС CF Увеличение содержимого АС на 1
1B АС → М (33) 9F Запись содержимого АС по адресу 33 при сохранении содержимого АС
1C 33 33
1D АС+1 → АС CF Увеличение содержимого АС на 1
1E АС → М (34) 9F Запись содержимого АС по адресу 34 при сохранении АС
1F 34 34
20 END A0 Окончание программы

Результат выполнения: Последовательное увеличение содержимого АС
с записью результатов в ячейки ОЗУ 30–34.

Продвинутый уровень
Адрес ОЗУ Команда Код команды Комментарий
10 0 → АС BF Обнуление содержимого АС
11 АС+1 → АС CF Увеличение АС на единицу
12 АС → OUTn A4 Вывод содержимого АС на ВУ DRG (адрес 08)
13 08 08
14 АС → М (30) 9F Запись содержимого АС в ОЗУ по адресу 30
15 30 30
16 АС+1 → АС CF Увеличение содержимого АС на 1
17 АС → OUTn A4 Вывод содержимого АС на DRG
18 08 08
19 АС → М (31) 9F Запись содержимого АС по адресу 31
1A 31 31
1B АС+1 → АС CF Увеличение содержимого АС на 1
1C АС → OUTn A4 Вывод содержимого АС на DRG
1D 08 08
1E АС → М (32) 9F Запись содержимого АС по адресу 32
1F 32 32
20 АС+1 → АС CF Увеличение содержимого АС на 1
21 АС → OUTn A4 Вывод содержимого АС на DRG
22 08 08
23 АС → М (33) 9F Запись содержимого АС по адресу 33
24 33 33
25 АС+1 → АС CF Увеличение содержимого АС на 1
26 АС → OUTn A4 Вывод содержимого АС на DRG
27 08 08
28 АС → М (34) 9F Запись содержимого АС по адресу 34
29 34 34
2A END A0 Окончание программы

Преимущества: Добавлен вывод содержимого АС на внешнее устройство DRG,
что позволяет визуализировать промежуточные результаты.

Рисунок 6
SVG content SVG content
BEGIN
  AC ← 0
  AC ← AC + 1   // → 1
  M[30] ← AC
  AC ← AC + 1   // → 2
  M[31] ← AC
  AC ← AC + 1   // → 3
  M[32] ← AC
  AC ← AC + 1   // → 4
  M[33] ← AC
  AC ← AC + 1   // → 5
  M[34] ← AC
END


Порядок выполнения программы
  1. С помощью кнопки SA установите начальный адрес программы (10).
  2. Исполнение рабочей программы возможно в пошаговом RS и циклическом RC режимах.
  3. В пошаговом режиме нажимайте RS для выполнения одной команды. На индикаторах DA и DM отображаются адрес и содержимое ячейки ОЗУ.
  4. В циклическом режиме нажмите RC. Команды обрабатываются автоматически до команды END.
  5. Проверьте результаты с помощью команд SA и RI, просматривая содержимое ячеек ОЗУ 30–34.
  6. После каждого выполнения обнулите ячейки ОЗУ 30–34 с помощью команд SA и WI.

Покажите выполнение программы и результаты преподавателю.

Варианты заданий для индивидуального выполнения

Задание 1. Запись чисел в регистры R0…R7

Разработайте алгоритм и программу записи в внутренние регистры R0…R7 ряда чисел. Введите программу в микроЭВМ, начиная с начального адреса 10₁₆. Проконтролируйте и выполните программу в режимах RS и RC. С помощью команд SA и RI проведите контроль выполнения программы путем просмотра ячеек ОЗУ, в которых хранится содержимое регистров R0…R7 начиная с первой ячейки (см. карту памяти на рис. 4).

Варианты исходных чисел (в шестнадцатеричной форме):

Вариант Значения
а) 01, 05, 07, 08, 0A, 0C, 0E, 33
б) 09, 0A, 0B, 0C, 0D, 0E, 0F, 21
в) 11, 12, 13, 14, 1A, 1C, 1F, 03
г) A0, 22, 45, 30, 0B, 03, 0B, 01
д) 20, 0A, 2B, 51, 07, 35, 2A, 02
Задание 2. Суммирование регистров

Разработайте алгоритм и программу выполнения операции сложения: ∑ = R0 + R1 + R2 + R3 + R4 + R5 + R6 + R7.

Для сложения используйте содержимое регистров R0…R7, записанных с помощью программы, приведенной в задании 1. Результат запишите в ячейку ОЗУ с адресом 80₁₆. Составленную программу введите в ОЗУ, начиная с начального адреса 40₁₆. Проверьте правильность ввода. Выполните программу в режимах RS и RC. Проверьте правильность выполнения программы путем контроля содержимого ячейки ОЗУ по адресу 80₁₆.

Задание 3. Последовательный вывод данных на светодиоды

Разработайте алгоритм и программу последовательного вывода данных на светодиоды DRG:

  1. Выведите номер варианта (а→01, б→02, в→03, г→04, д→05).
  2. Последовательно считайте и выведите содержимое ячеек памяти, где хранятся исходные значения R0–R7 из задания 1.
  3. Выведите результат суммирования из задания 2.
  4. Выведите маркер завершения FF (все светодиоды горят).

Выполните в режиме RC и наблюдайте движение символов по индикаторам.

Задание 4. Вывод номера группы в виде бегущей строки

Разработайте алгоритм и программу вывода номера своей группы на семисегментные индикаторы DL01–DL04 в виде бегущей строки. Например, для группы IU5-58B строка состоит из символов: I, U, 5, -, 5, 8, b.

Программа должна:

  1. Последовательно выводить символы на индикаторы с эффектом сдвига справа налево.
  2. Циклически повторять вывод строки.

Для формирования символов используйте коды сегментов. Выполните в режиме RC и наблюдайте движение символов по индикаторам.

Пример: в первый момент на DL01–DL04 отображается "____" (4 пустых сегмента), затем "IU5-", затем "U5-5", затем "5-58", затем "-58b" и т.д.

Содержание отчёта
  1. Структурная схема микроЭВМ.
  2. Структура операционной системы.
  3. Карта памяти.
  4. Алгоритмы и программы задач, решенных на микроЭВМ, с вариантом задания.
Вопросы для самопроверки
  1. В чем преимущество секционируемой организации МП?
  2. По каким магистралям производится ввод и вывод информации в ЦПЭ?
  3. С какой целью дублируется информация, записанная в АС и R0...R7, в ОЗУ?
  4. Для каких операций применяются двухбайтные и трехбайтные команды?
  5. Для чего применяется стековая память?
  6. Какие основные команды входят в операционную систему?
  7. Каково назначение AC и R0...R7?
  8. В чем различие команд RI и RD?
  9. Как организуется загрузка ОЗУ?
  10. Как осуществляется контроль информации, находящейся в ОЗУ?
Примечание: Все программы и результаты должны быть проверены преподавателем. Убедитесь, что все ячейки ОЗУ обнулены перед повторным выполнением программ.
Последнее изменение: среда, 3 декабря 2025, 17:01