Лабораторная работа №5. Расширенная работа с памятью и передача управления в программе

 

Реализуйте на языке ассемблера микропроцессора i8086 следующие программы, используя команды передачи управления call и ret:

 

1. Определить результативность стрельбы (n/n1) в круглую мишень радиусом R=10, где n - количество попаданий; n1 - количество выстрелов. Координаты встречи пули с плоскостью мишени заданы в виде двух массивов Х(I) и У(I). Определение попадания снаряда в мишень оформить в виде подпрограммы.

2. Даны два множества заданные в виде массивов А(I) и В(I); I=1,2,..,10. Найти сумму (об’единение) множеств. C(J) - сумма двух множеств есть множество всех элементов принадлежащих А или В. Например, {1,2,3} U {2,3,4} = {1,2,3,4}. Задачу добавления нового элемента массива оформить в виде подпрограммы.

 

3. Даны два массива А(I) и В(I). Найти max(A(I)), max(B(D)), min(A(D), min(B(I)). Задачу нахождения max и min оформить в виде подпрограмм. I=1,2,...5.

4. Даны два множества А и В. Найти произведение (пересечение) двух множеств. C(J) - произведение есть множество всех элементов, принадлежащих как к А, так и к В. Например, {1,2,3} n {2,3,4} = {2,3}. Задачу удаления элементов массива имеющих одинаковые значения оформить в виде подпрограммы.

5. Протабулировать функцию у(x), заданную в виде: y(x) = ах + b , если 1 < x <= 5; y(x) = bx + а , если 5 < x <= 10, где а - max(A(I)), а в - max(B(I)); I=1,2,...,5 Нахождение max оформить в виде подпрограммы Шаг табуляции x=1.

6. Количество сочетаний С вычисляется выражением: Cnm = n!/((n-m)! m!)Найти C53, C64. Вычисление факториала оформить в виде подпрограммы.

7. Вычислить функцию у(x) = ах + в, где а и в – количество элементов массива А(I) лежащих в диапазоне (0,...,15) и (40,...,120) соответственно. Нахождение количества элементов массива, лежащих в заданном диапазоне оформить в виде подпрограммы I=1,2,..,10. 1<= x <= 10, шаг 1.

8. Вычислить функцию заданную в виде: y(x) = а , если 1 < x <= 5; y(x) = b , если 5 < x <= 10, где а и в - элементы массивов А(I), В(I), стоящие в третьей позиции после сортировки в порядке возрастания. Сортировку массива в порядке возрастания оформить в виде подпрограммы.

9. Найти произведения сумм трех одномерных массивов А(I), В(I), C(I). Вычисление сумм оформить в виде подпрограммы.

10. Подсчитать количество четных чисел в каждой строке матрицы A(I,J), I, J = 1,2,..,5. Подсчет количества четных чисел в строке оформить в виде подпрограммы.

11. Найти отношение следа матрицы A(I,J) к следу матрицы В(I,J), при I,J = 1,2,..,5. След матрицы - сумму диагональных элементов матрицы А(I,I), вычислить с помощью подпрограммы.

12. Определить среднее значение элементов массива А(I) и В(I). Определение среднего значения оформить в виде подпрограммы.

13. Найти сумму положительных элементов строк матрицы А(I,J). Подсчет суммы положительных элементов одной строки матрицы оформить в виде подпрограммы. I, J = 1,2,...5.

14. Отсортировать элементы строк матрицы A(I,J) в порядки уменьшения их значений. Сортировку строк оформить в виде подпрограммы I,J=1,2,..,5.

15. Найти минимальное значение из максимальных значений строк матрицы А(I,J). Нахождение максимального значения строки матрицы оформить в виде подпрограммы. I, J=1,2,...,5.