Advertisement
Guest User

Untitled

a guest
Mar 12th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .data
  2.    arr1: .word 4 7 12 5
  3.    arr2: .word 15 3 6 14
  4.    result: .word 0 0 0 0 0
  5.  
  6. .text
  7.  
  8. main:
  9.   la $t0, arr1
  10.   la $t1, arr2
  11.   la $t2, result
  12.    
  13.   addi $s0, $0, 0
  14.  
  15. for_loop:  
  16.   slti $s1, $s0,4
  17.   beq $s1, $0, exit_loop
  18. #------------------Calling the distance function-------------------------------  
  19.   add $sp, $sp, -12
  20.   sw $t0, 8($sp)
  21.   sw $t1, 4($sp)
  22.   sw $t2, 0($sp)
  23.  
  24.   lw $a0, 0($t0)
  25.   lw $a1, 0($t1)
  26.   jal distance
  27.  
  28.   lw $t2, 0($sp)
  29.   lw $t1, 4($sp)
  30.   lw $t0, 8($sp)
  31.   add $sp, $sp,12  
  32. #-------------------------------------------------  
  33.   sw $v0, 0($t2)
  34.    
  35.   addi $t0, $t0,4
  36.   addi $t1, $t1,4
  37.   addi $t2, $t2,4
  38.   addi $s0, $s0,1
  39.   j for_loop
  40.  
  41. exit_loop:  
  42.   li $v0,10
  43.   syscall
  44.  
  45.  
  46. swap:
  47.   add $t0, $a0, $0
  48.   add $a0, $a1, $0  
  49.   add $a1, $t0, $0
  50.   jr $ra
  51.  
  52. distance:
  53.   add $t0, $a0, $0
  54.   add $t1, $a1, $0
  55.  
  56.   slt $t2, $t0, $t1
  57.   beq $t2, $0, if_done  
  58.  
  59.  
  60.   add $sp, $sp, -4 #Pushing $sp into stack
  61.   sw $ra, 0($sp)
  62.  
  63.   add $a0, $t0, $0  #call the swap function
  64.   add $a1, $t1, $0  
  65.   jal swap  
  66.  
  67.   lw $ra, 0($sp)
  68.   add $sp, $sp,4
  69.  
  70.   if_done:
  71.     sub $v0, $a0, $a1
  72.  
  73.   jr $ra
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement