Bitwise logical operations
R-type
and $rd, $rs, $rt  # R[d] <- R[s] & R[t] Bitwise AND
or  $rd, $rs, $rt  # R[d] <- R[s] | R[t] Bitwise OR
nor $rd, $rs, $rt  # R[d] <- ~(R[s] | R[t]) Bitwise NOR
xor $rd, $rs, $rt  # R[d] <- R[s] ^ R[t] Bitwise XOR
what about bitwise negation (complement)?
can use XOR with -1:
addi    $8,$0,0x42   # put 2's comp. hex 42 into register 8
what value is in register 0?
addi    $9,$0,-1     # put 2's comp. -1 into register 9
note sign bit extension for immediate value
xor     $10,$8,$9    # xor register 8 and 9, result in 10
$r8 0000 0000 0000 0000 0000 0000 0100 0010 42
$r9 1111 1111 1111 1111 1111 1111 1111 1111 -1
$r10 1111 1111 1111 1111 1111 1111 1011 1101
example of fewer instruction types --> more instructions
also no NAND (negated AND)