( Computes n into crc c with polynomial 0x1021 ) CODE _crc16 ( c n -- c ) EXX, ( protect BC ) HL POP, ( n ) DE POP, ( c ) A L LDrr, D XORr, D A LDrr, B 8 LDri, BEGIN, E SLA, D RL, IFC, ( msb is set, apply polynomial ) A D LDrr, 0x10 XORi, D A LDrr, A E LDrr, 0x21 XORi, E A LDrr, THEN, DJNZ, AGAIN, DE PUSH, EXX, ( unprotect BC ) ;CODE