go to previous page   go to home page   go to next page

Answer:

No assumptions are necessary. It tests if two bit patterns are identical.

Natural If-Else Structure

When you use a branch instruction to implement an if-statement, the instructions that are executed when the condition is false immediately follow the branch instruction. This is the opposite of high-level languages, where an if-statement is followed by the statments that correspond to "true". Watch out for this problem when you are coding. Careful documentation helps.

Here is a program fragment that is to add the value in register $t0 to register $t2 (if $t0 is even) and to $t1 (if $t0 is odd):

        lw    $t0,val          # $t0 has the value
        andi  $t8,$t0,1        # one's place is zero or one
        ____  $t8,odd          # if even
        addu  $t2,$t2,$t0      #     add to even sum
        b     endif
odd:                           # else
        addu  $t1,$t1,$t0      #     add to odd sum
endif:

The unconditional branch instruction is used at the bottom of the true branch of the if-else.

(In this chapter, the SPIM simulator has been set so that delayed branches are OFF and delayed loading is OFF, so no-ops are not included in this program fragment.)

QUESTION 5:

Fill in the blank by choosing the correct branch instruction (refer to the table).