Задание на лабораторную работу
Лабораторная работа: Изучение команд микроЭВМ
Начальная установка
Изучение системных команд
Нажмите кнопку LA. Услышав звуковой сигнал низкого тона, нажмите последовательно две произвольные кнопки на клавиатуре KD. Каждое нажатие должно сопровождаться звуковым сигналом (первое — низкого тона, второе — высокого). Проверьте правильность ввода информации по индикатору DD.
Контроль: Убедитесь, что индикатор DD отображает введённые данные.
Нажмите кнопку LA. Услышав сигнал низкого тона, наберите на клавиатуре KD произвольный двухразрядный код. Ввод адреса сопровождается звуковыми сигналами так же, как при выполнении операции LA. Контроль следует осуществлять по индикатору DA.
Контроль: Проверьте, что индикатор DA отображает введённый адрес.
Нажмите кнопку WI. После звукового сигнала наберите на клавиатуре KD произвольный двухразрядный код. Ввод информации контролируйте по звуковому сигналу и индикатору DA.
Повторите операцию WI 3–5 раз, изменяя при этом вводимые данные. После каждой операции значение на индикаторе DA должно увеличиваться на единицу. Зафиксируйте вводимую информацию для последующего контроля.
Контроль: Проверьте увеличение адреса на индикаторе DA после каждой операции.
Нажмите кнопку RD. Выполнение команды сопровождается звуковым тоном, содержимое индикатора DA уменьшается (–1), а на индикаторе DM отображается информация, записанная по этому адресу.
Повторите операцию RD несколько раз и сравните информацию, отображаемую на DM, с данными, вводимыми по команде WI.
Контроль: Убедитесь, что данные на DM соответствуют введённым ранее.
Нажмите кнопку RI. Выполнение команды сопровождается звуковым сигналом, содержимое индикатора DA увеличивается (+1), а на индикаторе DM отображается информация, записанная по этому адресу. Повторите операцию RI несколько раз и сравните информацию, отображаемую на DM, с данными, вводимыми по команде WI.
Контроль: Проверьте соответствие данных на DM с ранее введёнными данными.
Нажмите кнопку R. Установите начальный адрес программы. Для этого нажмите кнопку SA и наберите на клавиатуре KD начальный адрес программы.
Загрузите последовательно все команды программы, используя режим WI. Пример рабочей программы представлен в таблице 3, а её алгоритм — на рисунке 6. Данная программа производит последовательное увеличение содержимого АС, т.е. выполняется операция AC + I → AC.
Программа содержит пять циклов. После каждого цикла результат записывается в ячейки ОЗУ с адресами 30...34.
Если обнаружены ошибки: Нажмите кнопки 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,
что позволяет визуализировать промежуточные результаты.
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 |
- С помощью кнопки SA установите начальный адрес программы (10).
- Исполнение рабочей программы возможно в пошаговом RS и циклическом RC режимах.
- В пошаговом режиме нажимайте RS для выполнения одной команды. На индикаторах DA и DM отображаются адрес и содержимое ячейки ОЗУ.
- В циклическом режиме нажмите RC. Команды обрабатываются автоматически до команды END.
- Проверьте результаты с помощью команд SA и RI, просматривая содержимое ячеек ОЗУ 30–34.
- После каждого выполнения обнулите ячейки ОЗУ 30–34 с помощью команд SA и WI.
Покажите выполнение программы и результаты преподавателю.
Варианты заданий для индивидуального выполнения
Разработайте алгоритм и программу записи в внутренние регистры 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 |
Разработайте алгоритм и программу выполнения операции сложения: ∑ = R0 + R1 + R2 + R3 + R4 + R5 + R6 + R7.
Для сложения используйте содержимое регистров R0…R7, записанных с помощью программы, приведенной в задании 1. Результат запишите в ячейку ОЗУ с адресом 80₁₆. Составленную программу введите в ОЗУ, начиная с начального адреса 40₁₆. Проверьте правильность ввода. Выполните программу в режимах RS и RC. Проверьте правильность выполнения программы путем контроля содержимого ячейки ОЗУ по адресу 80₁₆.
Разработайте алгоритм и программу последовательного вывода данных на светодиоды DRG:
- Выведите номер варианта (а→01, б→02, в→03, г→04, д→05).
- Последовательно считайте и выведите содержимое ячеек памяти, где хранятся исходные значения R0–R7 из задания 1.
- Выведите результат суммирования из задания 2.
- Выведите маркер завершения FF (все светодиоды горят).
Выполните в режиме RC и наблюдайте движение символов по индикаторам.
Разработайте алгоритм и программу вывода номера своей группы на семисегментные индикаторы DL01–DL04 в виде бегущей строки. Например, для группы IU5-58B строка состоит из символов: I, U, 5, -, 5, 8, b.
Программа должна:
- Последовательно выводить символы на индикаторы с эффектом сдвига справа налево.
- Циклически повторять вывод строки.
Для формирования символов используйте коды сегментов. Выполните в режиме RC и наблюдайте движение символов по индикаторам.
Пример: в первый момент на DL01–DL04 отображается "____" (4 пустых сегмента), затем "IU5-", затем "U5-5", затем "5-58", затем "-58b" и т.д.
- Структурная схема микроЭВМ.
- Структура операционной системы.
- Карта памяти.
- Алгоритмы и программы задач, решенных на микроЭВМ, с вариантом задания.
- В чем преимущество секционируемой организации МП?
- По каким магистралям производится ввод и вывод информации в ЦПЭ?
- С какой целью дублируется информация, записанная в АС и R0...R7, в ОЗУ?
- Для каких операций применяются двухбайтные и трехбайтные команды?
- Для чего применяется стековая память?
- Какие основные команды входят в операционную систему?
- Каково назначение AC и R0...R7?
- В чем различие команд RI и RD?
- Как организуется загрузка ОЗУ?
- Как осуществляется контроль информации, находящейся в ОЗУ?