Скачиваний:
60
Добавлен:
23.02.2015
Размер:
351.23 Кб
Скачать

Программа 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 маскирования отдельных разрядов числа.

Соседние файлы в папке Лаб. 1-5,6,7,7а,8,9,10