A good answer might be:

    ori      $7, $0, 146        # put +146 into $7
    addiu    $10,$7,-82         # add -82

The program is much shorter.

The subu Instruction

MIPS has two integer subtraction instructions:

subu   d,s,t        # $d <-- s - t . No overflow trap.
                    # This is equivalent to $d <-- s + (-t)
                    # where (-t) is reflect-add-one of t.
sub    d,s,t        # $d <-- s - t . Trap overflow!
                    # This is equivalent to $d <-- s + (-t)
                    # where (-t) is reflect-add-one of t.

QUESTION 11:

When ori $d,$0,const is used to load $d, const is 16-bit unsigned binary. Say that you want to load $8 with a negative 86. Will the following work?

addiu    $8,$0,-86  # $8 <-- -86