Сформировать и вывести целочисленный массив размера N, содержащий N первых элементов последовательности чисел Фибоначчи - Assembler

Узнай цену своей работы

Формулировка задачи:

Дано целое число N(>2).Сформировать и вывести целочисленный массив размера N,содержащий N первых элементов последовательности чисел Фибоначи Fк:F1=1,F2=1,Fk=Fk-2+Fk-1,k=3,4,,,,, помогите пожалуйста

Решение задачи: «Сформировать и вывести целочисленный массив размера N, содержащий N первых элементов последовательности чисел Фибоначчи»

textual
Листинг программы
format PE Console
 
include 'win32a.inc'
 
N equ 10
 
        mov     eax,1
        mov     ebx,1
        mov     ecx,N
        sub     ecx,2
        mov     edi,fib
        add     edi,8
mMain:
        add     ebx,eax
        mov     [edi],ebx
        xchg    eax,ebx
        add     edi,4
        loop    mMain
 
        invoke  ExitProcess,0
 
fib dd N dup(1)
 
include 'API\kernel32.inc'
 
data import
 
        library kernel32,'KERNEL32.DLL'
 
end data

Объяснение кода листинга программы

Вывод массива N первых чисел последовательности Фибоначчи:

  1. Переменная N содержит размер массива.
  2. В начале программы инициализированы два первых элемента последовательности в переменных eax и ebx.
  3. Затем счётчик цикла (ecx) устанавливается равным N минус 2, так как индексация массива начинается с 1.
  4. Далее, в переменную edi записывается адрес первого элемента массива fib.
  5. К этому адресу добавляется 8, чтобы указать на первый элемент, который будет выводиться.
  6. В цикле mMain происходит формирование и вывод чисел Фибоначчи в массив fib.
  7. Сначала к ebx прибавляется значение eax (первый элемент), и результат записывается в массив.
  8. Затем значения eax и ebx меняются местами, чтобы в следующем цикле использовать eax как временную переменную.
  9. К edi прибавляется 4, чтобы перейти к следующему элементу массива.
  10. Цикл продолжается до тех пор, пока счётчик не станет равным 0.
  11. В конце программы вызывается функция ExitProcess с аргументом 0.
  12. В разделе данных определён массив fib размером N, все элементы которого равны 1.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.5 из 5
Похожие ответы