我有一个名为TEST的寄存器,我想反转(切换?)第1位和第2位,并且还对第3位和第4位置零。
我刚刚开始学习汇编,但是我不知道如何检查我的解决方案是否完全正确,请问我是否处在正确的轨道上?
这是我的建议:
movlw B'00000010' ;toggles/inverts the bit 1
xorwf TEST,F
movlw B'00000100' ;toggles/inverts the bit 2
xorwf TEST,F
bsf TEST, 3, 0 ;Sets the bit 3 to zero
bsf TEST, 4, 0 ;Sets the bit 4 to zero
答案 0 :(得分:0)
BSF
并没有清除。
movlw B'00000110' ;toggles/inverts the bit 1 and 2
xorwf TEST, F
bcf TEST, 3 ;put zero to bit 3
bcf TEST, 4 ;put zero to bit 4
否则,您可以使用ANDWF
指令将位设置为零
molw 0b11100111
andwf TEST, F ;put bit 3 and 4 to zero