Министерство образования Республики Беларусь

Примерный перечень задач к экзамену и контрольной работе №1 по курсу ППО ВС РВ

Написать головную программу и подпрограмму на Ассемблере для преобразования данных, вводимых из одного пространства памяти процессора TMS320VC5402, и выводом результата в другое адресное пространство.

Каждая директива Ассемблера и каждая команда должны сопровождаться комментариями.

1. Написать головную программу и подпрограмму для TMS320VC5402 для поиска максимального значения в массиве дробных чисел со знаком. Массив вводится из параллельного порта 7 (PA7), число элементов массива COUNT находится в ячейке памяти данных и передается в подпрограмму через регистр AR2, максимальное значение записывается в память данных по адресу MAX.

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

2. Написать головную программу и подпрограмму для TMS320VC5402 для поиска минимального значения в массиве целых чисел без знака. Массив вводится из последовательного порта McBSP0, число элементов массива NUMB задается константой и передается в подпрограмму через регистр AR7, минимальное значение записывается в память данных по адресу MIN.

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

3. Написать головную программу и подпрограмму для TMS320VC5402 для изменения знака элементов массива целых чисел на противоположный. Адреса исходного OLD и результирующего NEW массивов передаются в подпрограмму через регистры AR3 и AR4, число элементов массива ELEM задается константой и передается в подпрограмму через регистр AR6.

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

4. Написать головную программу и подпрограмму для TMS320VC5402 для изменения знака элементов массива дробных чисел на противоположный. Массив вводится из параллельного порта 22 (PA22), число элементов массива CHIS находится в ячейке памяти данных и передается в подпрограмму через регистр BRC, измененные значения выводятся в последовательный порт McBSP1.

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

5. Написать головную программу и подпрограмму для TMS320VC5402 для инвертирования всех разрядов элементов массива чисел. Адрес исходного массива данных MASIV передается в подпрограмму через регистр AR1, число элементов массива CNT находится в ячейке памяти данных и передается в подпрограмму через регистр AR3, новые значения выводятся в последовательный порт McBSP0.

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

6. Написать головную программу и подпрограмму для TMS320VC5402 для инвертирования всех разрядов элементов массива чисел. Массив вводится из последовательного порта McBSP1, число элементов массива NUM задается константой и передается в подпрограмму через регистр AR5, адрес выходного массива данных INV передается в подпрограмму через регистр AR6.

7. Написать головную программу и подпрограмму для TMS320VC5402 для инвертирования знакового разряда элементов массива целых чисел. Массив вводится из параллельного порта 15 (PA15), число элементов массива COUNT задается константой и передается в подпрограмму через регистр BRC, измененные значения выводятся в последовательный порт McBSP0.

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

8. Написать головную программу и подпрограмму для TMS320VC5402 для инвертирования знакового разряда элементов массива дробных чисел. Массив вводится из последовательного порта McBSP0, число элементов массива ELEM находится в ячейке памяти данных и передается в подпрограмму через регистр AR4, измененные значения выводятся в параллельный порт 12 (PA12).

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

9. Написать головную программу и подпрограмму для TMS320VC5402 для прибавления к элементам массива беззнаковых чисел константы KONST. Массив вводится из последовательного порта McBSP1, число элементов массива RAZM задается константой и передается в подпрограмму через регистр BRC, адрес выходного массива данных SUMM передается в подпрограмму через регистр AR4.

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

10. Написать головную программу и подпрограмму для TMS320VC5402 для вычитания из элементов массива чисел со знаком содержимого ячейки DAT. Массив вводится из параллельного порта 20 (РА20), число элементов массива CHIS находится в ячейке памяти данных и передается в подпрограмму через регистр AR3, измененные значения выводятся в последовательный порт McBSP1.

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

11. Написать головную программу и подпрограмму для TMS320VC5402 для умножения элементов массива целых чисел на дробную константу CONS. Адрес исходного массива данных DAT передается в подпрограмму через регистр AR4, число элементов массива ELEM задается константой и передается в подпрограмму через регистр AR3, новые значения выводятся в параллельный порт 34 (PA34).

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

12. Написать головную программу и подпрограмму для TMS320VC5402 для умножения элементов массива дробных чисел на целое число из ячейки MUL. Массив вводится из параллельного порта 14 (PA14), число элементов массива COUNT находится в ячейке памяти данных и передается в подпрограмму через регистр AR1, измененные значения выводятся в последовательный порт McBSP0.

13. Написать головную программу и подпрограмму для TMS320VC5402 для умножения элементов массива дробных чисел на дробное число из ячейки COEF. Адрес исходного массива данных DAT передается в подпрограмму через регистр AR4, число элементов массива CNT задается константой и передается в подпрограмму через регистр BRC, новые значения выводятся в параллельный порт 30 (PA30).

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

14. Написать головную программу и подпрограмму для TMS320VC5402 для умножения элементов массива целых чисел на целую константу KONST. Массив вводится из параллельного порта 4 (PA4), число элементов массива CHIS находится в ячейке памяти данных и передается в подпрограмму через регистр AR6, адрес выходного массива MULT передается в подпрограмму через регистр AR5.

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

15. Написать головную программу и подпрограмму для TMS320VC5402 для подсчета в массиве количества нечетных слов. Адрес исходного массива данных MAS передается в подпрограмму через регистр AR3, число элементов массива COUNT задается константой и передается в подпрограмму через регистр BRC. Количество нечетных слов записывается в конец массива.

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

16. Написать головную программу и подпрограмму для TMS320VC5402 для подсчета в массиве количества четных слов. Адрес исходного массива данных MASIV передается в подпрограмму через регистр AR5, число элементов массива NUM в ячейке памяти данных и передается в подпрограмму через регистр BRC, результат выводится в последовательный порт McBSP1.

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

17. Написать головную программу и подпрограмму для TMS320VC5402 для подсчета в массиве беззнаковых чисел количества чисел больших, чем в ячейке POROG. Массив вводится из параллельного порта 33 (PA33), число элементов массива RAZM задается константой и передается в подпрограмму через регистр AR2, результат выводится в последовательный порт McBSP1.

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

18. Написать головную программу и подпрограмму для TMS320VC5402 для подсчета в массиве чисел со знаком количества чисел меньших, чем константа POROG. Массив вводится из последовательного порта McBSP0, число элементов массива RAZM находится в ячейке памяти данных и передается в подпрограмму через регистр AR7, количество четных слов выводится в параллельный порт 3 (PA3).

19. Написать головную программу и подпрограмму для TMS320VC5402 для подсчета в массиве целых чисел количества положительных чисел. Массив вводится поэлементно из параллельного порта 12 (PA12), число элементов массива RAZM задается константой и передается в подпрограмму через регистр BRC, результат выводится в последовательный порт McBSP0.

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

20. Написать головную программу и подпрограмму для TMS320VC5402 для подсчета в массиве дробных чисел количества отрицательных чисел. Массив вводится из последовательного порта McBSP1, число элементов массива NUMB находится в ячейке памяти данных и передается в подпрограмму через регистр BRC, результат выводится в параллельный порт 23 (PA23).

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

21. Написать головную программу и подпрограмму для TMS320VC5402 нахождения суммы элементов массива целых чисел без знака. Массив вводится из последовательного порта McBSP0, число элементов массива NUMB находится в ячейке памяти данных и передается в подпрограмму через регистр AR2, адрес ячейки для записи результата PLUS передается в подпрограмму через регистр AR3.

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

22. Написать головную программу и подпрограмму для TMS320VC5402 нахождения суммы элементов массива дробных чисел. Адрес исходного массива данных MASIV передается в подпрограмму через регистр AR5, число элементов массива NUMB задается константой и передается в подпрограмму через регистр AR6, количество отрицательных чисел выводится в параллельный порт 17 (PA17).

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

1. Написать головную программу и подпрограмму для TMS320VC5402 нахождения суммы элементов массива целых чисел со знаком. Массив вводится поэлементно из параллельного порта 42 (PA42), число элементов массива CHIS задается константой и передается в подпрограмму через регистр AR5, результат выводится в последовательный порт McBSP0.

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

2. Написать головную программу и подпрограмму для TMS320VC5402 нахождения суммы элементов массива дробных чисел. Адрес исходного массива данных SUMM передается в подпрограмму через регистр AR3, число элементов массива ELEM находится в ячейке памяти данных и передается в подпрограмму через регистр AR4, результат выводится в параллельный порт 8 (PA8).

3. Написать головную программу и подпрограмму для TMS320VC5402 для поиска максимального значения в массиве дробных чисел со знаком. Массив вводится из параллельного порта 7 (PA7), число элементов массива CNT находится в ячейке памяти данных и передается в подпрограмму через регистр AR2, максимальное значение записывается в память данных по адресу MAX.

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

4. Написать головную программу и подпрограмму для TMS320VC5402 для поиска минимального значения в массиве целых чисел без знака. Массив вводится из последовательного порта McBSP0, число элементов массива NUM задается константой и передается в подпрограмму через регистр AR7, минимальное значение записывается в память данных по адресу MIN.

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

5. Написать головную программу и подпрограмму для TMS320VC5402 для подсчета в массиве дробных чисел количества чисел, равных значению в ячейке POROG. Адрес массив DAT передается в подпрограмму через регистр AR3, число элементов массива CNT задается константой и передается в подпрограмму через регистр AR2, результат записывается в память данных в конец массива.

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

6. Написать головную программу и подпрограмму для TMS320VC5402 для подсчета в массиве целых чисел количества чисел, равных нулю. Массив вводится из последовательного порта McBSP1, число элементов массива NUM находится в ячейке памяти данных и передается в подпрограмму через регистр AR7, результат выводится в параллельный порт 30 (PA30).

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

7. Написать головную программу и подпрограмму для TMS320VC5402 для умножения элементов массива целых чисел на дробное число из ячейки CONST. Массив вводится из последовательного порта McBSP0, число элементов массива NUM находится в ячейке памяти и передается в подпрограмму через регистр AR5, адрес выходного массива NEW передается в подпрограмму через регистр AR5.

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

8. Написать головную программу и подпрограмму для TMS320VC5402 для умножения элементов массива дробных чисел на целую константу MULT. Массив вводится из последовательного порта McBSP1, число элементов массива NUM задается константой и передается в подпрограмму через регистр BRC. Новые значения выводятся в параллельный порт 20 (PA20).