Reputation: 11
# PART 1
.data # Data declaration section
sourceprompt: .ascii "Enter a source string: "
queryprompt: .ascii "Enter a query string: "
replaceprompt: .ascii "Enter a replace string: "
nomatch: .ascii "Nothing to replace "
source: .space 256
query: .space 256
replace: .space 256
.text
main: # Start of code section
li $v0, 4 # Load system call for printing into $v0
la $a0, sourceprompt # Load address of string into $a0
syscall # call operating system to perform operation
li $v0, 8 # Load system call for reading string into $v0
la $a0, source # Load byte space into source so string has a place to go
li $a1 256 # Set the byte space for the string
syscall
move $t1, $a0 #move source out of a0 so it doesn't get replaced
li $v0, 4 # Load system call for printing into $v0
la $a0, queryprompt # Load address of string into $a0
syscall # call operating system to perform operation
li $v0, 8 # Load system call for reading string into $v0
la $a0, query # Load byte space into buffer so string has a place to go
li $a1 256 # Set the byte space for the string
syscall # call operating system to perform operation
move $t2, $a0 #move query into t2
li $v0, 4 # Load system call for printing into $v0
la $a0, replaceprompt # Load address of string into $a0
syscall # call operating system to perform operation
li $v0, 8 # Load system call for reading string into $v0
la $a0, replace # Load byte space into buffer so string has a place to go
li $a1 256 # Set the byte space for the string
syscall # call operating system to perform operation
move $t3, $a0 #move replace into t3
PRINTS
Enter a source string: Enter a query string: Enter a replace string: Nothing to replace
i don't want that! i want it to prompt one by one! why is it doing htat?!!
Upvotes: 0
Views: 525
Reputation: 4961
Those strings aren't null terminated. Use .asciiz instead.
Upvotes: 1