
- •1. Чтение содержимого ячейки памяти с адресом nnnn осуществляется нажатием клавиш: addr n n n n.
- •4. Чтение содержимого регистра мп осуществляется нажатием клавиш: reg X , где X - клавиша данных с наименованием регистра.
- •7. Запись информации в регистр мп осуществляется нажатием следующих клавиш: reg X n n , где X - клавиша с наименованием регистра, nn - записываемое число.
- •Программа 1 (общий вид записи)
- •Программа 2
- •Задания для самостоятельной подготовки
- •Выполнение лабораторной работы
- •Программа 6
- •Программа 6а
- •Программа 7
- •Программа 8
- •Задание для самостоятельной подготовки
- •Выполнение лабораторной работы
Программа 1 (общий вид записи)
Адрес
|
Код команды |
Мнемокод |
Комментарий |
8400 |
3A 00 85 |
LDA 8500 |
Получить число |
8403 |
2F |
CMA |
Инвертировать число |
8404 |
32 01 85 |
STA 8501 |
Записать по адресу 8501 |
8407 |
E7 |
RST4 |
Вызвать программу «Монитор» |
|
|
|
|
При выполнении программ в пошаговом режиме вместо команды RST4 удобнее использовать команду HLT.
В программе 1 применен прямой способ адресации. Рассмотрим программу 2, в которой используется косвенный способ адресации.
Программа 2
Адрес |
Код команды |
Мнемокод |
Комментарий
|
8400 |
21 00 85 |
LXI H 8500 |
Записать в регистровую пару HL число 8500 |
8403 |
7E |
MOV A, M |
Получить число из памяти по адресу, указанному в регистровой паре HL |
8404 |
2F |
CMA |
Инвертировать содержимое аккумулятора |
8405 |
23 |
INX H |
Увеличить на 1 содержимое регистровой пары HL |
8406 |
77 |
MOV M, A |
Записать число из аккумулятора по адресу, указанному в HL |
8407 |
E7 |
RST4 |
Вызвать программу «Монитор» |
Для просмотра результатов выполнения программ, заканчивающихся командой RST4 вызова системной программы «Монитор», необходимо, используя клавиатуру, прочитать содержимое соответствующих регистров или ячеек памяти.
Задания для самостоятельной подготовки
Ознакомьтесь с системой команд МП КР580ВМ80А.
Изучите режимы работы и временные диаграммы процесса выполнения команд МП КР580ВМ80А.
Ознакомьтесь с программированием на языке Ассемблера и в машинных кодах МП КР580ВМ80А.
Изучите команды INR A, DCR a, ADD a, ANA A, ORA A, CMA, CMP A, DAA.
Рассмотрите результат выполнения проргаммы 1 при записи по адресу 8403 команд, приведенных в п.4 задания. Результаты выполнения программы при различных командах, записанных в программе 1 по адресу 8403, занести в табл.11.
Таблица 11
Число, записанное по адресу 8500 |
Команда, записанная по адресу 8403 |
Число, записанное по адресу 8501 |
|
|
|
Видоизмените и запишите программу 2 так, чтобы при её выполнении исследуемое число первоначально записывалось по адресу 8600 (программа 2а).
Разработайте программы а) увеличения на 5 числа, записанного по адресу 8601 (программа 3); б) сложения чисел, записанных по адресам 8600 и 86A0, и записи результата по адресу 8601 (программа 4); в) сравнения чисел в адресах 8600 и 8601 и записи большего из них в ячейку 8602 (программа 5).
Выполнение лабораторной работы
Задание 1. Исследовать программу 1.
Порядок выполнения:
Переключатель режима установить в положение «Прогон».
Ввести в УОУ программу 1.
Записать по адресу 8500 исследуемое число.
Осуществить пуск программы. Последовательно нажать клавиши “RST”, “ADDR”, ввести адрес 8400 и нажать клавишу «RUN». Проверить результат выполнения программы путем считывания числа из ячейки 8501.
Исследовать выполнение программы 1 в пошаговом режиме. Тумблер режима установить в положение «Отладка». Осуществить пошаговый пуск программы клавишей «STEP». После выполнения каждой команды (каждого нажатия STEP) считывать содержимое интересующих регистров и ячеек памяти. Обратить внимание на последовательность передачи и преобразования информации в микро-ЭВМ при выполнении каждой команды. Команду RST4 при выполнении программы в пошаговом режиме можно заменить на команду HLT.
В программе 1 замените команду STA 8501 на команду STA 8408. Запустите программу. После выполнения программы на дисплее отобразится адрес ячейки памяти (8408) и содержимое этой ячейки, переданное из аккумулятора. Таким способом можно контролировать результат сразу после выполнения программы, т.е. без дополнительной «помощи» клавиатуры.
Заменяя в программе 1 команду CMA на команды, записанные в таблице 11, исследовать результат выполнения указанных команд по числу, записанному по адресу 8501. Сравнить полученные числа с результатами заполнения таблицы 11 при выполнении домашнего задания.
Замените в программе 1 команду RST4 на команду HLT, запустите программу в автоматическом режиме. Поясните, почему не гаснет дисплей и почему этого не происходит при выполнении программы в пошаговом режиме?
Задание 2. Исследовать программу 2.
Порядок выполнения:
Ввести в УОУ программу 2.
Записать по адресу 8500 исследуемое число.
Осуществить пуск программы с адреса 8400. Проверить результат выполнения программы по числу, записанному в ячейке памяти с адресом 8601.
Исследовать процесс выполнения команды MOV A,M.
Ввести и исследовать выполнение программы 2а
Задание 3. Исследовать программу 3.
Порядок выполнения:
Ввести в ОЗУ УОУ программу 3, разработанную при домашней подготовке.
Осуществить пуск программы 3 и проверить результаты её выполнения по числу, записанному по адресу 8601 для чисел 05 и AE, записываемых по адресу 8600.
Задание 4. Исследовать программу 4.
Порядок выполнения:
Ввести в ОЗУ УОУ программу 4, разработанную при домашней подготовке.
Проверить результат выполнения программы по числу, записанному по адресу 8601, последовательно записывая по адресам 8600 и 86A0 соответственно числа 08 и C0, 2E и A5.
Видоизменить и исследовать программу 4 для случая, когда сумма двух чисел будет превышать число FF.
Задание 5. Исследовать программу 5.
Порядок выполнения:
Ввести в ОЗУ УОУ программу 5, разработанную при домашней подготовке.
Записать по адресам 8600 и 8601 выбранные числа.
Осуществить пуск программы 5. Проверить результат её выполнения по числу, записанному в ячейке 8602, и содержимому регистра F.
Содержание отчета
Отчет должен содержать:
Заполненную таблицу 11 для выполнения программы 1 при использовании команд, представлненных в п.4 задания для домашней подготовки.
Программу 2а, записанную в машинных кодах, позволяющую первоначально записывать исследуемое число по адресу 8600.
Разработанные в процессе домашней подготовки программы 3, 4, 5 и результаты исследований работы программ по пп.3, 4, 5 задания.
Вопросы для самоконтроля
За сколько машинных тактов выполняется каждая команда в программах 1 и 2?
Укажите различия в способах адресации, используемых в системе команд МП К580ВМ80А.
Поясните все возможные способы адресации, используемые при составлении программы по п.7 задания для домашней подготовки.
При выполнении каких команд, приведенных в п.4 задания для домашней подготовки, изменяется содержимое регистра признаков?
Поясните выполнение микропроцессором команд, приведенных в п.4 задания для домашней подготовки.
Литература, рекомендуемая для подготовки [2, 3, 4, 5]
См. далее!Next()
#+Лабораторная работа №3
ОРГАНИЗАЦИЯ УСЛОВНЫХ И БЕЗУСЛОВНЫХ ПЕРЕХОДОВ В ПРОГРАММАХ И МАСКИРОВАНИИ ДАННЫХ
Цель работы: Изучение программных способов организации условных и безусловных переходов и маскирования данных.
Организация условных переходов в микро-ЭВМ осуществляется по содержимому регистра признаков МП. Регистр признаков имеет пять разрядов, каждый из которых устанавливается по определенному правилу (см. приложение).
Во многих случаях при выполнении программ необходимо проверять и изменять (маскировать) состояние одного или нескольких разрядов числа в аккумуляторе. Это можно осуществить с помощью следующих операций:
Логического умножения содержимого аккумулятора и маски, которое обнуляет разряд результата, если в соответствующем разряде маски будет записан 0, и не изменяет его, если в этом разряде маски записана 1.
Логического сложения содержимого аккумулятора и маски, которое устанавливает разряд результата в 1, если в том же разряде маски будет записана 1, и не изменяет его, если в этом разряде записан 0.
Логического «исключающего ИЛИ» содержимого аккумулятора и маски, которое инвертирует разряд числа, если в соответствующем разряде маски записана 1, и не изменяет его, если в этом разряде записан 0.
Примеры использования этих команд приведены в табл.12.
Таблица 12
Мнемокод |
Машинный код |
Число в аккумуляторе |
Маска (байт b2) |
Комментарий |
Результат |
ANI b2 |
E6 b2 |
1111 1111 1010 1010 0000 1111 0101 0111 |
0000 0011 0110 0101 1111 1111 0000 0000 |
Логическое умножение содержимого А с байтом b2 |
0000 0011 0010 0000 0000 1111 0000 0000 |
ORI b2 |
F6 b2 |
0011 0011 0000 1111 1111 0000 |
0101 0101 0000 1111 0000 1111 |
Логическое сложение содержимого А с байтом b2 |
0111 0111 0000 1111 1111 1111 |
XRI b2 |
EE b2 |
1111 1111 0000 1111 1111 0000 |
1111 1111 0000 1111 0000 1111 |
Логическое «исключающее ИЛИ» содержимого А с байтом b2 |
0000 0000 0000 0000 1111 1111 |
Выполнение логических операций возможно также с содержимым аккумулятора и РОН МП. При выполнении этих логических команд разряды Z, S, P регистра признаков изменяются, а разряд CY устанавливается в 0.
Выполнение логических команд позволяет проверить состояние любого разряда числа и выполнить условные переходы в программе. Ниже приведена программа 6 маскирования отдельных разрядов числа.