Fibonacci em assembly

Publicado por Leonardo Weslei Diniz 10/06/2008

[ Hits: 15.710 ]

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

Fatorial de N em Assembly

Escrita de um número em decimal na tela em Assembly Puro para Linux x86 (Nasm - Netwide Assembly)

Escrita de um número em hexadecimal na tela em Assembly Puro para Linux x86 (Nasm - Netwide Assemble

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

GAS Uppercase


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts