algoritm
ZXNet echo conference «code.zx»
From Aleksandr Majorov → To Andrey Orlov 21 November 1998
Hayushki, Andrey!
Once in morning 18-11-97 12:46:49 somebody Andrey Orlov has
written to all about 'algorithm'.
AO> Yes: number in register pair! FOR EXAMPLE HL-12345!
AO> you need to: in an array of five bytes get: DB 1,2,3,4,5 !!
AO> ?who will come up with a smart idea???
I don't pretend to be a cool code... but it works!
just figure out how ;-))))))
=====================================================================
;TRANSFER [BC] TO ASCII NUMBER,
;B [A] - NUMBER OF DIGITS, IF #00 - WITHOUT ZEROS
DECODE_BCA PUSH AF
LD HL,WORK_BUFF_S ;the result will be here
PUSH HL
PUSH BC: LD BC,#0730
LD (HL),C: INC HL: DJNZ $-2
LD(HL),B
POP DE
CALL WDECOD
POP HL
LD A,7: POP BC: SUB B
CP 7: JR Z,DECO_BCA0
ADD A,L: LD L,A: RET NC
INC H: RET
DECO_BCA0 LD A,(HL)
OR A: JR Z,DECO_BCA1
CP "0": RET NZ
INC HL: JR DECO_BCA0
DECO_BCA1 DEC HL: RET
DECODE_BC PUSH BC: LD BC,#0620
LD (HL),C: INC HL: DJNZ $-2
POP DE
WDECOD EX DE,HL
LD B,3
DECOD PUSH BC: LD B,16: XOR A
SBIT ADD HL,HL: ADC A,A: DAA
JR NC,$+3: INC HL
DJNZ SBIT: LD C,A
AND #0F: ADD A,"0"
DEC DE: LD (DE),A
LD A,C: RRCA: RRCA: RRCA: RRCA
AND #0F: ADD A,"0"DEC DE: LD (DE),A
POP BC: DJNZ DECOD
RET
=====================================================================
Well that's it *MAS* with a sledgehammer