Pergunta

How can i change least significant bit in a register in Mips?
In another post How to get LSB bit in MIPS? it saws how to get it but i want to change it.

Foi útil?

Solução

The following one line should do it:

xori $t0, $s0, 1

Explained: the contents in $s0 contains zeros and ones, while the immediate value has zeros and a one in the LSB. Whenever the LSB is 0, it is xored with 1 and outputs a 1. Whenever it is 1, it is xored with 1 and outputs a 0. The remaining bits will output a 1 if they are 1 and a 0 if they are 0 because they are being xored with 0, thus preserving their state.

Outras dicas

You can use this code:

li $t3,1
xor $t0,$s0,$t3
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top