Чем богаты, тем и рады (+) CRC16, полином 0x1021, асм TMS320VC55xx
AddCrc: ; in: ac1 - prev CRC16, T0 - byte. out: ac1 - new CRC16
psh dbl(ac2) || and #0ffh,t0
psh dbl(ac0) || BFXTR #0ff00h, AC1, AC2
XOR T0, AC2
BFXTR #0fff0h, AC2, AC0
XOR AC2, AC0
BFXTR #0fff8h, AC0, AC2
XOR AC0 << #4, AC2
XOR AC0 << #5, AC0
XOR AC1, AC2
AND #0ffh, AC0, AC1 || pop dbl(ac0)
XOR AC2 << #8, AC1 || pop dbl(ac2)
RET