Числа Фибоначчи
Автор: GeniaS • Декабрь 25, 2022 • Контрольная работа • 661 Слов (3 Страниц) • 154 Просмотры
1. Числа Фибоначчи.
Задача: просуммировать первые 5 чисел из ряда чисел Фибоначчи.
Решение этой задачи можно построить различными вариантами.
Предложение: пусть это будут две программы такого вида:
Листинг 1 Листинг 2
Задания:
Проверьте, что обе программы работают.
Определите, в каких регистрах хранится ответ.
Добавьте в эти программы аналогичные строки, чтобы вычислялись первые 10 чисел Фибоначчи.
Проверьте, что программы работают, и результаты получаются верными. Примечание: ответ в регистрах показывается в шестнадцатеричном формате.
Макросы.
Теперь давайте вспомним, что программы в ассемблере можно записывать, используя макросы с параметрами и без.
Макроопределение:
Размещаться макроопределения могут:
1. В любом месте программы. !Обязательно до первой ссылки на него!
2. В отдельном файле. Чтобы сделать доступными макроопределения в программе, необходимо в начале программы использовать директиву INCLUDE <имя файла>. При этом на этапе работы макрогенератора текст указанного файла будет вставлен полностью на место директивы.
Макровызов:
Формальные параметры макроопределения заменяются соответствующими фактическими параметрами макрокоманды:
1. i-тый фактический параметр соответствует i-тому формальному параметру.
2. Число фактических параметров должно быть равно числу формальных параметров,
если фактических параметров больше, то лишние игнорируются.
если формальных больше, считается что в качестве недостающих фактических указаны пустые тексты.
Действия макрогенератора:
1) макрогенератор находит макроопределение с указанным именем;
2) в его теле заменяет все формальные параметры фактическими;
3) полученное макрорасширение подставляет в программу вместо макрокоманды.
Задание:
Используя макросы без параметров измените увеличенную программу из Листинга 1.
Используя макросы с параметрами измените увеличенную программу из Листинга 2.
Проверьте корректность работы программ в отладчике.
Убедитесь, что на выполнение поставляется программа после использования макровызовов.
2. Арифметические вычисления
Давайте потренируемся вычислять значения площадей поверхности и объемов различных геометрических тел (чисто с тренировочной точки зрения..):
Объем Площадь поверхности
правильная четырехугольная пирамида
Примечание: пока мы работаем с целыми числами, поэтому значения исходных данных подбирайте соответствующие.
Для вычисления значений по подобным формулам могут понадобиться следующие директивы: MOV, ADD, SUB, MUL (IMUL), DIV (IDIV), INC, DEC, PUCH, POP (если забыли,
...