Программирование микропроцессора КР580ВМ80А. Обработка массивов.

Задание:

 

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