Created 03/17/03

# on the Extended Assembler

This is a practice quiz. The results are not recorded anywhere and do not affect your grade. The questions on this quiz might not appear in any quiz or test that does count toward your grade.

Instructions: For each question, choose the single best answer. Make your choice by clicking on its button. You can change your answers at any time. When the quiz is graded, the correct answers will appear in the box after each question.

1. Register `$8` is the first register conventionally used to hold temporary values. What is its mnemonic name?

A. `$temp`
B. `$t0`
C. `$t1`
D. `$t8`

2. What is the mnemonic name of register `$0`?

A. zero
B. $zero
C. $z0
D. $t0

3. Does the extended assembler translate assembly language into machine instructions not available to the basic assembler?

A. No. Extended assembly language is just an alternate syntax used to specify the same machine instructions.
B. No. The extended assembler uses many fewer of the actual machine instructions.
C. Yes. The extended assembler outputs instructions for the extended part of the processor.
D. Yes. The extended assembler is the only way to ask for floating-point operations.

4. What is true just after the return from a call to a subroutine?

A. The temporary registers are the same as they were before the call, and the saved registers may have been altered.
B. The saved registers are the same as they were before the call, and the temporary registers have certainly been altered.
C. Values in the saved registers are safely stored in memory, but values in the temporary registers have not been saved.
D. The saved registers are the same as they were before the call, and the temporary registers may have been altered.

5. What is the most fundamental part of an operating system?

A. The shell.
B. The peel.
C. The kernel.
D. The seed.

6. Translate the following pseudoinstruction into basic assembly: `move $t8,$t3`

A. `addu $t3,$t8,$t3`
B. `ori $t8,$0,$t3`
C. `ori $t8,$t3`
D. `addu $t8,$0,$t3`

7. Here is the load immediate pseudoinstruction: `li d,value`. What is true of `value`?

A. It may be any integer, positive or negative, that fits into 16 bits.
B. It may be any integer, positive or negative, that fits into 32 bits.
C. It may be any positive integer that fits into 32 bits.
D. It may be any positive integer that fits into 16 bits.

8. How is the `li d,value` translated by the extended assembler?

A. It is always translated into the `addiu` basic instruction.
B. It is always translated into the one basic instruction.
C. How it is translated depends on the size and sign of the `value`.
D. It is always translated into two basic instructions.

9. Inspect the following code:

             .data
    numa:    .word 23
    numb:    .word 99
    numc:    .word -12

Which instruction puts the address of the word that contains `99` into register `$s3`?

A. `la $s3,numb`
B. `lw $s3,numb`
C. `lw $s3,99`
D. `la $s3,4(numa)`

10. Inspect the following code (the same as above):

             .data
    numa:    .word 23
    numb:    .word 99
    numc:    .word -12

Which instruction stores the contents of register `$s3` into memory at `numc` ?

A. `sa $s3,numc`
B. `sw $s3,numc`
C. `sw numc,$s3`
D. `move $s3,numc`

The number you got right: Percent Correct: Letter Grade:

If you have returned here from another page, or have re-loaded this page, you will need to click again on each of your choices for the grading program to work correctly. You may want to press the SHIFT KEY while clicking to clear the old answers.