Question
1. Assume that registers $s0 and $s1 hold the values 0x80000000 and 0xD0000000, respectively. a.) [5 points] What is the value of $t0 for the
1. Assume that registers $s0 and $s1 hold the values 0x80000000 and 0xD0000000, respectively. a.) [5 points] What is the value of $t0 for the following assembly code? add $t0, $s0, $s1
b.) [5 points] Is the result in $t0 the desired result, or has there been overflow?
c.) [5 points] For the contents of registers $s0 and $s1 as specified above, what is the value of $t0 for the following assembly code? sub $t0, $s0, $s1
d.) [5 points] Is the result in $t0 the desired result, or has there been overflow? e.) [5 points] For the contents of registers $s0 and $s1 as specified above, what is the value of $t0 for the following assembly code? add $t0, $s0, $s1
f.) Is the result in $t0 the desired result, or has there been overflow?
2. For the MIPS assembly instructions below, what is the corresponding C statement? Assume that the variables f, g, h, i, and j are assigned to registers $s0, $s1, $s2, $s3, and $s4, respectively. Assume that the base address of the arrays A and B are in registers $s6 and $s7, respectively.
sll $t0, $s0, 2 # $t0 = f * 4
add $t0, $s6, $t0 # $t0 = &A[f]
sll $t1, $s1, 2 # $t1 = g * 4
add $t1, $s7, $t1 # $t1 = &B[g]
lw $s0, 0($t0) # f = A[f]
addi $t2, $t0, 4
lw $t0, 0($t2) add $t0, $t0, $s0 sw $t0, 0($t1)
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started