algoritm — ZXNet «code.zx»

algoritm

ZXNet echo conference «code.zx»



from: Aleksandr Majorov
to: Andrey Orlov
date: 21 November 1998
Хаюшки, Andrey! Once in morning 18-11-97 12:46:49 somebody Andrey Orlov has written to all about 'algoritm'. AO> Есть: число в регистровой паре! HАПРИМЕР HL-12345 ! AO> надо: в массиве из пяти байт получить : DB 1,2,3,4,5 !! AO> ?кто поткинет умную идею??? на крутость кода не претендую... но оно работает! только сам разбирайся как ;-)))))) ==================================================== ;ПЕРЕВЕСТИ [BC] В ASCII-ЧИСЛО, ;В [A] - КОЛИЧЕСТВО ЦИФР, ЕСЛИ #00 - БЕЗ HУЛЕЙ DECODE_BCA PUSH AF LD HL,WORK_BUFF_S ;вот здесь будет результат 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 ==================================================== Hу вот и все *MAS* с кувалдой