A good answer might be:

No. Operand registers are not changed, unless one is also the destination register.

Run of the Program

Here is a run of the program. The results are as expected. The source code is shown at the right of the text section (the bottom rectangle of the picture.) In the middle column of the text section the decimal equivalents of the immediate operands is shown in the instructions.

To express integers in decimal notation omit the leading "0x".

        ori      $8, $0, 171       # put 171 into $8
        ori      $9, $0,  85       # put  85 into $9
        addu     $10,$9,  $8       # $10 <-- sum

Of course, the same bit patterns are loaded into the registers. The assembler accepts both notations for integers.

QUESTION 6:

(Review:) Can a negative const be used with the instruction:

ori  $d,$0,const