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


тема: CRC.BG93



от: Dmitry Lomov
кому: Andrey Chervinsky
дата: 14 Aug 1999
Hello, Andrey!

Однажды, Пят Авг 13 1999 00:23, Andrey Chervinsky писал к All о [CRC.BG93]:


AC> Извините за навязчивость, но не могли бы вы подсказать,
AC> как считает контрольный код всеми любимая микросхема ВГ93.

─ CODE.ZX (500:812/1.25) ───────────────────────────────────────────── CODE.ZX
Msg : 485 of 1193 Rcv From : Alexander Ageev
2:5030/675.10 Пон 18 Янв 99 12:53 To : Dmitry Lomov
Чет 24 Июн 99 00:03 Subj : Re: Mazdaй
───────────────────────────────────────────────────────────────────────────────
*** Answering a msg posted in area HARDWARE.ZX (HARDWARE.ZX).

Hello Dmitry!

Thursday January 14 1999 00:16, Dmitry Lomov wrote to Kirill Frolov:
KF>> А может ты знаешь как 1818ВГ93 считает CRC ? Расскажи !

DL> так же, как МАС написал :) детально не ковырял, не знаю.
DL> кто-нибудь этим занимался? дядя DARK, у тебя ведь было что-то
DL> такое? АУ.

=== Beginning of crc.txt ===
ORG #6000
LD HL,TESTHD
LD DE,#B230
LD C,4

CALL CRC
LD HL,TESTHD
LD DE,#E295
LD C,0
CALL CRC RET
DW 0

; IN :HL=DATA; DE=INIT CRC; C=SIZE
;OUT :DE=CRC ^^ #B230=HEADER #E295=DATA

CRC LD A,D:XOR (HL):LD D,A:INC HL
LD B,8
CRC2 SLA E:RL D:JR NC,CRC3
LD A,D:XOR #10:LD D,A
LD A,E:XOR #21:LD E,A
CRC3 DJNZ CRC2
DEC C:JR NZ,CRC RET
;---------------------------------------
TESTHD DB 0,0,1,1
TESTDT DS 256
=== End of crc.txt ===
Stinger.



───────────────────────вырезать─здесь─────(file: crc)───────────


Всего хорошего.
Дмитрий.

от: Oleg Grigoriev
кому: Andrey Chervinsky
дата: 14 Aug 1999

Пусть враги твои, Andrey, умрут без сыновей!

Fri 13 Aug 1999 at 00:23, Andrey Chervinsky ═> All:

AC> Извините за навязчивость, но не могли бы вы подсказать,
AC> как считает контрольный код всеми любимая микросхема ВГ93.

────[ Здесь начинается файл Vg_Crc .C ]───────────────────────

ORG #8000
LD HL,BUFF0,C,#04
XOR A:CALL CRC

LD HL,BUFF1,C,#00
LD A,#01:CALL CRC

RET

BUFF0 DB #00,#00,#01,#01
BUFF1 DS #0100

;***************************************
;IN: [HL] =ADDR
; [C] =LENGTH
; [A] =TYPE; 0=HEADER, 1=DATA
;
;OUT: [DE] =CRC
;
CRC LD DE,#B230:OR A:JR Z,$+#05
LD DE,#E295

CRC1 LD A,D:XOR (HL):LD D,A
INC HL

LD B,#08

CRC2 SLA E:RL D:JR NC,CRC3

LD A,D:XOR #10:LD D,A
LD A,E:XOR #21:LD E,A

CRC3 DJNZ CRC2

DEC C:JR NZ,CRC1
RET

────[ Здесь кончается файл Vg_Crc .C ]────────────────────────

[ WBR, Oleg. ]
[ 05:28 14 August XXXIV A.S. ]



75

от: Yuri Ankudinov
кому: Andrey Chervinsky
дата: 14 Aug 1999


Как-то раз 13-08-99 в 00:23:00, увидел я интересное письмецо, там Andrey
Chervinsky
писал к All.Тема письма была CRC.BG93...
... И вот я тоже решил помять свою клаву.

├┤e└└o, уважаемый Andrey!


AC> Hi,All!

AC> Извините за навязчивость, но не могли бы вы подсказать,
AC> как считает контрольный код всеми любимая микросхема ВГ93.

Да на здоровье...
Лекция: Самой высокой помехоустойчивостью обладают цикличес-
кие контрольные коды, построенные на основе полиномов.Причем,
чем выше степен полинома, тем надежнее CRC.Проверочная область
блоков фиксированной длины и кадров должна содержатЬ
инвертированный остаток от деления по модулю два на образующий
полином совокупности бит служебной и информационной областей,
умноженной на X^K, где K - размер проверочной области в битах.
Так как при записи на гибких магнитных дисках используется
полином 16-й степени с минимальным кодовым расстоянием равным
┌──────────────┐
│X^16+X12+X^5+1│
└──────────────┘
(в соответствии с ГОСТ 17422-82).При этом длина блока должна
быть не более 2^15 бит.Та же самая идея применяется и в
накопителях на жестких магнитных дисках, и даже в любимом на PC
архиваторе RAR.Теперь ближе к делу...Привожи программы
демонстрирующую метод посчета crc контроллером ВГ-93 и не
только им...
....
LD IX,АДРЕС МАССИВА
LD DE,ДЛИHА МАССИВА
CALL CRC16
....
CRC16
LD HL,0 ;HАЧАЛЬHЫЕ УСЛОВИЯ
LD B,(IX+00)
LD C,8
M1 LD A,B
XOR H
SLA B
SLA L
JR C,M2
SLA H
JR M3
M2 SLA H
INC H
M3 BIT 7,A
JR Z,M4
INC L
JR M5
M4 LD A,20
XOR L
LD L,A
LD A,10
XOR H
LD H,A
M5 DEC C
JR NZ,M1
INC IX
LD B,(IX+00)
LD C,8
DEC DE
LD A,D
OR E
JR NZ,M1
RET


CRC будет находиться по выходу в HL!Сразу предупрежу, дла
работы программы надо время.Ведь контроллеры флопов делают это
дело аппаратно!!!Так что если будут тормоза - уменьшай степень
полинома...

┌═─═─═─═─═─═─═─═─═─═─═─═─═─═─═─═─═┐
║With the be$t wi$he$ and regards,║
│ Искренне ваш, Юрий. │
╚─═─═─═─═─═─═─═─═─═─═─═─═─═─═─═─═─╝




(500:812/28.22)




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

Похожие статьи:
Обращение к читателям - Почему же начали создание этого журнала ?
Вступление - следующему выпуску быть.
Вступление - Приветствую вас на 4-й, в истории GOMEL ZX-NET тусовкe!

В этот день...   19 октября