Как получить контрольную сумму 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
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д