发表于:2008-03-26 20:07:00
8楼
hehe,下面是我写的子程序。可以参考以下。
SUBROUTINE_BLOCK CRC:SBR24
TITLE=
VAR_INPUT
pnt:DWORD;
num:BYTE;
END_VAR
VAR_OUTPUT
crco:WORD;
END_VAR
VAR
temp1:INT;
temp2:INT;
temp3:INT;
END_VAR
BEGIN
Network 1
// 计算crc校验码;
LD SM0.0
MOVW 16#FFFF, LW16
Network 2
LD SM0.0
BTI LB4, LW9
FOR LW7, +1, LW9
Network 3
LD SM0.0
XORB *LD0, LB17
Network 4
LD SM0.0
INCD LD0
Network 5
LD SM0.0
FOR LW11, +1, +8
Network 6
LD SM0.0
SRW LW16, 1
Network 7
LD SM1.1
XORW 16#A001, LW16
Network 8
NEXT
Network 9
NEXT
Network 10
LD SM0.0
SWAP LW16
MOVW LW16, LW5
END_SUBROUTINE_BLOCK