Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

could I get some help replacing the output code with a decision statement that prints more informative messages for the cases where the data is

could I get some help replacing the output code with a decision statement that prints more informative messages for the cases where the data is in the array and the data is not in the array

I need to implement a MIPS version of the java code below into the code replacing the output statement that is in bold thanks.

if (index != -1) print "x[", index, "]=", key else print "The value", key, " was not found"

CODE #

.data

program: .asciiz "Array Search Program" prompt: .asciiz "Enter search value: " txt1: .asciiz "x[" txt2: .asciiz "]=" txt3: .asciiz "The value " txt4: .asciiz " was not found" txt5: .ascii "Search returns " .align 2 x: .word 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31 .global main

.text

main: # register map # # $s0 search value # Print program header la $a0, program jal printlnString # Input and save search key la $a0, prompt jal getIntPrompt move $s0, $v0 slt # Search for key in array x move $a0, $s0 la $a1, x li $a2, 11 jal search # Print index of key la $a0, txt5 move $a1, $v0 jal printlnStringInt # Exit li $v0, 10 syscall search: # register map # $a0 search value # $a1 array address # $a2 array size # # $t0 loop counter # $t1 address of i'th array element # value of i'th array element li $v0, -1 # for $t0=0, $t0 < $a3, $t0++ li $t0, 0 loop: bge $t0, $a2, return sll $t1, $t0, 2 addu $t1, $t1, $a1 lw $t1, ($t1) # if x[i] > $a0 bne $t1, $a0, endif2 move $v0, $t0 j return endif2: addi $t0, $t0, 1 j loop return: jr $ra # includes input functions # place this code at the end of your assembly file .data newLine: .asciiz " " space: .asciiz " " .align 2

.text

printSpace: # prints a space # arguments # none # returns # none la $a0, space li $v0, 4 syscall jr $ra println: # prints a new line # arguments # none # returns # none la $a0, newLine li $v0, 4 syscall jr $ra printInt: # prints an integer # arguments # $a0 integer to print # returns # none li $v0, 1 syscall jr $ra

printlnInt: # prints an integer with a new line # arguments # $a0 integer to print # returns # none li $v0, 1 syscall la $a0, newLine li $v0, 4 syscall jr $ra

printString: # prints a string # arguments # $a0 address of string to print # returns # none li $v0, 4 syscall jr $ra printlnString: # prints a string with a new line # arguments # $a0 address of string to print # returns # none li $v0, 4 syscall la $a0, newLine li $v0, 4 syscall

jr $ra printStringInt: # prints a string and an integer # arguments # $a0 address of string to print # $a1 integer to print # returns # none # save return address so not overwritten # save $a1 so not overwritten addiu $sp, $sp, -8 sw $a1, 4($sp) sw $ra, 0($sp) # print string jal printString # print int # get argument from stack lw $a0, 4($sp) jal printInt lw $ra, 0($sp) addiu $sp, $sp, 8 jr $ra

printlnStringInt: # prints a string and an integer with new line # arguments # $a0 address of string to print # $a1 integer to print # returns # none # save return address so not overwritten # save $a1 so not overwritten addiu $sp, $sp, -8 sw $a1, 4($sp) sw $ra, 0($sp) # print string jal printString # print int # get argument from stack lw $a0, 4($sp) jal printlnInt lw $ra, 0($sp) addiu $sp, $sp, 8 jr $ra

getInt: # inputs an integer # arguments # none # returns # $v0 integer that was input li $v0, 5 syscall jr $ra getIntPrompt: # inputs an integer using a text prompt # arguments # $a0 address of string to print # returns # $v0 integer that was input # save return address so not overwritten addiu $sp, $sp, -4 sw $ra, 0($sp) jal printString jal getInt lw $ra, 0($sp) addiu $sp, $sp, 4 jr $ra

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Put Your Data To Work 52 Tips And Techniques For Effectively Managing Your Database

Authors: Wes Trochlil

1st Edition

0880343079, 978-0880343077

More Books

Students also viewed these Databases questions

Question

a. How will the leader be selected?

Answered: 1 week ago