Advertisement
Guest User

Untitled

a guest
May 20th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. #################################################################
  2. # add.s
  3. # addition of an array
  4. #
  5. #################################################################
  6. .text
  7. .align 2
  8. .globl main
  9. main:
  10. sub $sp, $sp, 32 # adjust stack to save variables
  11. sw $ra, 20 ($sp) # index i
  12. sw $fp, 16($sp) # a2 contains the sum
  13. addu $fp, $sp, 28 # t2 contains the constant 4
  14. li $s0, 0
  15.  
  16. jal Fred
  17.  
  18. lw $ra,20($sp)
  19. lw $fp,16($sp)
  20. addiu $sp,$sp,32
  21. j $ra
  22.  
  23. Fred: #addi $sp, $sp, -8
  24. add $s1, $s1, $ra
  25. sw $s1, 4($sp)
  26. sw $s0, 0($sp)
  27.  
  28. addi $s0, $s0, 1
  29.  
  30. jal Bill
  31.  
  32. j $s1
  33.  
  34. Bill: #addi $sp, $sp, -8
  35. add $s2, $s2, $ra
  36. sw $s2, 8($sp)
  37.  
  38. addi $s0, $s0, 2
  39.  
  40. jal Charlie
  41.  
  42. j $s2
  43.  
  44. Charlie: add $s3, $s3, $ra
  45. sw $s3, 12($sp)
  46.  
  47. addi $s0, $s0, 3
  48.  
  49. j $s3
  50.  
  51.  
  52.  
  53.  
  54. loop: mul $t1, $a1, $t2 # t1 gets i * 4
  55. lw $a3, Nstart($t1)# a3 = N[i]
  56. add $a2, $a2, $a3 # sum = sum + N[i]
  57. add $a1, $a1, 1 # i = i + 1
  58. beq $a1, $a0, STOR # go to STOR if finished
  59. j loop
  60. STOR: sw $a2, Result # store the sum at Result
  61. .data
  62. .align 2
  63. Nstart: .word 8, 25, -5, 55, 33, 12, -78
  64. Size: .word 7
  65. Result: .word 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement