Fibonacci em assembly

Publicado por Leonardo Weslei Diniz 10/06/2008

[ Hits: 7.749 ]

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

Escrita de um número em decimal na tela em Assembly Puro para Linux 64 bits (GNU Assembly)

"Clear Screen" para Linux x86 em Assembly Puro (Nasm - Netwide Assembler)

Expressão matemática em C

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

FreeBSD Execve

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário