CRC寄存器 := 16#FFFF ;
(*Z0 := 0 ;*)
序号:= 0 ;
(*temp[3]:=数量;*)
FOR CRC数量 := 3 TO 数量 BY 1 DO
(*MOV(M8000 , D20Z0 , CRC临时);*)
CRC临时:=接收源[序号];
(*temp[序号]:=接收源[序号];*)
WXOR( M8000, CRC临时 , CRC寄存器 , CRC寄存器);
(*Z0:=Z0+1;*)
序号:=序号+1;
FOR 右移 := 0 TO 7 BY 1 DO
MOV( M8000 , CRC寄存器 , K4M10 );
ROR( M8000 , 1 , CRC寄存器 );
WAND( M8000 , 16#7FFF , CRC寄存器 , CRC寄存器 );
WXOR( M10 , 16#A001, CRC寄存器 , CRC寄存器 );
END_FOR;
END_FOR;
(*temp[2]:=CRC寄存器;*)
ST编程写法