 , , -,  "׸-
 ",  ,      -
 -     LZ .    -
        .

  :  - ,  - .

;  v 3.01
;HL- DE-
;DLPCB  DEFM "v301"

DELPZ   PUSH DE
        LD DE,DLPCB
        LD BC,4
        LDIR
        POP DE
xpD0    LD A,(HL)
        SRL A
        JR NC,xpD1
        CALL xpSUB  ;short copy
        RRA         ;%AAAlenB1
        RL B        ; ^^^nopacked
        AND 7
xpM2    JR NZ,xpNex ;len<=9
        LD A,(HL)   ;len>9
        INC HL
xpNex   LD C,(HL)   ;disp (  B)
        INC HL
        PUSH HL
        LD H,D
        LD L,E
        SBC HL,BC
        LD B,0
        LD C,A
xpM1    INC BC
        INC BC      ;>=3
        LDIR
        POP HL
        EX AF,AF'
        JR Z,xpD0
        JR NZ,xpDRR ;nocompr 1..7

xpD1    RRA
        JR C,xpZ1
        RRA
        JR C,xpZ2
        JR Z,xpDEND ;%xxxxx000
        INC HL
xpDRR   LD B,A      ;nocompr 1..31
xpDL0   LD A,(HL)
        INC HL
        XOR (HL)
        LD (DE),A
        INC DE
        DJNZ xpDL0
        JR xpD0

xpZ2    SRL A       ;%xxxxx100 ;repeat
        JR C,xpZ2L
        LD C,A
        XOR A
        EX AF,AF'
xpZ22   INC HL
        PUSH HL
        LD H,D
        LD L,E
        DEC HL
        JR xpM1

xpZ2L   CALL xpSUB  ;%xxxX1100
        RRA         ;    ^
        RL B        ;0/1
        LD C,(HL)
        JR xpZ22

xpZ1    SRL A       ;%xxxxxx10
        JR NC,xpTWO
        LD C,A      ;%xxxxx110 ;long copy
        INC HL
        LD A,(HL)
        AND #1F
        LD B,A
        LD A,C
        CALL xpSUB
        OR A
        JR xpM2

xpTWO   INC A       ;  %xxxxx010
        LD C,A      ;=1..32
        INC HL
        PUSH HL
        LD H,D
        LD L,E
        SBC HL,BC
        LD C,2
        LDIR
        POP HL
        JR xpD0

xpDEND  LD HL,DLPCB ;%xxxxx000
        LD C,4
        LDIR
        RET

xpSUB   EX AF,AF'   ; 3 .    A'
        LD A,(HL)
        RLCA
        RLCA
        RLCA
        AND 7
        EX AF,AF'
        INC HL
        RET
 