PIC16F84A指令BSF - 汇编

时间:2014-10-19 07:21:18

标签: assembly pic

我正在使用指令bsf PORTB,COUNT将某个位设置为1。在此说明中,COUNT的地址被采用,我需要采用COUNT的内容,例如6或7,我该怎么做?我是这个汇编代码的新手

1 个答案:

答案 0 :(得分:1)

BSF的第一个操作数是操作的目标地址,在您的情况下为PORTB。第二个操作数是由常量指定的要设置的位号(0到7)。

汇编程序将地址标签COUNT解释为常量,而不是您打算做的。

当第二个寄存器包含位号时,一种解决方案是为位号生成位掩码,然后使用该掩码对目标寄存器进行按位OR运算。

要生成位掩码,请将寄存器加载1,然后将其移位位数。因此,对于位0,您根本不会移位(00000001),对于位7,您将向左移位7次(导致10000000)。掩码可以预先计算,存储在存储器中,并根据需要通过位号索引。