;:sys36864 ;.opt oo *= $c000 low =$cb00 high =$cc00 erg =$cd00 komma =$aefd frmnum =$ad8a integer =$b7f7 rnd =54299 tlow =$ce00 thigh =$cf00 frqhi =54287 wave =54290 ind =$ca00 getx =$b7f1 jmp init jmp dazu jmp sucht jmp sum jmp scratch anzprg =5 summe .word 0 von .word 0 bis .word 0 anzfun =2 stress .word 0 getadr jsr komma jsr frmnum jmp integer holexp ldx #0 hexp lda low,x sta tlow,x lda high,x sta thigh,x inx bne hexp rts bakexp ldx #0 bexp lda tlow,x sta low,x lda thigh,x sta high,x inx bne bexp rts geduld lda stress bne dek dec stress+1 dek dec stress bne weiter lda stress+1 bne weiter lda #0 sta anzfun pla pla weiter rts init lda #0 sta anzprg lda #100 sta frqhi lda #129 sta wave rts dazu jsr getadr ldx anzprg inc anzprg sta high,x tya sta low,x stx summe jsr getx txa ldx summe sta ind,x rts sucht jsr getadr sta von+1 sty von jsr getadr sta bis+1 sty bis jsr getadr sta stress+1 sty stress sei try jsr holexp lda #0 sta summe sta summe+1 sta anzfun try2 jsr geduld lda rnd try3 cmp anzprg bcc try4 sbc anzprg bne try3 try4 tax lda tlow,x bne try5 lda thigh,x beq try2 try5 lda summe clc adc tlow,x sta summe lda summe+1 adc thigh,x sta summe+1 lda #0 sta tlow,x sta thigh,x ldy anzfun lda ind,x sta erg,y inc anzfun lda summe+1 cmp bis+1 bcc try6 bne try lda summe cmp bis bcc try6 bne try try6 lda summe+1 cmp von+1 bcc try2 bne try7 lda summe cmp von bcc try2 try7 cli jmp bakexp sum lda #0 sta anzfun sta anzfun+1 ldx anzprg sm dex lda low,x clc adc anzfun sta anzfun lda anzfun+1 adc high,x sta anzfun+1 txa bne sm rts scratch ldy #0 ldx #0 s1 lda high,x bne goon lda low,x bne goon inx jmp goon2 goon lda high,x sta high,y lda low,x sta low,y lda ind,x sta ind,y iny inx goon2 cpx anzprg bcc s1 sty anzprg rts