Как получить контрольную сумму CRC-8? - Assembler
Формулировка задачи:
Здравствуйте, не могу получить контрольную сумму.
Имеется готовый рабочий пример: A5 01 10 55 03 02 36 85 D2
При отправке этого сообщения на микроконтроллер получаю правильный ответ в виде 236,85
Как в примере вычислена контрольная сумма D2?
Прикрепляю описание протокола, помогите пожалуйста. Спасибо.
Решение задачи: «Как получить контрольную сумму CRC-8?»
textual
Листинг программы
.loc_cycle:
shl al, 1
jnc .loc_next
xor al,CRC8_POLYNOM
.loc_next:
Объяснение кода листинга программы
- Переменная
alиспользуется как аккумулятор для хранения результатов вычислений. - На каждом шаге цикла значение
alсдвигается вправо на 1 бит. - Если результат сдвига больше или равен 8, то выполняется операция исключающего
ORс полиномом CRC-8. - Полином CRC-8 представлен в виде числа
CRC8_POLYNOM.