PDA

View Full Version : Fibonacci Assembly


rizzotti91
07-02-2012, 16:40
Ciao a tutti, a parte il programmino sulla serie di Taylor che ho descritto in un'altra discussione, ho necessità di calcolare l'nesimo numero di Fibonacci e stamparlo, ed in un altro esercizio stampare una serie completa di Fibonacci fino ad un n-esimo numero prestabilito.

Per quanto riguarda l'n-esimo numero ho scritto il programma così:

mov ah,1h
int 21h
and al,0fh
mov dl,al
mov cl,2
mov al,0
mov bl,1
ciclo: cmp cl,dl
je pari
add al,bl
add bl,al
add cl,2
cmp cl,dl
je pari
jl ciclo
dispari: mov dl,al
mov ah,2h
int 21h
jmp fine
pari: mov dl,bl
mov ah,2h
int 21h
jmp fine
fine: mov ah,4c00h
int 21h

Consigli per ottimizzarlo o comunque c'è da aggiungere qualcosina?

Per quanto riguarda la serie di fibonacci, non ci riesco a gestire la stampa a schermo, ho abbozzato questo:

mov ah,1h
int 21h
and al,0fh
mov dh,al
mov cl,2
mov al,0
mov bl,1
cmp dh,cl
je stampa
jl stampa1

ciclo: cmp cl,dh
je pari
add al,bl
add bl,al
add cl,2
cmp cl,dh
je pari
jl ciclo
dispari: mov dl,al
mov ah,2h
int 21h
jmp fine
pari: mov dl,bl
mov ah,2h
int 21h
jmp fine
stampa: mov dl,al
mov ah,2h
int 21h
mov dl,bl
mov ah,2h
int 21h
jmp fine
stampa1: mov dl,al
mov ah,2h
int 21h
cmp dh,1
je fine
jmp ciclo
stampa2:mov dl,bl
mov ah,2h
int 21h
jmp ciclo

fine: mov ah,4c00h
int 21h
Credo però che sia pieno di fesserie... per favore aiutatemi che domani c'è l'esame :ciapet:

Grazie mille a tutti :)

rizzotti91
07-02-2012, 23:46
Ho provato a fare la serie di fibonacci ed è venuto fuori questo:
mov cl,2
mov al,0
mov bl,1
mov dl,al
mov ah,2h
int 21h
mov dl,bl
mov ah,2h
int 21h
ciclo: add al,bl
add bl,al
mov dl,al
mov ah,2h
int 21h
mov dl,bl
mov ah,2h
int 21h
add cl,1
cmp cl,var
jl ciclo
fine: mov ax,4c00h
int 21h

Ovviamente errato, ma qual è il problema?

rizzotti91
10-02-2012, 15:29
UP, l'esame è stato spostato ed ho ancora bisogno di aiuto..