;:sys36864 ;.opt oo *= 49152 tmp =247 tmp2 =249 step =2 st =253 mem =167 end =180 te =141 an =139 len =143 ptr =95 hi =57 hi2 =59 num =251 zw =169 zwsp =171 such =52000 make =52100 memo =52200 s =2 t1 =4 t2 =181 e =254 reple =247 ymm =248 ym2 =249 lens =250 lenm =251 flag =252 flag2 =253 jmp help jmp del jmp renum jmp insert jmp save jmp getli jmp defs jmp defr jmp token jmp copy ht1 .byt 13,13 .byte "line-utility von nikolaus heusler" .byt 13,13 .byte "ver. 1, 12.91" .byt 13,13,13 .byte "sys 49152 hilfe" .byt 13 .byte "sys 49155,... delete" .byt 13 .byte "sys 49158,... renumber" .byt 13 .byte "sys 49161,... insert" .byt 13 .byte "sys 49164,... bereich speichern" .byt 13 .byte "sys 49167,... zeile suchen" .byt 13,0 ht2 .byte "sys 49170,... suchbegriff festlegen" .byt 13 .byte "sys 49173,... suchen/ersetzen" .byt 13 .byte "sys 49176 tokenwandlung ein/aus" .byt 13 .byte "sys 49179,... zeilen kopieren" .byt 13,13,0 tx01 .byt 13 tx1 .byte "zeile " brk tx2 .byte " beginnt im ram ab " brk tx3 .byte " nicht" tx4 .byte " gefunden" .byt 13,0 tx5 .byt 13 .byte "tokenwandlung a" brk tx6 .byte " -> " brk lae brk tof .byt -1 yme brk diff brk help lda #ht1 jsr $ab1e lda #ht2 jmp $ab1e skipkom jsr 121 cmp #"," bne weiter jsr 115 jmp skipkom weiter rts up lda #"\x91" jmp $ffd2 scope jsr skipkom jsr 121 bcc l172 beq l172 cmp #171 bne l200 l172 jsr $a96b lda 20 sta an lda 21 sta an+1 jsr 121 beq l203 cmp #44 beq l203 cmp #171 bne l200 jsr 115 jsr $a96b beq l203 cmp #44 beq l203 l200 jmp $af08 l203 lda 20 ora 21 bne l216 ldx #-1 stx 21 dex stx 20 l216 jsr test inc 20 bne l225 inc 21 l225 lda 20 sta end lda 21 sta end+1 jsr $a613 lda 95 sta tmp lda 96 sta tmp+1 getadr lda an sta 20 lda an+1 sta 21 jsr $a613 lda 95 sta tmp2 lda 96 sta tmp2+1 rts test lda an+1 cmp 21 bne l326 lda an cmp 20 beq l331 l326 bcc l331 jmp 45640 l331 rts del jsr scope ldy #0 l257 lda tmp+1 cmp 46 bcc l271 bne l290 lda tmp cmp 45 bcs l290 l271 lda (tmp),y sta (tmp2),y inc tmp bne l281 inc tmp+1 l281 inc tmp2 bne l257 inc tmp2+1 bne l257 l290 tya sta (tmp2),y iny sta (tmp2),y jsr corr jsr $a659 jmp $e385 renum lda #10 sta step lda #100 sta st lda #0 sta st+1 sta mem sta mem+1 lda #-1 sta end sta end+1 jsr 121 beq full jsr $aefd jsr 43371 lda 20 sta st lda 21 sta st+1 jsr 121 beq full jsr 44797 jsr 47006 stx 2 txa bne fein jmp $b248 fein jsr 121 cmp #44 bne l223 jsr 115 bcc l193 cmp #171 beq l193 l190 jmp $af08 l193 jsr $a96b lda 20 sta mem lda 21 sta mem+1 jsr 121 cmp #171 bne l190 jsr 115 jsr $a96b lda 20 ora 21 bne l229 l223 lda #-1 sta end bne l235 l229 lda 20 sta end lda 21 l235 sta end+1 full sei jsr $a68e l241 ldy #2 lda (122),y bne l250 jmp l590 l250 ldy #4 jsr 43259 l255 jsr 115 l258 jsr l669 cmp #0 beq l241 cmp #203 beq l300 cmp #141 beq l307 cmp #137 beq l307 cmp #167 beq l289 cmp #138 beq l289 cmp #155 bne l255 l289 jsr 115 bcc l310 l294 cmp #171 beq l307 bne l258 l300 jsr 115 cmp #164 bne l255 l307 jsr 115 l310 ldx 122 stx te ldx 123 stx te+1 jsr 43371 lda 20 sta num lda 21 sta num+1 jsr l341 jsr 121 cmp #44 beq l307 bne l294 l341 jsr l650 l344 ldy #1 lda (ptr),y beq l396 iny jsr l697 cmp end+1 bne l362 cpx end beq l364 l362 bcs l396 l364 cmp num+1 bne l372 cpx 251 beq l397 l372 bcs l396 lda step adc an sta an bcc l384 inc an+1 l384 ldy #0 jsr l697 stx ptr sta ptr+1 jmp l344 l396 rts l397 lda an sta 99 lda an+1 sta 98 ldx #144 sec jsr 48201 jsr 48607 ldy #-1 l416 iny lda 256,y bne l416 sty len lda 122 sec sbc te sec sbc len bne l437 jmp l562 l437 bcc l513 sta zwsp lda 122 sta hi2 sbc zwsp sta hi lda 123 sta hi2+1 sbc #0 sta hi+1 pha sec lda 45 sbc 122 sta zw lda 46 sbc 123 sta zw+1 ldy #0 ldx zw+1 beq l491 l477 lda (hi2),y sta (hi),y iny bne l477 inc hi2+1 inc hi+1 dex bne l477 l491 ldx zw beq l503 l495 lda (hi2),y sta (hi),y iny dex bne l495 l503 lda hi sta 122 pla sta 123 jmp l562 l513 sec sta zwsp lda #0 sbc zwsp sta zwsp adc 45 sta 88 lda 46 sta 91 adc #0 sta 89 lda 45 sta 90 lda 122 sta 95 clc adc zwsp pha lda 123 sta 96 adc #0 pha jsr 41919 pla sta 123 pla sta 122 l562 ldy 143 dey l565 lda 256,y sta (te),y dey bpl l565 corr jsr 42291 lda #2 clc adc 34 sta 45 lda 35 adc #0 sta 46 rts l590 jsr l650 l593 ldy #1 lda (ptr),y bne l606 l599 cli jsr 42592 jmp 58269 l606 iny jsr l697 cmp end+1 bne l618 cpx end beq l620 l618 bcs l599 l620 lda an+1 sta (ptr),y dey lda an sta (ptr),y clc adc step sta an bcc l638 inc an+1 l638 ldy #0 jsr l697 stx ptr sta ptr+1 jmp l593 l650 lda st sta an lda st+1 sta an+1 lda mem sta 20 lda mem+1 sta 21 jmp 42515 l669 cmp #143 beq l684 cmp #34 beq l686 cmp #131 bne l696 lda #58 .byt $2c l684 lda #0 l686 tax jsr 43275 jsr 43259 jsr 121 l696 rts l697 lda (ptr),y tax iny lda (ptr),y rts insert jsr $aefd jsr $e1d4 lda #0 sta 185 ldy #160 sta tmp sty tmp+1 tax jsr $ffd5 bcc okay jmp 57593 okay lda 144 and #191 beq ret jmp $e19c ret jsr $aad7 lda #cont sta 770 sty 771 cont ldy #-1 loop lda #54 sta 1 iny lda (tmp),y inc 1 cpy #1 bcc loop bne line tax bne loop donei ldx #3 jsr $e455 ldx 214 jsr 59903 jsr up jmp $e1ab line cpy #4 bcs char sta 18,y bcc loop char sta 508,y tax bne loop tya pha adc tmp sta tmp bcc noerh inc tmp+1 noerh ldx 20 lda 21 einsprung jsr $bdcd jsr $aad7 jsr up pla tay iny jmp $a4a2 save jsr scope jsr $aefd jsr $e1d4 ldy #0 lda (tmp),y pha tya sta (tmp),y tax iny lda (tmp),y pha txa sta (tmp),y lda tmp clc adc #2 tax lda tmp+1 adc #0 tay lda #tmp2 jsr $ffd8 ldy #1 pla sta (tmp),y pla dey sta (tmp),y rts getli jsr $aefd jsr $ad8a jsr $b7f7 lda 43 sta 2 lda 44 sta 3 lda #0 sta 4 jsr $aad7 x1 ldy #1 lda (2),y beq haha ldy #3 lda (2),y cmp $15 bne wr dey lda (2),y cmp $14 bne wr jsr prnt lda #tx2 jsr $ab1e ldx 2 lda 3 sta 4 jsr $bdcd jsr $aad7 wr ldy #0 lda (2),y pha iny lda (2),y sta 3 pla sta 2 jmp x1 haha lda 4 bne en jsr prnt lda #tx3 jmp $ab1e ldx 2 ldy 3 jsr $bdcd jsr $aad7 en rts prnt lda #tx1 jsr $ab1e ldx $14 lda $15 jmp $bdcd defs jsr $aefd ldx #0 suchs jsr cat beq overs sta such,x inx jsr cet bne suchs overs sta such,x txa beq err stx lens inx stx flag lda tof bne good lda #such jsr konvert sty lens good rts defr lda #0 cmp flag bne cont1 err jmp $b3ae cont1 sta flag jsr 121 beq find jsr $aefd jsr $aad7 ldx #0 suchm jsr cat beq overm sta make,x inx jsr cet bne suchm overm sta make,x stx lenm lda tof bne replace lda #make jsr konvert sty lenm replace lda #0 .byt $2c find lda #1 sta reple lda 43 sta s lda 44 sta s+1 zeile lda #0 sta flag2 jsr up ldy #1 lda (s),y bne goon jsr 42291 clc lda 34 adc #2 sta 45 sta 47 sta 49 lda 35 adc #0 sta 46 sta 48 sta 50 jsr $a81d ldx #$19 stx $16 jsr $a687 ldx 214 inx jsr 59903 jmp 57741 goon lda #tx01 jsr $ab1e ldy #2 lda (s),y tax iny lda (s),y jsr $bdcd ldy #4 se1 lda (s),y beq se5 sty yme ldx #0 se2 lda such,x beq se3 cmp (s),y bne se4 inx iny bne se2 se4 ldy yme se4a iny bne se1 se5 iny tya clc adc s sta s bcc se6 inc s+1 se6 jmp zeile se3 lda #0 cmp reple bne re2 sta diff lda lens cmp lenm beq se7 bcc se8 jsr delete jmp se7 se8 jsr inst se7 ldx #0 ldy yme repl lda make,x beq re2 sta (s),y iny inx bne repl re2 lda flag2 bne re2a lda #tx4 jsr $ab1e inc flag2 re2a lda yme clc adc diff tay bne se4a cet inc $7a bne la1 inc $7b la1 rts cat ldy #0 lda ($7a),y rts inst lda lenm sec sbc lens sta diff pha lda yme clc adc s sta e lda s+1 adc #0 sta e+1 ldx 45 stx t1 ldx 46 stx t1+1 pla clc adc 45 sta 45 sta t2 lda 46 adc #0 sta 46 sta t2+1 ldy #0 icopy lda e+1 cmp t1+1 bcc i1 lda e cmp t1 bcc i1 rts i1 lda (t1),y sta (t2),y lda t1 bne i2 dec t1+1 i2 dec t1 lda t2 bne i3 dec t2+1 i3 dec t2 jmp icopy delete lda lens sec sbc lenm sta diff pha dec diff lda yme clc adc s sta t1 lda s+1 adc #0 sta t1+1 pla clc adc t1 sta t2 lda t1+1 adc #0 sta t2+1 ldy #0 dcopy lda t2+1 cmp 46 bcc d1 lda t2 cmp 45 bcc d1 lda t1 sta 45 lda t1+1 sta 46 rts d1 lda (t2),y sta (t1),y inc t1 bne d2 inc t1+1 d2 inc t2 bne d3 inc t2+1 d3 bne dcopy konvert sta s sty s+1 ldy #-1 tr1 iny lda (s),y sta memo,y bne tr1 ldy #0 sty $f sty lae lp1 lda memo,y beq fritz bpl so cmp #-1 beq so bit $f bmi so sec sbc #$7f tax sty ym2 ldy #-1 a72c dex beq a737 a72f iny lda $a09e,y bpl a72f bmi a72c a737 iny lda $a09e,y bmi ratz jsr rein jmp a737 so cmp #34 bne so2 lda $f eor #-1 sta $f lda #34 so2 jsr rein jmp so5 ratz and #127 jsr rein ldy ym2 so5 iny bne lp1 rein sty ymm ldy #0 sta (s),y inc s bne r2 inc s+1 r2 inc lae ldy ymm rts fritz jsr rein ldy lae dey rts token lda #tx5 jsr $ab1e lda tof eor #-1 sta tof bne on lda #"u" jsr $ffd2 lda #"s" .byt $2c on lda #"n" jsr $ffd2 jmp $aad7 illq jmp $b248 copy jsr $aefd jsr $b7eb stx step lda 20 sta st lda 21 sta st+1 jsr scope ldx end+1 inx beq illq jsr $aad7 lda #cop5 sta 770 sty 771 cop1 ldy #1 lda (tmp2),y bne cop8 cop3 jsr corr jsr $a659 jmp donei cop8 ldy #3 lda (tmp2),y cmp end+1 bcc cop2 bne cop3 dey lda (tmp2),y cmp end bcs cop3 cop2 ldy #2 lda (tmp2),y tax iny lda (tmp2),y jsr $bdcd lda #tx6 jsr $ab1e ldy #3 cop4 iny lda (tmp2),y sta 508,y tax bne cop4 tya pha sec adc tmp2 sta tmp2 bcc cop7 inc tmp2+1 cop7 ldy #2 lda (tmp2),y sta an iny lda (tmp2),y sta an+1 ldx st stx 20 lda st+1 sta 21 jmp einsprung cop5 lda st clc adc step sta st bcc cop6 inc st+1 cop6 jsr getadr jmp cop1