#### # # Float negate # # x = -y # .text .globl myneg myneg: la $t0, x la $t1, y lw $t1, 0($t1) li $t2, 0x80000000 # sign bit value xor $t1, $t1, $t2 # flip sign bit sw $t1, 0($t0) jr $ra # return
Z = OR(AND(NOT(C), NOT(D)), AND(NOT(A), NOT(B), NOT(C)))
Horizontal minimizes decode logic and facilitates multiple things being done within one instruction. Vertical minimizes bits used to encode each instruction.