问题
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?
回答1:
You need to and the number which you want to check with 0x01.
This is how you use and in mips: and $d, $s, $t
If the value in target register is 1 then it is odd else even.
来源:https://stackoverflow.com/questions/13476421/how-to-find-even-odd-in-mips-assembly-using-integer-registers