posNeg:
# $t0 is 0
addi $t0, $0, 0
#Check if int a is < 0, $t1 is 1 when a<0, $t1 is 0 when a>0
slt $t1, $a0, $t0
#Check if int b is < 0, $t2 is 1 when b<0, $t2 is 0 when b>0
slt $t2, $a1, $t0
#Check if int a is > 0
slt $t3, $t0, $a0
#check if int b is > 0
slt $t4, $t0, $a1
#Check value of neg bool, 1 when true, 0 when false
slt $t5, $t0, $a3
#if both int a and int b are > 0, condition failed, doesn't matter value of neg bool
blt $t0, $t3, else2
j pass
else2: blt $t0, $t4, else3
pass:
#Check if a and b are the same, because positives are out, that only leaves negatives
seq $t6, $t1, $t2
#Branch if a and b are negative(equals 1), and bool neg is 1 (true)
beq $t6, $t5, if2
#Gives 1 if t1 and t2 are different. (one is greater than 0, the other is less than)
sne $t7, $t1, $t2
#If there is a difference between a and b, and neg bool is false, then set to true
blt $t5, $t7, if2
#All other cases set to false
addi $v0, $0, 0
j target2
if2: addi $v0, $0, 1
j target2
else3: addi $v0, $0, 0
target2: jr $ra