Fibonnacci
Publicado por yamila (1 intervención) el 24/11/2008 05:58:39
Necesito que alguien me responda cómo puedo hacer un algoritmo para generar la Serie de fibonnacci para los 24 primeros numeros en lenguaje ensamblador.
Valora esta pregunta


0
section .data
fib_sequence db 24 dup(0) ; Reservamos espacio para almacenar los 24 números de Fibonacci
n equ 24 ; Número de elementos en la secuencia
section .text
global _start
_start:
mov ecx, n ; Cargamos el contador con el número de elementos
mov ebx, 1 ; Inicializamos el segundo número de Fibonacci (F(1))
mov esi, 0 ; Inicializamos el primer número de Fibonacci (F(0))
mov edi, fib_sequence ; Dirección de inicio de la secuencia de Fibonacci
next_fibonacci:
mov [edi], esi ; Almacenamos el número actual de Fibonacci en el arreglo
add edi, 1 ; Nos movemos al siguiente elemento del arreglo
mov eax, ebx ; Guardamos temporalmente el segundo número de Fibonacci
add eax, esi ; Sumamos los dos últimos números de Fibonacci para obtener el siguiente
mov esi, ebx ; Actualizamos el primer número de Fibonacci (F(i-1))
mov ebx, eax ; Actualizamos el segundo número de Fibonacci (F(i))
loop next_fibonacci ; Repetimos el proceso para los siguientes números
; En este punto, la secuencia de Fibonacci se encuentra en fib_sequence
; Puedes hacer lo que desees con ella, como imprimir los números o utilizarlos para otros propósitos
; Tu código para imprimir la secuencia de Fibonacci o realizar otras operaciones aquí
; Terminamos el programa
mov eax, 1 ; Código de salida del programa
xor ebx, ebx ; Código de salida de éxito
int 80h ; Llamada al sistema para terminar el programa