Diferencia entre revisiones de «Fibonacci.fma»

De Wiki Asqueados
Saltar a: navegación, buscar
()
()
 
(No se muestran 38 ediciones intermedias de 3 usuarios)
Línea 3: Línea 3:
 
Calcula la sucesión de Fibonacci.
 
Calcula la sucesión de Fibonacci.
  
viagra cialis levitra clomid buy viagra onli generic viagra www.parzufim.com cipro gay viagra buy viagra online cheap viagra
+
== Código ==
free viagra
+
 
herbal viagra
+
 
propecia xenical viagra side effects buy viagra zithromax lasix female viagra cream cheapest cialis www.parzufim.com
+
  <nowiki>
 +
LDI 1,1    ; 0 constante 1
 +
LDI 300,2  ; 2 contador A
 +
LDI 301,3  ; 4 contador B
 +
LDI 302,C  ; 6 contador de escritura
 +
LDI 400,D ; 8 límite
 +
 
 +
LD 1,A  ; A
 +
LD 1,B
 +
ST A,2
 +
ST B,3
 +
 
 +
ADD A,B  ;E
 +
ST B,C
 +
ADD 1,2
 +
ADD 1,3
 +
ADD 1,C
 +
LD 2,A
 +
LD 3,B
 +
JGE D,C,E
 +
 
 +
LDI CACA,B
 +
ST B,C
 +
</nowiki>
  
 
== Algoritmo ==
 
== Algoritmo ==

Revisión actual del 03:24 22 ene 2009

Programa de prueba de las instrucciones aritméticas.

Calcula la sucesión de Fibonacci.

Código

 
LDI 1,1    ; 0 constante 1
LDI 300,2  ; 2 contador A
LDI 301,3  ; 4 contador B
LDI 302,C  ; 6 contador de escritura
LDI 400,D  ; 8 límite

LD 1,A   ; A
LD 1,B
ST A,2
ST B,3

ADD A,B  ;E
ST B,C
ADD 1,2
ADD 1,3
ADD 1,C
LD 2,A
LD 3,B
JGE D,C,E

LDI CACA,B
ST B,C

Algoritmo

Cargamos 1 en A y en B. El registro 2 llevará la posición de A, el 3 la de B y el registro C la posición de escritura. En cada iteración se suma A y B, se guarda el resultado en C se incrementan los "punteros" 2, 3 y C, y se vuelven a cargar los valores de A y B.

En seudocódigo:

 
A=1
B=1
[2]=A
[3]=B
salto:
B=A+B
[C]=B
2++
3++
C++
A=[2]
B=[3]
si C<D goto salto