私は「XXXXXXX」と第一二つの部分のためにこれを考え出すのトラブルの少しを持っていますのビットを操作しない私ははどのように私はアセンブリ言語のMIPS32
add $t0, $v0, $0 # $t0 gets copy of input x
sub $t1, $0, $t0 # $t1 gets mask1 that is "-x"
を持っていますが、残りの部分は、私は混乱しています。私は正確な答えを望んでいないが、説明は非常に助けになる!
UPDATE:
私はそれを動作させることができました。ここに解決策があります。ありがとうございました!
**move $t0, $v0** # $t0 gets copy of input x
**sub $t1, $zero, $t0** # $t1 gets mask1 that is "-x"
li $v0, 1
move $a0, $t0
syscall
li $v0, 4
la $a0, outLab1
syscall # print output label 1
li $v0, 1
**and $a0, $t0, $t1** # $a0 gets "all bits of x cleared except the
rightmost 1"
syscall
not $t2, $a0 # $t2 gets mask2 that is "$a0 with all its bits
toggled"
li $v0, 4
la $a0, outLab2
syscall # print output label 2
li $v0, 1
**and $a0, $t0, $t2** # $a0 gets "all bits of x with the rightmost 1
cleared"
syscall
li $v0, 10 # exit
syscall