Pseudoinstructions: logical
Instruction Real instructions Semantics
not $rd, $rs addi    $at, $0, -1 # R[1] = -1
xor     $rd, $rs, $at # R[d] = R[s] ^ R[1]
Better way:
not $rd, $rs nor $rd, $rs, $0 # R[d] = ~R[s]
Why does this work?