Advertisement
Guest User

Untitled

a guest
Jun 20th, 2018
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. .data
  2. str1: .asciiz "Lager"
  3. str2: .asciiz "Regal"
  4. str3: .space 10
  5. .byte 0xff
  6. .byte 0xff
  7. .text
  8. #convention s1 is for adresses
  9. or $s7, $zero , $zero #s7 is counter for sting length --strlen();--
  10. la $s1, str2 #LOAD ADDR FOR PASS
  11. jal strlen #STRLEN PASS
  12. #make a new address(s2)added with strlen to acess the last character in the string
  13. la $s1, str2
  14. addu $s2, $s1, $s7
  15. jal switchletters
  16. j return0 #EXIT PROGRAMM C STYLE ;-)
  17.  
  18. strlen:
  19. lbu $a0, ($s1) #loads byte
  20. beqz $a0, back #jumpsback if finished
  21. addi $s7,$s7, 0x01 #increasing the sting length counter by 1
  22. addi $s1, $s1, 0x01 #increasing the position in data section by 1 byte
  23. j strlen
  24.  
  25. switchletters:
  26. lbu $a1, ($s1)
  27. lbu $a2, ($s2)
  28. sb $a2, ($s1)
  29. sb $a1, ($s2)
  30. subi $s2, $s2, 1
  31. addi $s1, $s1, 1
  32. beq $s1, $s2, return0
  33. j switchletters
  34.  
  35. back: jr $ra
  36.  
  37.  
  38. return0:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement