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?