### tests the extra instructions .text main: addi $3,$0, 0x7FF0 addi $2,$0, 4 lw $4, 0($2) # mem contents = FFFFFFFF (-1) add $5,$2,$4 # $5 = 4 + -1 = 3 beq $0,$5,skip # branch not taken skip: addi $6,$0,3 # $6 = 3 beq $5,$6,skip2 # branch taken addi $7, $0, 1 # should not be executed skip2: addi $8, $0, 2 # last instruction sw $8, 0($2) # store out to memory lw $9, 0($2) # read into register 9 = 2 sub $8,$8,$4 # $8 = 2 - (-1) = 3 loop: add $6,$6,$4 # decrement 6 bne $0,$6,loop # loop until zero andi $3,$4,0x0F02 # $3 = 0x0F02 or $5,$3,$2 # $6 = 0x0F06 slt $2, $4, $3 # $4 < $3, so $2 = 1 # register contents at end: # $r0 = 0 # $r1 = 0 # $r2 = 1 # $r3 = 0x00000F02 # $r4 = 0xFFFFFFF # $r5 = 0x0000F06 # $r6 = 0 # $r7 = 0 (if = 1, then branch not working) # $r8 = 3 # $r9 = 2