sta p› lda p+1› adc err+1› sta p+1›› ldx tre02,y› cpx l› beq sp› stx l› lda lmsk-1,x› sta err› lda hmsk-1,x› sta err+1››sp lda p› sta tmp› lda p+1› sta tmp+1››* wstaw do drzewa›*----------------› lda tre01,y› sta val› ldx tre02,y› sty skp_+1›› lda #0 ;next link=0›_l1 dex› tay›bit asl tmp› rol tmp+1› bcs _1››_0 cpx #0› bne _s1› lda val› sta (l0),y› jmp skp_›_s1 lda (h0),y› bne _l1› inc nxt› lda nxt› sta (h0),y› jmp _l1››_1 cpx #0› bne _s2› lda val› sta (l1),y› jmp skp_›_s2 lda (h1),y› bne _l1› inc nxt› lda nxt› sta (h1),y› jmp _l1››skp_ ldy #0›skp iny› cpy mx› bne lp› rts››* SORT sortujemy match_len z HUFL+??›* i zapamietujemy stara kolejnosc›* wystepowania danych w TRE01››* VFAST›*------›sort jsr cnibl›› lda #0› ldy #15›c1 sta pom,y› dey› bpl c1› sta md+1› sta md_+1›› tay ; liczymy elementy›c2 ldx tre02,y› inc pom,x› iny› cpy mx› bne c2›› ldx #0 ; pozycje elementow›l2_ ldy #0 ; nie posortowanych›l2 txa ; do tablicy TRE01› cmp tre02,y ; dla celow PCK› bne s2›md_ sty tre01› inc md_+1›s2 iny› cpy mx› bne l2› inx› cpx #16› bne l2_›› ldx #0 ; sortuje›l_ ldy pom,x› beq s1›md stx tre02› inc md+1› dey› bne md›s1 inx› cpx #16› bne l_› rts››cnibl sta ld_bf+1 ;zamiana na nible› stx ld_bf+2 ;do TRE02›› ldy #0› ldx #0›ld_bf lda $ffff,x› pha ;starszy nibel› lsr @› lsr @› lsr @› lsr @› sta tre02,y› iny› pla› and #$f ;mlodszy nibel› sta tre02,y› inx› iny› cpy mx› bne ld_bf› rts››*-----›lmsk dta l($8000),l($4000),l($2000)› dta l($1000),l($800),l($400)› dta l($200),l($100),l($80)› dta l($40),l($20),l($10)› dta l(8),l(4),l(2),l(1)››hmsk dta h($8000),h($4000),h($2000)› dta h($1000),h($800),h($400)› dta h($200),h($100),h($80)› dta h($40),h($20),h($10)› dta h(8),h(4),h(2),h(1)››ratio brk›lng dta a(0)›lnght dta a(0)››