Скачиваний:
2
Добавлен:
15.04.2023
Размер:
142.19 Кб
Скачать

Министерство цифрового развития, связи и массовых коммуникаций

Российской Федерации

федеральное государственное бюджетное образовательное учреждение

высшего образования

«Сибирский государственный университет телекоммуникаций и

информатики»

(СибГУТИ)

Кафедра многоканальной электрической связи и оптических систем (МЭС и ОС)

10.05.02 Информационная безопасность телекоммуникационных систем, специализация Защита информации в системах связи и управления (очная форма обучения)

Расчетно-графическая работа

по дисциплине «Аппаратные средства телекоммуникационных систем»

вариант 5

Выполнил:

студент ФАЭС,

гр. АБ-75 / А.Е. Карелин/

«__»_________ 2021 г. (подпись)

Проверил:

доцент каф. МЭС и ОС / В.Б. Малинкин /

«__»_________ 2021 г. (подпись)

Новосибирск 2021

Задача:

В хранимом в оперативной памяти, начиная с адреса 0BAC, массиве из 80 чисел, представленных в прямом коде, найти наибольшее число и выдать его на устройство вывода № 9. Готовность к приему данных устройства вывода задает сигналом, содержащем «1» в старшем разряде.

Решение:

Блок-схема представлена на рисунке 1.

Рисунок 1 – Блок-схема программы

Текстовый вариант программы:

K1.LXI H, 0BAC

К2.MVI B, 14h

К3.M1: MOV M, A

K4.INX H

К5.INR A

К6.DCR B

K7.JNZ M1

К8.MVI B, 50h

К9.LXI H, 0BAC

K10.MVI A, 0

К11.M3: MOV C, M

К12.INX H

K13.CMP C

К14.JNC M2

К15.MOV A, C

K16.M2: DCR B

К17.JNZ M3

К18.MOV D, A

К19.M4: MVI A, FF

К20.RLC

К21.JNC M4

К22.MOV E, D

К23.HLT

Код в эмуляторе представлен на рисунке 2:

Рисунок 2 – Код программы в эмуляторе

Комментарии к программе:

К1. Загрузка пары регистров HL

К2. Инициализация регистра B

К3. Пересылаем число из аккумулятора в память

К4. Увеличиваем содержимое пары регистров HL на 1

К5. Увеличиваем содержимое аккумулятора на 1

К6 - К7. Организация цикла

К8 – К9. Инициализация регистра B и пары регистров HL

К10. Присваиваем аккумулятору значение 0

К11. Пересылаем число из памяти в регистр С

К12. Увеличиваем содержимое пары регистров HL на 1

К13. Операция А - С, сравнение

К14. Организация цикла

К15. Пересылаем содержимое С в А

К16 – К17. Организация цикла

К18. Перемещаем содержимое А в регистр D

К19. Заполняем аккумулятор FF

К20. Сдвиг влево А на 1 разряд

К21. Организация цикла

К22. Пересылаем содержимое D в E

К23. Конец программы.

Результат работы программы:

Сначала заполняем массив двадцатью элементами начиная с адреcа 0BAC (рисунок 3):

Рисунок 3 – массив из 80 элементов

После, программа находит максимальное число и записывает его в регистр E (рисунок 4):

Рисунок 4 – Регистры после завершения работы программы

Содержимое регистра E = 13, что является наибольшим числом из массива. Значит программа работает корректно.