Advertisement
Guest User

Untitled

a guest
Oct 2nd, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .data
  2.  
  3.     msg1:    .asciiz "donnez un entier "
  4.     msg2:    .asciiz "le fibonacci de "
  5.     msg3:    .asciiz " est "
  6.     input:    .word     0
  7.     output:   .word     0
  8.  
  9. .text
  10.  
  11. #lire un entier dans $v0    
  12.     li $v0,4
  13.     la $a0,msg1
  14.     syscall
  15.  
  16.     li $v0,5
  17.     syscall
  18.    
  19.     sw $v0,input
  20.     move $a0,$v0
  21.     subiu $a0,$a0,1
  22.     li $v0,1
  23.     jal fibo
  24.     sw $v0,output
  25.     j print_res
  26.    
  27. fibo :
  28.     subu $sp,$sp,16
  29.     sw   $ra,0($sp)
  30.     sw   $s0,4($sp)
  31.     sw   $s1,8($sp)
  32.     sw   $s2,12($sp)
  33. #la case de base de fibo
  34.     li $v0,1
  35.     blt $a0,2,end_fibo
  36.    
  37. #le calcule de fibo    
  38.  
  39.     move $s0,$a0
  40.     subu $a0,$s0,1
  41.     jal fibo
  42.     move $s1,$v0
  43.     subu $a0,$s0,2
  44.     jal fibo
  45.     move $s2,$v0
  46.     add $v0,$s1,$s2
  47. end_fibo :
  48.     lw   $ra,0($sp)
  49.     lw   $s0,4($sp)
  50.     lw   $s1,8($sp)
  51.     lw   $s2,12($sp)
  52.     addiu $sp,$sp,16
  53.     jr $ra
  54. print_res :
  55.     li $v0,4
  56.     la $a0,msg2
  57.     syscall
  58.     li $v0,1
  59.     lw $a0,input
  60.     syscall
  61.     li $v0,4
  62.     la $a0,msg3
  63.     syscall
  64.     li $v0,1
  65.     lw $a0,output
  66.     syscall
  67.     li $v0,10
  68.     syscall
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement