Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Here's a MIPS assembly program for this task: CHANGE THIS CODE SO THE ON EDGE PART WORKS. RIGHT NOW THE ON EDGE PART OF QUESTION

image text in transcribed

Here's a MIPS assembly program for this task: CHANGE THIS CODE SO THE ON EDGE PART WORKS. RIGHT NOW THE ON EDGE PART OF QUESTION IS NOT WORKING. THATS THE ONLY CHANGE NEEDED AS ALL THE OTHER PARTS OF QUESTION WORK

.data

prompt1: .asciiz "Please enter the first number: "

prompt2: .asciiz "Please enter the second number: "

within: .asciiz " is within the range. "

outside: .asciiz " is outside the range. "

edge: .asciiz " is on the edge. "

lower: .word 20

upper: .word 50

.text

.globl main

main:

# Prompt user for first number

li $v0, 4 # system call code for print string

la $a0, prompt1 # address of first string

syscall # print prompt1

# Read first number into $t0

li $v0, 5 # system call code for read integer

syscall # read first number into $v0

move $t0, $v0 # move first number to $t0

# Prompt user for second number

li $v0, 4 # system call code for print string

la $a0, prompt2 # address of second string

syscall # print prompt2

# Read second number into $t1

li $v0, 5 # system call code for read integer

syscall # read second number into $v0

move $t1, $v0 # move second number to $t1

# Add two numbers and store the result in $t2

add $t2, $t0, $t1

# Load lower bound into $t3

lw $t3, lower

# Load upper bound into $t4

lw $t4, upper

# Compare the result with lower bound

blt $t2, $t3, outside_label

# Compare the result with upper bound

bgt $t2, $t4, outside_label

# Result is within the range

li $v0, 4 # system call code for print string

la $a0, within # address of within string

syscall # print within

b end_label

outside_label:

# Result is outside the range

li $v0, 4 # system call code for print string

la $a0, outside # address of outside string

syscall # print outside

b end_label

edge_label:

# Result is on the edge

li $v0, 4 # system call code for print string

la $a0, edge # address of edge string

syscall # print edge

end_label:

# End of program

li $v0, 10 # system call code for exit

syscall # exit program

nere are two groups of control instructions. The first one is "branch", and the second one is "jump". oranch" is conditional transfers of control. "jump" is unconditional transfers of control. nis lab will focus on "branch". MIPS branch instructions are beg, bne, bgt, blt etc. You can find all the anching instructions on Mars. nis lab you are required to write an assembly program to practice branching. ogram details - 1. Prompt the user to enter two numbers. 2. Set the range value (the lower bound is 20 and the upper bound is 50 ). 3. Add these two numbers. 4. Display whether the answer is within the range, outside the range, or on the edge. Example 1: Please enter the first number: 18 Please enter the second number: 10 28 is within the range. Example 2: Please enter the first number: 8 Please enter the second number: 10 18 is outside the range. Example 3: Please enter the first number: 20 Please enter the second number: 30 50 is on the edge

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

Oracle Database 11g SQL

Authors: Jason Price

1st Edition

0071498508, 978-0071498500

More Books

Students also viewed these Databases questions