### A good answer might be:

    sll   $12,$12,21      # left shift s by 21 places
    or    $25,$25,$12     # move s into target register

# ORing in a Field

The low-order bit of the pattern for $s is in bit position 0 (of register $12). It must be moved to position 21 of the instruction. Next, the `or` copies it into the instruction being assembled.

The `or` works like this:

| 31....26 | 25...21 | 20...16 | 15.............................0
Register $12 (before) | 000000 | 01001 | 00000 | 0000 0000 0000 0000
Register $25 (before) | 001101 | 00000 | 00000 | 0000 0000 0000 0000
Register $25 (after) | 001101 | 01001 | 00000 | 0000 0000 0000 0000

### QUESTION 20:

Would this instruction have worked as well?

    or    $25,$0,$12     # move s into target register