Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratorny_praktikum_chast_4_A5_dorabotanny.docx
Скачиваний:
122
Добавлен:
13.02.2016
Размер:
4.75 Mб
Скачать

2 Индивидуальное задание № 16. 1

Написать с адреса 2000 h на языке Ассемблер для МП Intel 8085A циклическую программу дополнения байта до четности в старшем разряде для МП Intel 8085A в соответствии с алгоритмом, который представлен на рисунке 16.1. Исходное число загрузить в регистр С.

Исходные значения байта (два значения) приведены в таблице 16.2.

Программу записать в таблицу, аналогичную по форме таблице 12.4. До выполнения программы вычислить и записать ожидаемый результат для двух заданных байтов. Расчет производить в двоичной системе счисления. Например, байт Е4(16) = 1110 0100(2) сохранит свое значение, а байт 4С(16) = 0100 1100(2) примет значение СС(16) = 1100 1100(2).

Таблица 16.2 – Исходные данные к индивидуальному заданию № 16.1

Номер варианта

Исходные данные (Р = 16)

Номер варианта

Исходные данные (Р = 16)

(С)1

(С)2

(С)1

(С)2

1

01

FF

8

8B

83

2

С6

83

9

63

6B

3

CD

F4

10

53

51

4

13

43

11

40

45

5

05

A2

12

30

31

6

03

13

13

22

23

7

06

25

14

9A

9B

Результаты выполнения записать в таблицу 16.3 и сделать выводы.

Таблица 16.3 – Результаты выполнения индивидуального задания № 16.1

Номер варианта

Содержимое регистров (Р = 16)

Значения признаков

(С)1-исх

(С)1-рез

(С)2-исх

(С)2-рез

S

Z

A

P

C

Рисунок 16.1 – Алгоритм программы дополнения байта до четности

3 Индивидуальное задание № 16. 2

Написать с адреса 2000 h на языке Ассемблер для МП Intel 8085А программу, содержащую подпрограмму подсчета контрольной суммы (КС) 10 h ячеек памяти (2030 h…203F h), заполненных константой, значение которой задано в таблице 16.4.

Таблица 16.4 – Исходные данные к индивидуальному заданию № 16.2

Номер варианта

Исходные данные (Р = 16)

Номер варианта

Исходные данные (Р = 16)

(D)

(D)

1, 3, 5, 7

05

8, 10, 12, 14

09

2, 4, 6

0A

9, 11, 13

0D

Начальный адрес массива загрузить в пару регистров HL, заданную константу – в регистр D. Заполнение массива константой оформить в виде цикла, счетчик циклов организовать на регистре Е. Значение контрольной суммы записать в регистр С. Начальный адрес подпрограммы 2020 h. Нижняя

граница стека – 2045 h. Алгоритм решения задачи и алгоритм подпрограммы представлены на рисунке 16.2.

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

Результаты выполнения записать в таблицу 16.5 и сделать выводы.

Таблица 16.5 – Результаты выполнения индивидуального задания № 16.2

Номер варианта

Результат

(P = 16)

Содержимое регистров и ЯП

(P = 16)

Значения признаков

(C)

(D)

(E)

(H)

(L)

(M1) -(M16)

(SP)

S

Z

A

P

C

После выполнения программы целиком (Project Run), необходимо выполнить ее в пошаговом режиме по отдельным операциям (ProjectTrace Into) и проследить за содержимым указателя стека SP после выполнения команд соответствующих блокам 12 и 13 основной программы (рисунок 16.2, а), а также блокам 1 и 5 подпрограммы (рисунок 16.2, б). Полученные значения записать в отчет и сделать выводы.

Рисунок 16.2 – Алгоритм решения задачи (a) и алгоритм подпрограммы (б)