How can I find whether the input is even or odd in MIPS? I am trying to find out using integer registers, but my program is not working. Here is the code:
li $s1,2
div $s0,$s1
mfhi $t0
xor $t1,$t0,$0
beq $t1,0,Even
j Odd
But this program shows even odd numbers as even this is because the result is in decimal like 0.3 . How can I solve this issue?
You need to
andthe number which you want to check with0x01.This is how you use
andin mips:and $d, $s, $tIf the value in target register is 1 then it is odd else even.