[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
ВСЕМ СПАСИБО !!!
Я немного разобрался :)
Только вот теория не сходится с практикой :(
Насколько я понял, если, например, исходное число 1 байт, например, ABh. Многочлен 011021h. То при делении (AB0000h)/(011021h)остаток равен EB60h.
Тем не менее, найденная мной нижеследующий код для PIC16 дает результат 0481h. Код, вроде, верный. В чем проблема ?
clrf CRC_hi
clrf CRC_low
movlw 0ABh
movwf Data
movlw 8
movwf Counter
L_0:
movf Data, W
xorwf CRC_hi, W
andlw B'10000000'
bcf CARRY
rlf CRC_low, F
rlf CRC_hi, F
btfsc ZERO
goto L_1
movlw b'00010000'
xorwf CRC_hi, F
movlw b'00100001'
xorwf CRC_low, F
L_1:
rlf Data, F
decsz Counter, F
goto L_0
E-mail: info@telesys.ru