2019/3/16 Quiz 03 - Requires Respondus LockDown Browser + Webcam: SP19: CS-47 Sec 01 - Intro to Comp Sytm
https://sjsu.instructure.com/courses/1311483/quizzes/1296079 1/13
Quiz 03 - Requires Respondus LockDown Browser +
Webcam
Due Mar 16 at 11:59pm Points 5 Questions 20 Available Mar 15 at 6am - Mar 16 at 11:59pm 1 day Time Limit 45 Minutes Allowed Attempts 2 Requires Respondus LockDown Browser
Instruc�ons
A�empt History
Attempt Time Score
LATEST Attempt 1 8 minutes 1.09 out of 5
Correct answers are hidden.
Score for this attempt: 1.09 out of 5 Submitted Mar 16 at 6:34pm This attempt took 8 minutes.
1. Includes Lecture 10-12
1. Open book / note quiz. 2. You can use your own blank scratch paper to solve problems. 3. You can use calculator. 4. You have total 45 minutes per attempt to complete this quiz.
[For respondus monitor system ID check, you can use tower card, library card, driving license or any other valid ID card]
Take the Quiz Again
0.13 / 0.25 ptsQuestion 1PartialPartial
What are different addressing mode related to instruction 'addi $t0, $t1, 0x23'?
Immediate addressing
Register addressing
https://sjsu.instructure.com/courses/1311483/quizzes/1296079/history?version=1
https://sjsu.instructure.com/courses/1311483/quizzes/1296079/take?user_id=4315630
2019/3/16 Quiz 03 - Requires Respondus LockDown Browser + Webcam: SP19: CS-47 Sec 01 - Intro to Comp Sytm
https://sjsu.instructure.com/courses/1311483/quizzes/1296079 2/13
Base or displacement addressing
PC relative addressing
Pseudo-direct addressing
0.08 / 0.25 ptsQuestion 2PartialPartial
What are different addressing mode related to instruction 'sw $s0, 0x8($s1)'?
Pseudo-direct addressing
PC Relative addressing
Register addressing
Base or displacement addressing
Immediate addressing
0 / 0.25 ptsQuestion 3IncorrectIncorrect
What is the maximum number of instructions can be there between a 'bne' instruction and the instruction where it'll jump to if condition is met?
131071
Consider addressing mode of 'bne' instruction to transfer control to L2. Think what the 'immediate' field signifies for 'bne' or 'beq'.
0 / 0.25 ptsQuestion 4IncorrectIncorrect
2019/3/16 Quiz 03 - Requires Respondus LockDown Browser + Webcam: SP19: CS-47 Sec 01 - Intro to Comp Sytm
https://sjsu.instructure.com/courses/1311483/quizzes/1296079 3/13
A 32-bit MIPS is executing a 'j 0x3A387F8' when PC contains 0x2A8956B8. The next instruction will be executed from which address? [Answer in 0xNNNNNNNN form with all capital for A-F]
MIPS Green Sheet (https://sjsu.instructure.com/courses/1311483/modules/items/9883508)
0xAE8E1FE0
'j' instruction follows Pseudo-direct addressing. Consult MIPS Green sheet page. Make sure you give answer in 0xNNNNNNNN form with hex digits in upper case if applicable (e.g. 0x3F45678A).
0.06 / 0.25 ptsQuestion 5PartialPartial
An I-type instruction in MIPS may use which of these following addressing mode.
PC relative addressing
Immediate addressing
Register addressing
Base / Displacement addressing
Pseudo-direct addressing
0.08 / 0.25 ptsQuestion 6PartialPartial
Which of the following statements are true.
.ascii stores string in memory and terminate it with NULL character.
https://sjsu.instructure.com/courses/1311483/modules/items/9883508
2019/3/16 Quiz 03 - Requires Respondus LockDown Browser + Webcam: SP19: CS-47 Sec 01 - Intro to Comp Sytm
https://sjsu.instructure.com/courses/1311483/quizzes/1296079 4/13
There is an assembler directive to arrange / place floating point values in static data memory.
There is no way in MIPS assembly programming to reserve some static data memory without initialization to a specific value.
Assembler arranges multi-byte data in memory from first available aligned lower address to higher address.
MARS always uses setting '.set noat'
0 / 0.25 ptsQuestion 7IncorrectIncorrect
Which type of instruction is least common in MIPS instruction set?
All of the types are equally common.
I Type
J Type
R Type
0.13 / 0.25 ptsQuestion 8PartialPartial
In the following code which are the global data labels.
.globl var_c main
.extern var_a 8 .data var_b: .word 0x45 var_c: .byte 0x1 .text
2019/3/16 Quiz 03 - Requires Respondus LockDown Browser + Webcam: SP19: CS-47 Sec 01 - Intro to Comp Sytm
https://sjsu.instructure.com/courses/1311483/quizzes/1296079 5/13
main: lw $t0, var_b lw $t1, var_c add $s0, $t0, $t1 sw $s0, var_a
var_b
var_c
main
var_a
0 / 0.25 ptsQuestion 9
Answer 1:
IncorrectIncorrect
Review the following code snippet.
main: lw $t0, var_b lw $t1, var_c loop: bne $t0, $zero, end add $s0, $s0, $t1 addi $t1, $t1, -2 addi $t0, $t0, -1 j loop end: sw $s0, var_a
Machine code for instruction at label 'loop' is 0x 1204C76
1204C76
2019/3/16 Quiz 03 - Requires Respondus LockDown Browser + Webcam: SP19: CS-47 Sec 01 - Intro to Comp Sytm
https://sjsu.instructure.com/courses/1311483/quizzes/1296079 6/13
Incorrect !!!
Make sure you understand what is placed in 'Immediate' field. Consult MIPS Green sheet for instruction format and machine code construction.
0 / 0.25 ptsQuestion 10IncorrectIncorrect
What is the most appropriate high level language (C or JAVA or similar) code block the following MIPS assembly code is representing from line 03 to 07?
00 .text 01 main: lw $t0, var_b 02 lw $t1, var_c 03 loop: bne $t0, $zero, end 04 add $s0, $s0, $t1 05 addi $t1, $t1, -2 06 addi $t0, $t0, -1 07 j loop 08 end: sw $s0, var_a 09 10 .data 11 var_b: .word 0x20 12 var_c: .work 0x456A
IF-THEN-ELSE
FOR loop.
DO-WHILE loop
WHILE loop
Incorrect !!!
You need to infer most appropriate high level code block.
2019/3/16 Quiz 03 - Requires Respondus LockDown Browser + Webcam: SP19: CS-47 Sec 01 - Intro to Comp Sytm
https://sjsu.instructure.com/courses/1311483/quizzes/1296079 7/13
0.19 / 0.25 ptsQuestion 11PartialPartial
Determine instruction type (MIPS basic or Pseudo) for the following instructions.
1. li $t5, 0x2345 [IT1]
2. addi $s0, $s1, -105 [IT2]
3. sw $t0, 0x800($s0) [IT3]
4. addi $t1, $t5, 0x20AB3 [IT4]
li $t5, 0x2345 Pseudo
add $s0, $s1, $s2 MIPS Basic
sw $t0, 0x800($s0) MIPS Basic
addi $t1, $t5, 0x20AB3 MIPS Basic
0 / 0.25 ptsQuestion 12IncorrectIncorrect
Review the following code.
01 .text 0x00408000 02 main: add $s1, $zero, $zero 03 addi $s0, $zero, 1 04 loop: beq $s0, $zero, end 05 addi $v0, $zero, 5 06 syscall 07 add $s0, $v0, $zero 08 add $s1, $s1, $s0 09 j loop 10 end: add $t0, $s0, $s1
2019/3/16 Quiz 03 - Requires Respondus LockDown Browser + Webcam: SP19: CS-47 Sec 01 - Intro to Comp Sytm
https://sjsu.instructure.com/courses/1311483/quizzes/1296079 8/13
Answer 1:
Machine code for line 9 (j loop) is 0x 12000006
12000006
Incorrect !!!
First determine which address it is jumping to. Review MIPS green sheet on the explanation of jump address and how pseudo-direct addressing works. Also carefully review the code for start address of the first instruction.
0 / 0.25 ptsQuestion 13IncorrectIncorrect
What is the most appropriate high level language (C or java or equivalent) code block that lines 03-06 is implementing? [It uses MACROS that we already have done in programming assignments]
01 .text 02 main: add $s1, $zero, $zero 03 ask: print_str(ask_str) 04 read_int($s0) 05 add $s1, $s1, $s0 06 bne $s0, $zero, ask 07 print_str(prn_str) 08 print_reg_int($s1) 09 print_str(cr) 10 exit
WHILE loop
IF-THEN-ELSE
DO-WHILE loop
FOR loop
2019/3/16 Quiz 03 - Requires Respondus LockDown Browser + Webcam: SP19: CS-47 Sec 01 - Intro to Comp Sytm
https://sjsu.instructure.com/courses/1311483/quizzes/1296079 9/13
Incorrect !!!
Try to infer functionality of the code and write high level equivalent code.
0 / 0.25 ptsQuestion 14IncorrectIncorrect
What type of code block you can observe in the following MIPS code snippet?
main: lw $s0, var_a lw $s1, var_b bgt $s0, $s1, L1 add $s2, $s0, $s1 j L2 L1: sub $s2, $s0, $s1 L2: sw $s2, var_c
DO-WHILE loop
WHILE loop
FOR loop
IF-THEN-ELSE
Incorrect !!!
Try write down corresponding high level code.
0 / 0.25 ptsQuestion 15IncorrectIncorrect
How to pass more than 4 arguments to assembly function block?
2019/3/16 Quiz 03 - Requires Respondus LockDown Browser + Webcam: SP19: CS-47 Sec 01 - Intro to Comp Sytm
https://sjsu.instructure.com/courses/1311483/quizzes/1296079 10/13
By pushing arguments in stack.
There will not be any need to pass more than 4 arguments to a function block.
Use other registers apart from $a* registers.
More than 4 arguments is not permitted.
0.25 / 0.25 ptsQuestion 16
What are the registers in MIPS system affected by 'jal' instruction?
PC and $ra
$ra
None of these
PC
1. $ra is loaded with return address. 2. PC is loaded to target instruction address.
0.05 / 0.25 ptsQuestion 17PartialPartial
You are writing a function in MIPS assembly from label MYFUNC. This function does not need any argument and returns value in $v0. This function also calls another function 'THATFUNC' which takes one argument in $a1 and return value in $v0. To implement your function you are using $t0, $t5, $s1, $t6 and $s2. What are the registers you need to save in the function frame?
$sp
2019/3/16 Quiz 03 - Requires Respondus LockDown Browser + Webcam: SP19: CS-47 Sec 01 - Intro to Comp Sytm
https://sjsu.instructure.com/courses/1311483/quizzes/1296079 11/13
$t5
$t6
$fp
$v0
$s1
$t0
$ra
$s2
$a1
0 / 0.25 ptsQuestion 18IncorrectIncorrect
What are part of function caller's run time environment (RTE) those are preserved within function's frame?
$zero
$a0-$a3
$ra
$t0-$t9
$s0-$s7
$fp
$gp
Hi
Lo
$v0-$v1
2019/3/16 Quiz 03 - Requires Respondus LockDown Browser + Webcam: SP19: CS-47 Sec 01 - Intro to Comp Sytm
https://sjsu.instructure.com/courses/1311483/quizzes/1296079 12/13
$k0-$k1
$at
$sp
Consider what are stored in frame.
0 / 0.25 ptsQuestion 19IncorrectIncorrect
You are writing a function in MIPS assembly from label MYFUNC. This function does not need any argument and returns value in $v0. This function also calls another function 'THATFUNC' which takes one argument in $a1 and return value in $v0. To implement your function you are using $t0, $t5, $s1, $t6 and $s2. What's size of frame of your function in byte unit? Assume byte addressable memory is connected to MIPS.
6
Consider size of each registers and how many you need to store in frame.
0.13 / 0.25 ptsQuestion 20PartialPartial
What are the essential MIPS instructions to implement a recursive function?
j
jr
lw
sll
2019/3/16 Quiz 03 - Requires Respondus LockDown Browser + Webcam: SP19: CS-47 Sec 01 - Intro to Comp Sytm
https://sjsu.instructure.com/courses/1311483/quizzes/1296079 13/13
div
jal