ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
20 мая
1843
Costa (21.12.2003 13:26, просмотров: 5667)
Подскажите, запарился че-то :( Надо перевести простую программку с 51 асма на С, но я этого асма не знаю :(

DO_CRC: PUSH ACC
PUSH B
PUSH ACC
MOV B,#8
CRC_LOOP:XRL A,CRC
RRC A
MOV A,CRC
JNC ZERO
XRL A,#18H
ZERO: RRC A
MOV CRC,A
POP ACC
RR A
PUSH ACC
DJNZ B,CRC_LOOP
POP ACC
POP B
POP ACC
RET

Это расчет CRC8 (полином x8 + x5 + x4 + 1) для одного байта, передаваемого через аккумулятор, результат сохраняется в CRC.

Наверняка уже это сто раз делали, может есть где подсмотреть код?