Это для подсчета CRC? Есть Asm пример для AVR для полинома 0xA001(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Basileus_Nick 20 августа 2003 г. 16:51
В ответ на: Часто спрашивают о подсчёте единиц в байте. А как решить более простую задачу: отправлено VR 20 августа 2003 г. 12:57

?eCRC:;обсчет CRC!
#undef Rtmp
#define Rsym XL
#define Rtmp ZL
EOR Rsym,RloCRC ;1
MOV Rtmp,RhiCRC ;1
SBRC Rsym,1 ;1/2
SUBI Rtmp,$80 ;1
MOV RloCRC,Rtmp ;1
LDI Rtmp,$C0 ;1
SBRC Rsym,0 ;1/2
EOR RloCRC,Rtmp ;1
;<<<< отсюда до >>>> формирует бит четности в BIT0
MOV RhiCRC,Rsym ;1
LSR RhiCRC ;1
EOR RhiCRC,Rsym ;1
LSR RhiCRC ;1
EOR Rsym,RhiCRC ;1

SBRC Rsym,3 ;1/2
DEC Rsym ;1
SBRC Rsym,6 ;1/2
DEC Rsym ;1
;>>>>>
ANDI Rsym,1 ;1
BREQ $+3*2 ;1/2= ;SBRC Rsym,0 ;1/2
EOR RhiCRC,Rtmp ;1
EOR RloCRC,Rsym ;1
#undef Rsym
#undef Rtmp

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru