quote:以下是引用伊默在2006-11-20 17:54:57的发言:
帖一个我写的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
我对循环指令不大理解。求教:是外循环执行1次,内循环执行8次以后,再外循环执行Num-1次?
还是外循环内循环执行一起顺序执行8次,再外循环执行Num-8次?