Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .data
- str1: .asciiz "Lager"
- str2: .asciiz "Regal"
- str3: .space 10
- .byte 0xff
- .byte 0xff
- .text
- #convention s1 is for adresses
- or $s7, $zero , $zero #s7 is counter for sting length --strlen();--
- la $s1, str2 #LOAD ADDR FOR PASS
- jal strlen #STRLEN PASS
- #make a new address(s2)added with strlen to acess the last character in the string
- la $s1, str2
- addu $s2, $s1, $s7
- jal switchletters
- j return0 #EXIT PROGRAMM C STYLE ;-)
- strlen:
- lbu $a0, ($s1) #loads byte
- beqz $a0, back #jumpsback if finished
- addi $s7,$s7, 0x01 #increasing the sting length counter by 1
- addi $s1, $s1, 0x01 #increasing the position in data section by 1 byte
- j strlen
- switchletters:
- lbu $a1, ($s1)
- lbu $a2, ($s2)
- sb $a2, ($s1)
- sb $a1, ($s2)
- subi $s2, $s2, 1
- addi $s1, $s1, 1
- beq $s1, $s2, return0
- j switchletters
- back: jr $ra
- return0:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement