QUESTION 3: Execute the given program in MARS and answer the following short questions. .text main: li $a0,5 jal func1 li $v0,1 syscall j func3 func1:

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question
QUESTION 3:
Execute the given program in MARS and answer the following short questions.
.text
main:
li $a0,5
jal func1
li $v0,1
syscall
j func3
func1:
addiu $sp, $sp, -8
sw $ra, 4($sp)
sw $a0, 0($sp)
addi $a0,$a0,5
jal func2
Iw $a0, 0($sp)
Iw $ra, 4($sp)
jr $ra
func2:
addi $a0,$a0,5
jr $ra
func3:
li $v0,10
syscall
i.
What do we need to decrement $sp by 8 in the instruction addiu $sp, $sp,-8?
ii.
What is the value of $a0 at the end of func2? At the end of program, the value of $a0 is 5
(printed on screen). Why?
iii.
func1 is supposed to free-up stack before it returns back to the caller. Write down the
instruction we must use to free-up stack.
iv.
The program will not terminate properly if we remove the instruction Iw $ra, 4($sp).
Why?
v.
Make changes in this program to use jalr instead of jal. Write down your changes here.
Transcribed Image Text:QUESTION 3: Execute the given program in MARS and answer the following short questions. .text main: li $a0,5 jal func1 li $v0,1 syscall j func3 func1: addiu $sp, $sp, -8 sw $ra, 4($sp) sw $a0, 0($sp) addi $a0,$a0,5 jal func2 Iw $a0, 0($sp) Iw $ra, 4($sp) jr $ra func2: addi $a0,$a0,5 jr $ra func3: li $v0,10 syscall i. What do we need to decrement $sp by 8 in the instruction addiu $sp, $sp,-8? ii. What is the value of $a0 at the end of func2? At the end of program, the value of $a0 is 5 (printed on screen). Why? iii. func1 is supposed to free-up stack before it returns back to the caller. Write down the instruction we must use to free-up stack. iv. The program will not terminate properly if we remove the instruction Iw $ra, 4($sp). Why? v. Make changes in this program to use jalr instead of jal. Write down your changes here.
Expert Solution
steps

Step by step

Solved in 3 steps

Blurred answer
Similar questions
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY