Команды чтения-записи памяти при косвенной адресации через регистровую пару 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), и поясните, какие действия выполняет МП в каждом цикле.

Наши рекомендации