Fibonacci em assembly

Publicado por Leonardo Weslei Diniz 10/06/2008

[ Hits: 7.840 ]

Homepage: http://www.agilesoft.com.br/

Download fibo.s




Cálculo do número de fibonacci.




Esconder código-fonte

#By Exterminador3
.data
   msg1:.asciiz "Digite um numero inteiro : "
.text
.globl main
   main:
   li $v0,4
   la $a0,msg1
   syscall
   li $v0,5
   syscall
   add $a0,$v0,$zero
   jal fib   #fibonacc($a0)
   add $a0,$v0,$zero
   li $v0,1
   syscall
   li $v0,10
   syscall
   fib:
   #a0=a
   #if (a==0) return 0;
   #if (a==1) return 1;
   
   #    int x($t1),y($t2),z($t3),i($t4);
   #    for (x=0,y=0,z=1,i=1;i<a;i++) {
   #        x=y+z;
   #        y=z;
   #        z=x;   }   
   
   #    return(x);
   
   addi $t0,$zero,1
   
   beqz $a0,return0
   beq $a0,$t0,return1
   
   
   add $t1,$zero,$zero
   add $t2,$zero,$zero
   addi $t3,$zero,1
   addi $t4,$zero,1
   
   loop:
   bge $t4,$a0,endloop
   add $t1,$t2,$t3
   add $t2,$zero,$t3
   add $t3,$zero,$t1
   addi $t4,$t4,1
   j loop
   
   endloop:
   add $v0,$zero,$t1
   jr $ra
   
   return0:
   add $v0,$zero,$zero
   jr $ra
   
   return1:
   addi $v0,$zero,1
   jr $ra

Scripts recomendados

Calculadora em C com Assembly (multiplataforma)

Inverter uma string, Assembly8086

Árvore binária de busca em Assembler 8086

GAS Uppercase

Crivo de Eratóstenes Simples para Linux x86 em Assembly Puro (GNU Assembler)

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário