Команды чтения-записи памяти при косвенной адресации через регистровую пару HL
Общий вид команды:
MOV M, ri – запись в память содержимого регистра;
MOV ri, M – загрузка регистра из памяти;
где ri –регистр общего назначения: A, B, C, D, E, H, L.
4.1 Записать в память с адреса 0820H, коды команд программы, которая указана в таблице 15.
Таблица 15 – Контрольная программа записи памяти при адресации через рег. пару HL
Адрес | Команда | Операнд | Машинный код | Комментарий |
MVI | A, AAH | 3E AA | ; Загрузка регистра А | |
MVI | B, BBH | 06 BB | ; Загрузка регистра В | |
MVI | C, CCH | 0E CC | ; Загрузка регистра С | |
LXI | H, 0921H | 21 21 09 | ; Загр. HL0921H, адрес M | |
MOV | M, A | ; Зп. M(A), по адресу HL | ||
082A | LXI | H, 0922H | 21 22 09 | ; и т. д. |
082D | MOV | M, C | ; | |
082E | LXI | H, 0923H | 21 23 09 | ; |
MOV | M, B | ; | ||
LXI | H, 0924H | 21 24 09 | ; | |
MOV | M, H | ; | ||
LXI | H, 0925H | 21 25 09 | ; | |
MOV | M, L | ; | ||
083A | HLT | ; Останов |
4.2 Выполнить эту последовательность команд:
СТ0820 083AВП.
4.3 Проверить правильность выполнения программы. Значения ячеек памяти должны быть: [<0921H>]=AAH, [<0922H>]=CCH, [<0923H>]=BBH, [<0924H>]=09H, [<0925H>]=25H.
4.4 Записать в память с адреса 0840H коды команд программы, которая указана в таблице 16.
Таблица 16 – Контрольная программа чтения памяти при прямой адресации через регистровую пару HL
Адрес | Команда | Операнд | Машинный код | Комментарий |
LXI | H, 0921H | 21 21 09 | ; Загр. HL=0921H, адрес M | |
MOV | E, M | 5E | ; Чт. E(M), по адресу HL | |
LXI | H, 0922H | 21 22 09 | ; И т. д. | |
MOV | D, M | ; | ||
LXI | H, 0923H | 21 23 09 | ; | |
084B | MOV | C, M | 4E | ; |
084C | LXI | H, 0924H | 21 24 09 | ; |
084F | MOV | H, M | ; | |
LXI | H, 0925H | 21 25 09 | ; | |
MOV | L, M | 6E | ; | |
HLT | ; Останов |
4.5 Выполнить эту последовательность команд:
СТ0840 0854ВП.
4.6 Проверить содержимое регистров. Должно быть: (C)=BBH, (D)=CCH, (E)=AAH, (H)=09H, (L)=25H.
Задание 3:
1 Написать и выполнить программу записи в память содержимого регистров в соответствии с таблицей 17.
Проверочную программу записать в таблицу, аналогичную по форме таблице 15 (начальный адрес проверочной программы 0A60H).
2 Проверить и записать в отчет содержимое ячеек памяти по данным таблицы 17.
Таблица 17 – Данные для проверочной программы записи в память при прямой
адресации через регистровую пару HL
Регистр | Адрес ячейки памяти | Содержимое |
A | F0 | |
B | E0 | |
C | D0 | |
D | C0 | |
E | B0 | |
H | ||
L |
Задание 4:
1 Написать и выполнить программу чтения содержимого памяти по данным таблицы 18.
Регистр | Адрес ячейки памяти | Содержимое | Должно быть |
B | F0 | ||
C | E0 | ||
D | D0 | ||
E | C0 | ||
A | B0 | ||
H | |||
L |
Таблица 18 – Данные для проверочной программы чтения памяти при адресации через регистровую пару HL
Проверочную программу записать в таблицу, аналогичную по форме таблице 16 (начальный адрес проверочной программы 0A80H).
2 Проверить и записать в отчет содержимое регистров и заполнить таблицу 18.
Команды чтения/записи при прямой адресации через регистровые пары BC, DE
STAX B – запись содержимого рег. A в память, адрес в рег. паре BC;
STAX D – запись содержимого рег. A в память, адрес в рег. паре DE;
LDAX B – чтение содержимого памяти в рег. A, адрес в рег. паре BC;
LDAX D – чтение содержимого памяти в рег. A, адрес в рег. паре DE.
5.1 Записать в память с адреса 0860H, коды команд программы, которая указана в таблице 19.
Таблица 19 – Контрольная программа записи памяти при прямой адресации через регистровые пары BC и DE
Адрес | Команда | Операнд | Машинный код | Комментарий |
LXI | B, 0900H | 01 00 09 | ; Загр. BC=0900H, адр. М | |
MVI | A, 0FH | 3E 0F | ; Загр. A=0FH | |
STAX | B | ; Зп. M=A по адр. BC | ||
LXI | D, 0910H | 11 10 09 | ; Загр. DE=0910H, адр. М | |
MVI | A, F0H | 3E F0 | ; Загр. A=F0H | |
086B | STAX | D | ; Зп. M=A по адр. DE | |
086C | HLT | ; Останов |
5.2 Выполнить эту последовательность команд:
СТ0860 086СВП.
5.3 Проверить содержимое ячеек памяти 0900H и 0910H. Должно быть: [<0900H>]=0FH, [<0910H>]=F0H.
5.4 Записать в память с адреса 0870H, коды команд программы, которая указана в таблице 20.
Таблица 20 – Контрольная программа чтения памяти при косвенной адресации через регистровые пары BC и DE
Адрес | Команда | Операнд | Машинный код | Комментарий |
LXI | D, 0900H | 11 00 09 | ; Загр. DE=0900H, адр. М | |
LDAX | D | 1A | ; Чт. A=M по адр. DE | |
MOV | L, A | 6F | ; Пересылка L(A) | |
LXI | B, 0910H | 01 10 09 | ; Загр. BC=0910H, адр. М | |
LDAX | B | 0A | ; Чт. A=M по адр. BC | |
MOV | H, A | ; Пересылка H(A) | ||
087A | HLT | ; Останов |
5.5 Выполнить эту последовательность команд:
СТ0870 087AВП.
5.6 Проверить содержимое регистров H, L. Должно быть: (H)=F0H, (L)=0FH.
Задание 5:
1 Написать и выполнить программу перезаписи данных из одной области
памяти (адресация через регистровую пару BC) в другую область памяти (адресация через регистровую пару DE) в соответствии с таблицей 21.
Таблица 21 – Данные для проверочной программы перезаписи данных при косвенной
адресации через регистровые пары BC и DE
Вариант | |||||
Адреса исх. обл. памяти | |||||
Адреса записываемой обл. памяти | |||||
Данные | 1A | 1B | 1C | 1D | 1E |
Проверочную программу записать в таблицу аналогичную по форме таблицам 19 и 20 (начальный адрес проверочной программы 0AА0H).
2 Проверить и записать в отчет содержимое ячейки записываемой области памяти по данным таблицы 21.
ЛАБОРАТОРНАЯ РАБОТА № 16
АРИФМЕТИЧЕСКИЕ КОМАНДЫ
Цель работы
1 Изучить по [2] арифметические команды в микропроцессоре (МП) КР580ВМ80.
2 Приобрести практические навыки составления программ, содержащих арифметические команды.
3 Приобрести практические навыки ввода программы в учебный микропроцессорный комплект (УМК), ее отладки и выполнения в автоматическом режиме.
Подготовка к выполнению работы
1 Повторить по [2] арифметические команды в МП КР580ВМ80.
2 Изучить методические указания к данной лабораторной работе и составить проверочные программы для заданий №1…4.
3 Подготовить ответы на вопросы для самоконтроля.
Вопросы для самоконтроля
1 Укажите, какие арифметические операции выполняются в МП КР580ВМ80?
2 Укажите, где размещаются операнды и куда пересылается результат операции при выполнении арифметических операций над 8-разрядными данными?
3 Укажите, где размещаются операнды и куда пересылается результат операции при выполнении сложения 16-разрядных чисел?
4 Укажите выполняемую операцию, машинный код и способ адресации, которые используются в нижеуказанных командах:
а) ADD B; б) ADC M; в) SUB C; г) SBB M;
д) ADI, F0H; е) SUI, 3BH; ж) DAD B; з) DAD D.
5 Укажите, за сколько машинных циклов выполняются команды, указанные выше (см. 4.4), и поясните, какие действия выполняет МП в каждом цикле.