Question 1:
MIPS assembler
Please convert to MIPS assembler.
int is_more_than_a_dozen(int a, int b) {
if (sum(a, b) > 12)
return 1;
else
return 0;
}
int sum(int a, int b) {
return a + b;
}
Question 2:
MIPS instruction set I
Please convert to C. $s6 contains the base address of an array.
Loop: sll $t1, $s3, 2
add $t1, $t1, $s6
lw $t0, 0($t1)
bne $t0, $s5, Exit
addi $s3, $s3, 1
j Loop
Exit:
Question 3: MIPS instruction set II
Assume that the loop is placed at location 60000 in memory, what is the machine code for the loop given above?
Please write out the machine code in two columns, the ?rst as decimal values, the second as a binary number.
Please keep inmind thatMIPS instructions have byte addresses, so addresses of sequentialwords differ by 4. bne will jump relative to the following instruction. j does use the full address, but make sure it jumps to words not bytes.
Question 4: Bitpattern
In a VonNeumann architecture, groups of bits have no intrinsicmeanings by themselves. The following table shows bit patterns expressed in hexadecimal notation. Please answer the questions below for each bit pattern.
What decimal number does the bit pattern represent...
a) if it is a two's complement number?
b) if it is an unsigned integer?
c) if this bit pattern is placed into the Instruction Register, what MIPS instruction would be
d) if it is an IEEE 754 ?oating point number?
Question 5: Floating point binary representation
Please compute the IEEE754 binary representation of the following numbers
Please provide the complete calculation, not just a result. For y: you can use the algorithm shown in the example output of a conversion program.