发布于 2003-12-19 12:49:12
0楼
NETWORK1
//将计算CRC标志、看门狗复位,初始化CRC指针和寄存器
LD Always_On
MOVD &接收地址, CRC计算指针
MOVW 16#FFFF, CRC寄存器
NETWORK2
//将每个字节数据与CRC寄存器异或
LD Always_On
FOR #CRC字节循环次数, +1, CRC字节数
XORB *CRC计算指针, VB11
NETWORK3
//将CRC寄存器循环右移8次,并与多项式A001异或
LD Always_On
FOR #CRC移位次数, +1, +8
SRW CRC寄存器, 1
A Overflow_Illegal
XORW 16#A001, CRC寄存器
NETWORK4
NEXT
NETWORK5
//CRC数据指针加1
LD Always_On
INCD CRC计算指针
NETWORK6
NEXT
NETWORK7
//交换CRC寄存器高、低字节
LD Always_On
SWAP CRC寄存器