Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный практикум ч3 А4 09.10.2012.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.07 Mб
Скачать
  1. Команды прямой записи в память

Существуют две команды прямой записи в память:

STA <B3B2> – запись в память по прямому адресу <B3B2> содержимого регистра A;

SHLD <B3B2> – запись в память содержимого регистровой пары HL.

Причем по адресу <B3B2> будет записано содержимое регистра L, а по

адресу <B3B2>+1 будет записано содержимое регистра H.

  1. Записать в память с адреса 0800H, используя команду системной программы МОНИТОР ПРОСМОТР И МОДИФИКАЦИЯ СОДЕРЖИМОГО ЯЧЕЕК ПАМЯТИ, коды команд, которые указаны в таблице 11.

Таблица 11 – Контрольная последовательность команд записи в память по прямому адресу

Адрес

Команда

Операнд

Машинный код

Комментарий

0800

STA

0880H

32 80 08

; Запись в память сод. рег. A

; по адресу 0880H

0803

SHLD

0890H

22 90 08

; Запись в память сод. рег. L

; по адр. 0890H, сод. рег. H

; по адр. 0891H

0806

HLT

76

; Останов

  1. Посредством команды МОНИТОРА ПРОСМОТР И МОДИФИКАЦИЯ СОДЕРЖИМОГО РЕГИСТРОВ установить значение регистров: A := C7A, H := 55H, L := AAH.

  1. Выполнить контрольную последовательность команд, используя команду системной программы МОНИТОР СТАРТ ПРОГРАММЫ:

СТ0800 0806ВП.

  1. Проверить содержимое ячеек памяти с адресами 0880H, 0890H, 0891H. Их значения должны быть: [<0880H>]=C7H, [<0890H>]=AAH, [<0891H>]=55H.

Задание 1:

  1. Написать и выполнить проверочную программу записи данных в память из рег. A в соответствии с таблицей 12. Для этого использовать команду загрузки регистра A (MVI A, <B2>) и команду записи в память содержимого регистра A по прямому адресу (STA <B3B2>).

Таблица 12 – Данные для проверочной программы записи данных в память по непосредственному адресу

Адрес

0900

0905

090C

0912

Данные

0A

0B

0C

0D

Проверочную программу записать в таблицу, аналогичную по форме таблице 11 (начальный адрес проверочной программы 0A00H).

  1. Проверить правильность работы программы, для этого проверить и записать в отчет содержимое ячеек памяти, адреса которых указаны в таблице 12.

    1. Команды чтения памяти по прямому адресу

Аналогично командам прямой записи существует две команды прямого чтения памяти:

LDA <B3B2> – чтение памяти по прямому адресу <B3B2> в рег. A;

LHLD <B3B2> – чтение памяти по прямому адресу <B3B2> в рег. пару HL. При этом в рег. L будет записано содержимое ячейки с адресом <B3B2>, в рег. H – содержимое ячейки с адресом <B3B2>+1.

      1. Записать в память с адреса 0810H, коды последовательности команд, которые указаны в таблице 13.

Таблица 13 – Контрольная последовательность команд чтения памяти по прямому адресу

Адрес

Команда

Операнд

Машинный код

Комментарий

0810

LDA

0880H

3A 80 08

; Чтение в рег. A содержимого

; ячейки с адресом 0880H

0813

LHLD

0890H

2A 90 08

; Чтение в рег. L содержимого ;ячейки с адр. 0890H, в рег. H ;сод. ячейки с адр. 0891H

0816

HLT

76

; Останов

      1. Выполнить эти команды:

СТ0810 0816ВП.

      1. Проверить содержимое регистров. Должно быть:

(A)=C7, (H)=55H, (L)=AAH.

Задание 2:

    1. Написать и выполнить программу загрузки регистров B, C, D,E из

памяти в соответствии с таблицей 14. Используйте команды чтения памяти в рег. A по прямому адресу (LDA <B3B2>) и команды пересылки (MOV ri, A)

Таблица 14 – Данные для проверочной последовательности команд чтения памяти по непосредственному адресу в рег. A

Адрес

0900

0905

090C

0912

Регистр

B

C

D

E

Должно быть

0A

0B

0C

0D

Проверочную программу чтения памяти в рег. А по непосредственному адресу записать в таблицу аналогичную по форме таблице 13 (начальный адрес проверочной программы 0A20H).

  1. Проверить правильность работы программы, для этого проверить и записать в отчет содержимое регистров, указанных в таблице 14.