偶校验的数学原理是奇数个1按位连续异或结果为1,偶数个1按位连续异或结果为0,用PIC指令将整个运算过程简化为如下指令:
对X单元(D7D6D5D4D3D2D1D0)进行偶校验位计算,结果在进位C中,X单元内容被破坏
SWAPFX,0
XORWFX,1
RRFX,0
XORWFX,1;此时X.2=D7ΛD3ΛD6ΛD2,X.0=D5ΛD1ΛD4ΛD0
BTFSCX,2
INCFX,1;这两句实现按位异或运算X.2ΛX.0,结果存入X..0,就是偶校验位
CLRC
BTFSCX,0
SETC;以上三句将偶校验位X..0复制入进位C
RETURN
将最后一个BTFSC改为BTFSS即可生成奇校验位。