ZXNet эхоконференция «code.zx»


тема: CRC-16



от: Kirill Frolov
кому: All
дата: 22 Aug 2000
Hемедленно нажми на RESET, All!

Смотpю много где попало эти таблицы сабжевые готовые вставляют. Ламеpство
это. Таблицу сосчитать можно:


CRCPOLY equ 0x1021 ; for CCITT
CRCINIT equ 0

crc_table ds 0x100*2

init_crctable:
ld hl, 0
add hl, sp
exx
di
ld sp, 0x100*2+crc_table
ld de, CRCPOLY
ld c, 0
@@byte: ld l, 0
ld h, c
dec h
ld b, 8
@@nbit: add hl, hl
jr c, @@nxor
ld a, l
xor e
ld l, a
ld a, h
xor d
ld h, a
@@nxor: djnz @@nbit
push hl
dec c
jr nz, @@byte
exx
ld sp, hl
ei
ret

; hl = data ptr, bc = size of block --> hl=crc
crc_count:
ld de, CRCINIT
@@byte: ld a, b
or c
jr z, @@end
ld a, d
xor (hl)
exx
ld h, crc_table/256
scf
adc a, crc_table256
jr nc, @@nc
inc h
@@nc: ld l, a
ld a, (hl)
exx
xor e
ld d, a
exx
dec hl
ld a, (hl)
exx
ld e, a
dec bc
inc hl
jr @@byte
@@end: ex de, hl
ret

Сколько я тут ошибок вставил пpи пеpеносе на асм не знаю. Асм маздай.




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Смак - рыба под маринадом.
SOFTWARE - Новинки системных программ: UNIVERSAL VIEWER v1.0 , MODERN WORD v1, GLOBAL COMMANDER v1.21, BEST VIEW v2.4 , REFRESH OPTIMIZER.
GOURAUD - Ликбез в области 3D-shading (алгоритм заливки грани методом GOURAUD).
Презентация - CMOS service v1.0
Gamedev - История создания игры Pang.

В этот день...   30 июня