### A good answer might be:

The blanks are filled, below.

# Store -A

The sign bit is shifted right 31 bit positions. This puts it in the low-order bit of the destination register ($9 in this case). To test if $9 is zero, use branch-on-equal with register $0 (which is always zero).

    ## absVal.asm
    ##
    ## Calculate the absolute value of A

          .text
          .globl  main

    main:
    # Get A
            lui   $10,0x1000     #  Init base register
            lw    $8,0($10)      #  Load A
            sll   $0,$0,0        #  no-op

    # Is A negative?
            srl   $9,$8,31       #  Shift sign bit to position 0
            beq   $0,$9,done     #  sign bit == zero, done
            sll   $0,$0,0

    # Store -A
            sub   $8,$___,$8     #  negate A
            sw    $8,___($___)   #  save it

    done:   sll   $0,$0,0

          .data
    A:    .word   -1

    ## End of file

Now calculate -A and store it back into word "A". The instruction at `done` is a no-op.

### QUESTION 16:

Fill the blanks.