首页 > 解决方案 > 如何在 PIC (18F452) 上操作组件上的某些寄存器?

问题描述

我有一个名为 TEST 的寄存器,我想反转(切换?)第 1 位和第 2 位,并将 0 置于第 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

标签: assemblypic

解决方案


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

推荐阅读