Guest User

Untitled

a guest
Jun 9th, 2017
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     .data
  2. string1:    .asciiz     "Hello dark magic world!\n"
  3. string2:    .asciiz     "char at position "
  4. string3:    .asciiz     " is  \n"
  5.  
  6.  
  7.     .text
  8. main:
  9. li  $v0, 4  # load appropriate system call code into register $v0, code for printing string is 4
  10. la  $a0, string1    # load address of string to be printed into $a0
  11. syscall
  12.    
  13. li $a0, 6   # index of char to print
  14. jal print_char
  15.        
  16. addi $v0, $0, 10        # System call code for exit.
  17. syscall
  18.  
  19. print_char:
  20. # store index value in t0
  21. addi    $t0, $a0, 0
  22.  
  23. # print string2
  24. li  $v0, 4
  25. la  $a0, string2
  26. syscall
  27.  
  28. # print index
  29. li  $v0, 1
  30. addi    $a0, $t0, 0
  31. syscall
  32.  
  33. # load char from string1[t0] to t2
  34. la  $t1, string1
  35. add $t1, $t1, $t0
  36. lb  $t2, ($t1)
  37.  
  38. # update string3 at position 4 with char from t2
  39. la  $t1, string3
  40. sb  $t2, 4($t1)
  41.  
  42. # print string3
  43. li  $v0, 4
  44. la  $a0, string3
  45. syscall
  46.  
  47. jr $ra
Advertisement
Add Comment
Please, Sign In to add comment