Question: Show how the following MIPS program would be loaded into memory and executed. # MIPS assembly code main: addi $sp, $sp, 4 sw $ra, 0($sp)

Show how the following MIPS program would be loaded into memory and executed. # MIPS assembly code main:

 addi $sp, $sp, 4  sw $ra, 0($sp) lw $a0, x lw $a1, y  
 jal diff lw $ra, 0($sp) addi $sp, $sp, 4 jr $ra  
diff: sub $v0, $a0, $a1  

jr $ra

Please assume that the main function starts at memory address 0x00400000, the address of variable x is 0x10000000, and the address of variable y is 0x10000004.

5.A.) First show the instruction address next to each assembly instruction.

5.B.) Draw the symbol table showing the labels and their addresses. 5.C.) Convert all instructions into machine code. 5.D.) How big (how many bytes) are the data and text segments?

5.E.) Sketch a memory map showing where data and instructions are stored.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!