NOTE TO EXPERTS: PLEASE DON\'T ATTEMPT THIS QUESTION IF YOU ARE NOT EXPERT AT MI
ID: 3597038 • Letter: N
Question
NOTE TO EXPERTS: PLEASE DON'T ATTEMPT THIS QUESTION IF YOU ARE NOT EXPERT AT MIPS ASSEMBLY LANGUAGE AND PLEASE DON'T POST AN ANSWER YOUR CODE DOESN'T RUN AND PROVIDE THE REQUESTED RESULT.
Joe is running a take-out pizza shop that sells 8" pizzas and is wondering how many square feet of pizza he sells every day. Write a MIPS assembly language program to help him to do the calculation. The program:
1. prompts Joe for the number of pizza sold in a day.
2. calculates the total pizza sold in square feet, assuming that every pizza is a circle and the radius of the circle is 8 inches.
3. prints out a message and the total number of square feet of pizza sold.
Note: single precision floating point operations must be used.
Explanation / Answer
# Code below is in MIPS asembly language
# please comment if you have any doubts
# There might be some issues with (li.s) in the code for mars simulator ,
so please have a workaround for it.
.data
display: .asciiz "Total number of pizzas sold: "
.text
.globl main
main:
move $fp, $sp # store stack pointer in frame pointer
li $v0, 4 # parameter for printing string
la $a0, display # string is copied to $a0
syscall # call syscall for printing
li $v0,6 #parameter for syscall to scan float
syscall #calling the system to execute reading
li.s $f2,3.141592920
li.s $f3,64.0
mul.s $f3,$f3,$f2
mul.s $f3,$f3,$f0
li $v0, 2
mov.s $f12, $f3 # Move contents of register $f3 to register $f12
syscall
li $v0, 10 # parameter for exit
syscall # call syscall for printing
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.