Задание:
1. Написать программу на языке assembler для процессора КР580ВМ80А, согласно заданному варианту. Формат чисел в исходном массиве для всех вариантов: YXXXXXXX, где Y – знак, XXXXXXX – значащие разряды.
Содержание отчета:
1. Титульный лист.
2. Задание.
3. Блок-схемы алгоритма программы.
4. Исходный код программы.
Варианты:
1. Разработайте программу нахождения наибольшего отрицательного числа, записанного в дополнительном коде в массиве. Массив чисел расположен в памяти с ячейки 1500 по 150F, а найденное число записать в регистр С.
2. Разработайте программу нахождения наименьшего положительного числа в массиве, состоящем из шестнадцати чисел (в ячейках памяти с 1800 по 180F), если числа отображены в дополнительном коде. Найденное число поместить в регистр В.
3. Разработайте программу нахождения числа в массиве, которое повторяется больше всего раз. Массив чисел расположен в памяти с ячейки 1500 по 150F, а найденное число записать в ячейку памяти 1100.
4. Разработайте программу нахождения числа в массиве, которое повторяется меньше всего раз, Массив чисел расположен в памяти с ячейки 1400 по 140F, а найденное число записать в ячейку памяти 1200.
5. Разработайте программу нахождения наибольшего числа, полученного при сложении смежных чисел, записанных в прямом коде. Массив чисел расположен в памяти с ячейки 1600 по 160F. Найденное число поместить в регистровую пару ВС.
6. Разработайте программу нахождения наименьшего числа, полученного при сложении смежных чисел, записанных в прямом коде. Массив чисел расположен в памяти с ячейки 1500 по 150F. Найденное число поместить в регистровую пару DE.
7. Разработайте программу сложения отрицательных чисел. Массив состоит из шестнадцати чисел расположенных в памяти с ячейки 1800, записанных в дополнительном коде. Требуется результат записать в любую регистровую пару.
8. Разработайте программу определения адресов ячеек памяти, в которых расположено число в массиве, заданное в регистре С. Массив состоит из шестнадцати чисел, расположенных в памяти с ячейки 1500. Адреса этих чисел требуется поместить в память, начиная с ячейки 1200, а их количество в регистр Е.
9. Разработайте программу позволяющую определить, какие из заданных чисел расположенных в ячейках памяти 1100, 1101, 1102 повторяются больше всего раз в массиве. Массив чисел расположен в памяти с ячейки 1500 по 150F. Найденное число поместить в регистр В.
10. Разработайте программу определения наибольшего числа полученного при вычитании смежных чисел (вычитать в следующем порядке: ячейки памяти 1501-1500; 1502-1501; 1503-1502 и т. д.). Числа записаны в дополнительном коде. Массив расположен в памяти с ячейки 1500 по 150F. Найденное число поместить в регистровую пару ВС.
11. Разработайте программу позволяющую определить адреса чисел размещенных с 1200 по 120F ячейки памяти, у которых величина меньше чем 95. Найденные адреса ячеек памяти разместить, начиная с ячейки 1400, а их количество в регистр С.
12. Разработайте программу позволяющую определить адреса чисел размещенных с 1600 по 160F ячейки памяти, у которых величина больше чем АС. Найденные адреса ячеек памяти разместить, начиная с ячейки 1400, а их количество в регистр В.
13. Разработайте программу нахождения наименьшего отрицательного числа, записанного в прямом коде в массиве. Массив чисел расположен в памяти с ячейки 1500 по 150F, а найденное число записать в регистр С.
14. Разработайте программу нахождения наименьшего положительного числа в массиве, состоящем из шестнадцати чисел (в ячейках памяти с 1500 по 150F), если числа отображены в прямом коде. Найденное число поместить в регистр С.
15. Разработайте программу нахождения чисел в массиве, которые повторяются больше всего раз. Массив чисел расположен в памяти с ячейки 1400 по 140F, а найденные числа записать, начиная с ячейки памяти 1200.
16. Разработайте программу нахождения чисел в массиве, которое повторяются меньше всего раз, Массив чисел расположен в памяти с ячейки 1900 по 190F, а найденные числа записать, начиная с ячейки памяти 1100.
17. Разработайте программу нахождения наибольшего числа, полученного при сложении смежных чисел, записанных в дополнительном коде. Массив чисел расположен в памяти с ячейки 1800 по 180F. Найденное число поместить в регистровую пару DE.
18. Разработайте программу нахождения наименьшего числа, полученного при сложении смежных чисел, записанных в дополнительном коде. Массив чисел расположен в памяти с ячейки 1300 по 130F. Найденное число поместить в регистровую пару BC.
19. Разработайте программу сложения отрицательных чисел. Массив состоит из шестнадцати чисел расположенных в памяти с ячейки 1500, записанных в обратном коде. Требуется результат записать в любую регистровую пару.
20. Разработайте программу определения адресов ячеек памяти, в которых расположено число в массиве, заданное в регистре B. Массив состоит из шестнадцати чисел, расположенных в памяти с ячейки 1300. Сумму адресов ячеек записать в регистровую пару BC, а их количество в регистр D.
21. Разработайте программу позволяющую определить, какое из заданных чисел расположенных в ячейках памяти 1200, 1201, 1202 повторяется больше всего раз в массиве. Массив чисел расположен в памяти с ячейки 1800 по 180F. Найденное число поместить в регистр C, а адреса памяти, в которых находится это число, записать в память, начиная с ячейки 1300.
22. Разработайте программу определения наименьшего числа полученного при вычитании смежных чисел (вычитать в следующем порядке: ячейки памяти 1501-1500; 1502-1501; 1503-1502 и т. д.). Числа записаны в обратном коде. Массив расположен в памяти с ячейки 1500 по 150F. Найденное число поместить в регистровую пару ВС.
23. Разработайте программу нахождения суммы всех элементов в массиве. Массив чисел расположен в памяти с ячейки 1800 по 180F. Числа записаны в прямом коде, старший бит – знак, остальные 7 – значащие разряды.
24. Разработайте программу нахождения всех отрицательный чисел в массиве. Массив состоит из шестнадцати чисел, расположенных в памяти с ячейки 1700. Требуется поместить эти числа в память, начиная с ячейки 1200, а их количество в регистр A. Числа записаны в дополнительном коде.
25. Разработайте программу нахождения всех положительных чисел в массиве. Массив состоит из шестнадцати чисел, расположенных в памяти с ячейки 1300. Требуется поместить эти числа в память, начиная с ячейки 1200, а их сумму в регистровую пару HL. Числа записаны в обратном коде.
Лабораторная работа №4