Часть 1. Передача параметров через регистры

Используйте программу нахождения наибольшего числа в списке, которая выполнялась в 1 лабораторной работе.

1. Запустите Altera Monitor Program. Откройте проект, созданный в 1 лабораторной работе. Выполните программу нахождения наибольшего числа из списка. Она содержится в файле lab1_part3 из папки «Исходные файлы к лабораторным работам». Убедитесь в работоспособности программы, меняя исходные числа во вкладке Memory AMP и наблюдая полученный результат.

2. Модифицируйте программу таким образом, чтобы она была оформлена как подпрограмма с именем Max. Список обрабатываемых чисел разместите в основной программе сразу же после последней команды. Для передачи параметров подпрограмме используйте регистры R5, для указания числа слов в списке, и регистр R6, для указания начального адреса списка. Подпрограмма будет осуществлять анализ содержимого ячеек памяти, и находить наибольшее число. Подпрограмма должна завершаться командой ret. Результат формируется в регистре R7.

3. В основной программе заполняются регистры R5 и R6 для передачи параметров, и осуществляется вызов подпрограммы с использованием команды call. Затем она выводит найденное число на светодиоды. Проверьте правильность работы программы, визуально наблюдая содержимое анализируемой области памяти, используя вкладку Memory, содержимое регистра R7 в регистровом окне приложения AMP и младшую часть результата, отображенную на светодиодах.

4. Выполните предыдущий пункт, используя команду callr.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: