PIC汇编程序和按位AND

时间:2013-10-24 08:40:23

标签: assembly pic bitwise-and

有人可以告诉我按位AND操作如何工作? 我有以下代码:

CLRF LATC & 0x7F
MOVWF LATC & 0x7F

使用&的目的是什么? 0x7F的?这有什么变化?

更新:我知道一般的按位运算是如何工作的,我知道“CLRF LATC”应该归零LATC寄存器。但LATC注册的“CLRF LATC& 0x7F”是什么?除了最后一点之外的所有零点?

1 个答案:

答案 0 :(得分:1)

该操作已由汇编程序执行,因此“MOVWF 0x193& 0x7F”(例如)与“MOVWF 0x13”相同(因为0x193& 0x7F = 0x13)。

这样做的原因如下:

对于较大的PIC,存储器已存储。

要写入地址0x193,您必须切换到存储区#3(地址0x180-0x1FF)并写入地址0x13(不是地址0x193)。

这个“银行相对”地址是通过对绝对地址和数字0x7F进行AND运算来计算的。

因为像“LATC”这样的符号可以定义为绝对地址(0x193)而不是相对地址(0x13),所以你需要这种形式的指令。