Учебно-методический комплекс. Методические указания к выполнению лабораторных работ. Направление подготовки бакалавра, страница 17

После записи программы в память микроЭВМ следует дать команду на ее выполнение с помощью команды МОНИТОРА G. #, G, 2100, CR, а с помощьюкоманды S определить содержимое ячейки по адресу 2222, то есть считать результат вычислении.

3. Порядок выполнения работы

1. Составить и реализовать на микроЭВМ К1-20 программу обмена чисел, записанных по адресам: адр. 2202 – ОЗН и адр. 220Е – 05Н.

В ассемблере имеется специальная команда XCHG, по которой производится обмен содержимым регистровых пар DE и HL. После обычной записи чисел по адресам по команде МОНИТОРА S необходимо первое число как непосредственный операнд переслать в регистр D по команде MVI D, 03, а второе число – в регистр Н по команде MVI Н, 05.

После операции обмена необходимо обнулить аккумулятор (peг. А) по команде XRA А – операция ИСКЛЮЧАЮЩЕЕ ИЛИ и переслать в аккумулятор содержимое регистра D: MOV A, D. Затем следует уже знакомая операция запоминания данных в аккумуляторе по требуемому первому адресу STA 2202. Аналогичные действия производятся при запоминании данных в регистре Н. Здесь можно воспользоваться командой SHLD 220E: «Запомнить содержимое регистровой пары HL по адресу 220Е».

Перед написанием программы рекомендуется составить подробный алгоритм решения задачи.

Машинные и ассемблерные коды операций для задачи по п. 1 приведены в табл. 2.

        Таблица  2

Машинный код

Мнемоника

Комментарий

16

MVI D, число

; Пересылка числа в регистр D

26

MVI H, число

; Пересылка числа в регистр Н

ЕВ

XCHG

; Обмен содержимым регистров H↔D

AF

XRA A

; Обнуление аккумулятора

MOV A, D

; Пересылка из регистра D в аккумулятор (per. A)

32

STA  Адр.

; Запомнить содержимое аккумулятора по адресу

Окончание табл. 2        

22

SHLD Адр.

; Запомнить содержимое регистр. пары Н, L

по адресу

MOV А, Н

; Пересылка из регистра Н в аккумулятор

76

HLT

; Останов

2. Составить и реализовать программу установки в «1» третьего разряда числа, записанного по адресу 2210 (число заведомо неизвестно).

Центральным в решении этой задачи является нахождение слова-маски такого вида, чтобы при поразрядной дизъюнкции с неизвестным числом третий разряд устанавливался в «1». Начинать следует с обнуления аккумулятора. Затем загрузить в аккумулятор адрес, указанный в условии задачи.

Следующим шагом должно быть нахождение слова-маски (числа) и засылка его в  регистр общего назначения (peг. В).  Далее  следует поразрядная дизъюнкция содержимого регистров В и А. Затем должна следовать команда на запоминание числа в аккумуляторе в ячейке по адресу 2210.

После выполнения программы по команде МОНИТОРА G необходимо проверить результат: с помощью команды МОНИТОРА S найти число, записанное по адресу 2210. Полученное число в Н-коде записать в В-коде и убедиться, что третий разряд – «1».

Машинные и ассемблерные коды операций (мнемоника) для задачи по п. 2 приведены в табл. 3. Недостающие коды операций взять из табл. 2.

                                                                            Таблица 3

Маш. код

Мнемоника

Комментарий

ОА

LDAX В

; Загрузка в peг. А числа из адреса, который содержится в регистровой паре В, С

LDAX D

; Загрузка в peг, А числа из ячейки, адрес которой содержится в регистровой паре D, Е

02

STAX В

; Запомнить число из аккумулятора по Adr., который содержится в регистровой паре В, С

12

STAX D

; Запомнить число из аккумулятора в ячейке, адрес которой содержится в регистровой паре Н, L

LDA Adr.

; Загрузка в peг. А числа из Adr.

06

MVI В, число

; Пересылка в peг. В слова-маски (числа)

ВО

ORA В, А

; Поразрядная дизъюнкция peг. А и В

                                                                                        Окончание табл. 3        

С2

JNZ Adr.

; Переход на адрес, если результат не нулевой