Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .data
- S1: .asciiz "I "
- S2: .asciiz "love "
- S3: .asciiz "assembly"
- string1: .asciiz "The first string is: "
- string2: .asciiz "\nThe second string is: "
- string3: .asciiz "\nThe third string is: "
- string4: .space 16
- S4: .asciiz "\nThe three strings combined are: "
- .text
- main:
- #display all three strings first
- li $v0, 4
- la $a0, string1
- syscall
- la $a0, S1
- syscall
- la $a0, string2
- syscall
- la $a0, S2
- syscall
- la $a0, string3
- syscall
- la $a0, S3
- syscall
- #concat
- la $a0, string4
- la $a1, S1
- la $a2, S2
- la $a3, S3
- jal strcatFirst
- #print
- jal printConcat
- #exit
- li $v0, 10
- syscall
- strcatFirst:
- lb $t0, ($a1)
- beqz $t0, strcatSecond
- sb $t0, ($a0)
- addi $a1, $a1, 1
- addi $a0, $a0, 1
- j strcatFirst
- strcatSecond:
- lb $t0,($a2)
- beqz $t0, strcatThird
- sb $t0, ($a0)
- addi $a2, $a2, 1
- addi $a0, $a0, 1
- j strcatSecond
- strcatThird:
- lb $t0, ($a3)
- beqz $t0, endStrcat
- sb $t0, ($a0)
- addi $a3, $a3, 1
- addi $a0, $a0, 1
- j strcatThird
- endStrcat:
- jr $ra
- printConcat:
- #print label
- li $v0, 4
- la $a0, S4
- syscall
- #print string4
- li $v0, 4
- la $a0, string4
- syscall
- jr $ra
Add Comment
Please, Sign In to add comment