Advertisement
Guest User

Untitled

a guest
Nov 26th, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ## T(n)={se n=1 ritorna 1, altrimenti 3T(n/2)}
  2.  
  3. .text
  4. .globl main
  5.  
  6. main:
  7.         li $v0, 4
  8.         la $a0, msg
  9.         syscall
  10.         li $v0, 5
  11.         syscall
  12.         add $a0, $0, $v0
  13.        
  14.         jal procedura
  15.        
  16.         add $a0, $0, $v0
  17.        
  18.         li $v0, 1               # print result
  19.         syscall
  20.         li $v0, 10              # exit
  21.         syscall
  22.        
  23. procedura:
  24.         addi $sp, $sp, -4
  25.         sw $ra, 0($sp)
  26.        
  27.         addi $t0, $0, 1
  28.         beq $t0, $a0, uguali
  29.        
  30.         srl $a0, $a0, 1
  31.        
  32.         jal procedura
  33.        
  34.         lw $ra, 0($sp)
  35.         addi $sp, $sp, 4
  36.        
  37.         addi $t0, $0, 3
  38.         mult $t0, $v0
  39.         mflo $v0
  40.        
  41.         jr $ra
  42.        
  43. uguali:
  44.         lw $ra, 0($sp)
  45.         addi $sp, $sp, 4
  46.        
  47.         addi $v0, $zero, 1
  48.         jr $ra
  49.  
  50. .data
  51. msg:    .asciiz "Inserisci il tuo valore: \n"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement