Министерство цифрового развития, связи и массовых коммуникаций
Российской Федерации
федеральное государственное бюджетное образовательное учреждение
высшего образования
«Сибирский государственный университет телекоммуникаций и
информатики»
(СибГУТИ)
Кафедра многоканальной электрической связи и оптических систем (МЭС и ОС)
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, что является наибольшим числом из массива. Значит программа работает корректно.