문제

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.

도움이 되었습니까?

해결책

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.

다른 팁

You can use this code:

li $t3,1
xor $t0,$s0,$t3
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top