[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
;------------------------------------------
; A = TEMP BYTE,M_CRC1 = LOW BYTE,M_CRC2 = HIGH BYTE
MODBUS_CRC:
MOV R2,#8
XCH A,M_CRC1
XRL A,M_CRC1
MOV M_CRC1,A
$_1:
CLR C
MOV A,M_CRC2
RRC A
MOV M_CRC2,A
MOV A,M_CRC1
RRC A
MOV M_CRC1,A
JNC $_2
MOV A,M_CRC2
XRL A,#0A0H
MOV M_CRC2,A
MOV A,M_CRC1
XRL A,#01H
MOV M_CRC1,A
$_2:
DJNZ R2,$_1
RET
;================================================================
E-mail: info@telesys.ru