发布于 2006-11-20 17:54:57
0楼
帖一个我写的CRC:
SUBROUTINE_BLOCK CRC:SBR0
TITLE=
VAR_INPUT
StartAddr:DWORD;
Num:INT;
END_VAR
VAR
CRCIndex:WORD;
N1:INT;
N2:INT;
END_VAR
BEGIN
Network 1
LD SM0.0
MOVW 16#FFFF, #CRCIndex
Network 2
LD SM0.0
FOR #N1, 1, #Num
XORB *#StartAddr, LB7
INCD #StartAddr
Network 3
LD SM0.0
FOR #N2, 1, 8
SRW #CRCIndex, 1
A SM1.1 //若移出的位为1
XORW 16#A001, #CRCIndex
Network 4
NEXT
Network 5
NEXT
Network 6
LD SM0.0
SWAP #CRCIndex
MOVW #CRCIndex, *#StartAddr
END_SUBROUTINE_BLOCK
I can do it