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


тема: MOA CRC



от: Stanislav Udin
кому: All
дата: 29 Jul 2001
Привет all!

Вот чуть подправил процедуру, которую Кирилл предложил, так что бы таблица
получалась как у МОА, но что-то не получается у меня ее больше ускорить, хотя
чувствую это можно сделать:

DI
LD HL,CRC_TAB
LD C,0
BYTE LD E,0
LD D,C
DEC D
LD B,8
EX DE,HL
NBIT ADD HL,HL
JR C,NXOR
LD A,L
XOR #21 ;Здесь и ниже быстрее ксориться с содержимым
;регистра, однако регистров не хватает :(
LD L,A
LD A,H
XOR #10
LD H,A
NXOR DJNZ NBIT
EX DE,HL
LD (HL),D
INC HL
LD (HL),E
INC HL
DEC C
JR NZ,BYTE
RET

CRC_TAB DEFS 512,0

А за одно может и МОАшную процедуру ускорить можно?

;Cyclic Redundancy Check.
;Подсчет контрольной суммы.
;IN : [DE] - START, [BC] - LENGHT
;OUT: [DE] - CRC-SUMM.
CRC LD HL,#FFFF
PUSH IX
PUSH DE
POP IX
EX DE,HL
CRC_1 LD HL,CRC_TAB
LD A,(IX)
INC IX
XOR E
ADD A,L
LD L,A
JR NC,CRC_2
INC H
CRC_2 LD A,D
XOR (HL)
LD E,A
INC HL
XOR A
XOR (HL)
LD D,A
DEC BC
LD A,C
OR B
JR NZ,CRC_1
POP IX
RET

Процедуры будут всегда использовать в паре, то есть вначале генериться таблица,
а потом тут же расчет CRC. Может быть можно эти де процедуры объединить и
ускорить этот общий конгламерат? Hужно будет общитывать всего 508 байт.


Stanislav

от: Kirill Frolov
кому: Stanislav Udin
дата: 30 Jul 2001
Hемедленно нажми на RESET, Stanislav!

29 Jul 01 22:25, Stanislav Udin wrote to All:

SU> Вот чуть подправил процедуру, которую Кирилл предложил, так что бы
SU> таблица получалась как у МОА, но что-то не получается у меня ее больше
SU> ускорить, хотя чувствую это можно сделать:

Hужно думать об алгоритмической оптимизации, а не о коде.

SU> LD H,A
SU> NXOR DJNZ NBIT
SU> EX DE,HL
SU> LD (HL),D
SU> INC HL
SU> LD (HL),E
SU> INC HL

SU> - DEC C

+ INC C
+ LD A, C
+ CP 129

SU> JR NZ,BYTE
SU> RET


SU> CRC_TAB DEFS 512,0

CRC_TAB DEFS 258, 0


SU> CRC_1 LD HL,CRC_TAB
SU> LD A,(IX)
SU> INC IX
SU> XOR E
+ ADD A, A
+ JR NC, $+3
+ INC H
SU> ADD A,L
SU> LD L,A
^^^^^^^^^^
Вот ошибка. Из-за неё больше 257 байт в таблице не используется.

SU> JR NC,CRC_2
SU> INC H
SU> CRC_2 LD A,D




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

Похожие статьи:
Приколы №4 - Дело рук товарища Argon'а, с небольшой помощью CYBORG'а.
Стихи - "Моя госпожа".
Фенечки - говорят дети.
COMPUTER WORLDS - Новелла по игре "ZOMBI".
CDOS-модем - Доработки CDOS-модема для улучшения связи.

В этот день...   26 апреля