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