home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1987 March / 64er_Magazin_87-03_1987_Markt__Technik_de_Side_A.d64 / arith13.src < prev    next >
Text File  |  2022-10-26  |  24KB  |  1,332 lines

  1.  
  2.         .nosy
  3. buff    = $c000
  4. pflag   = $c010
  5. *       = $0801
  6.         .byte$0f,$08,$0a,$00
  7.         .byte$9e,$20,$32,$30
  8.         .byte$36,$35,$20,$20
  9.         .byte$20,$00,$00,$00
  10. init    lda#<[k1+offset]  ;nach $c100
  11.         sta$5f
  12.         lda#>[k1+offset]
  13.         sta$60
  14.         lda#<[ende+offset]
  15.         sta$5a
  16.         lda#>[ende+offset]
  17.         sta$5b
  18.         lda#<ende
  19.         sta$58
  20.         lda#>ende
  21.         sta$59
  22.         jsr $a3bf
  23. anfang  lda#$00  ;rom ins ram
  24.         sta$5f
  25.         lda#$a0
  26.         sta$60
  27.         lda#$01
  28.         sta$5a
  29.         sta$58
  30.         lda#$c0
  31.         sta$5b
  32.         sta$59
  33.         jsr $a3bf
  34.         lda#$e0
  35.         sta$60
  36.         lda#$00
  37.         sta$5f
  38.         sta$5a
  39.         sta$58
  40.         sta$5b
  41.         sta$59
  42.         jsr $a3bf
  43.         lda#$35
  44.         sta 1
  45.         lda#<aendgn
  46.         sta$fc
  47.         lda#>aendgn
  48.         sta$fd
  49. lae1    ldy#0
  50.         lda($fc),y
  51.         sta$fe
  52.         iny
  53.         lda($fc),y
  54.         bne lae2
  55.         jmp $e39a ;einschaltmeldung
  56. lae2    sta$ff
  57.         iny
  58.         lda($fc),y
  59.         sta$cfe0
  60.         tay
  61.         dey
  62.         clc
  63.         lda$fc
  64.         adc#3
  65.         sta$fc
  66.         bcc lae3
  67.         inc$fd
  68. lae3    lda($fc),y
  69.         sta($fe),y
  70.         dey
  71.         bpl lae3
  72.         clc
  73.         lda$fc
  74.         adc$cfe0
  75.         sta$fc
  76.         bcc lae1
  77.         inc$fd
  78.         jmp lae1
  79. aendgn  .word$b10c
  80.         .byte 2
  81.         adc#9
  82.         .word$b154
  83.         .byte 2
  84.         adc#9
  85.         .word$b182
  86.         .byte 3
  87.         jsr l1
  88.         .word$b197
  89.         .byte 2
  90.         adc#7
  91.         .word$b26b
  92.         .byte 2
  93.         ldx#7
  94.         .word$b32a
  95.         .byte 2
  96.         ldx#7
  97.         .word$b849
  98.         .byte 4
  99.         lda#<k1
  100.         ldy#>k1
  101.         .word$b8b6
  102.         .byte 3
  103.         jsr l2
  104.         .word$b8eb
  105.         .byte 3
  106.         jmp l3
  107.         .word$b902
  108.         .byte 4
  109.         jsr l4
  110.         nop
  111.         .word$b921
  112.         .byte 4
  113.         jsr l5
  114.         nop
  115.         .word$b942
  116.         .byte 3
  117.         jmp l6
  118.         .word$b96b
  119.         .byte 3
  120.         jmp l27
  121.         .word$b96f
  122.         .byte 3
  123.         jmp l7
  124.         .word$b985
  125.         .byte 4
  126.         jsr l9
  127.         nop
  128.         .word$b9b2
  129.         .byte 4
  130.         jsr l10
  131.         nop
  132.         .word$ba3d
  133.         .byte 5
  134.         jsr l11
  135.         nop
  136.         nop
  137.         .word$ba65
  138.         .byte 4
  139.         jsr l12
  140.         nop
  141.         .word$ba83
  142.         .byte 4
  143.         jsr l13
  144.         nop
  145.         .word$ba90
  146.         .byte 4
  147.         jsr l14
  148.         nop
  149.         .word$bb01
  150.         .byte 4
  151.         lda#<k2
  152.         ldy#>k2
  153.         .word$bb3b
  154.         .byte 4
  155.         jsr l15
  156.         nop
  157.         .word$bb25
  158.         .byte 2
  159.         ldx#$fa
  160.         .word$bb43
  161.         .byte 3
  162.         jsr l17
  163.         .word$bb87
  164.         .byte 3
  165.         jmp l18
  166.         .word$bb9f
  167.         .byte 3
  168.         jmp l19
  169.         .word$bba6
  170.         .byte 4
  171.         jsr l20
  172.         nop
  173.         .word$bbcc
  174.         .byte 3
  175.         jmp l21
  176.         .word$bbdb
  177.         .byte 4
  178.         jsr l22
  179.         nop
  180.         .word$bc00
  181.         .byte 3
  182.         jmp l23
  183.         .word$bc0f
  184.         .byte 3
  185.         jmp l25
  186.         .word$bc88
  187.         .byte 3
  188.         jmp l28
  189.         .word$bb4f
  190.         .byte 4
  191.         jsr l30
  192.         nop
  193.         .word$bb5e
  194.         .byte 4
  195.         jsr l31
  196.         nop
  197.         .word$bced
  198.         .byte 4
  199.         jsr l32
  200.         nop
  201.         .word$bcf3
  202.         .byte 4
  203.         jsr l33
  204.         nop
  205.         .word$a413
  206.         .byte 3
  207.         jmp l34
  208.         .word$a427
  209.         .byte 3
  210.         jmp l35
  211.         .word$ae46
  212.         .byte 3
  213.         jmp l36
  214.         .word$ae76
  215.         .byte 3
  216.         jmp l37
  217.         .word$bf71
  218.         .byte 3
  219.         jmp l40
  220.         .word$be00
  221.         .byte 4
  222.         lda#<k5
  223.         ldy#>k5
  224.         .word$be0b
  225.         .byte 4
  226.         lda#<k3
  227.         ldy#>k3
  228.         .word$be16
  229.         .byte 4
  230.         lda#<k4
  231.         ldy#>k4
  232.         .word$ad3b
  233.         .byte 2
  234.         adc#8
  235.         .word$ad46
  236.         .byte 3
  237.         lda$010b,x
  238.         .word$ad5c
  239.         .byte 3
  240.         sbc$010b,x
  241.         .word$a755
  242.         .byte 2
  243.         lda#$0b
  244.         .word$ad61
  245.         .byte 3
  246.         lda$0113,x
  247.         .word$ad66
  248.         .byte 13
  249.         lda$0114,x
  250.         sta$3a
  251.         lda$0116,x
  252.         sta$7a
  253.         lda$0115,x
  254.         .word$a3b2
  255.         .byte 2
  256.         adc#$16
  257.         .word$ad79
  258.         .byte 2
  259.         adc#$15
  260.         .word$a78b
  261.         .byte 4
  262.         lda#<k7
  263.         ldy#>k7
  264.         .word$bc55
  265.         .byte 3
  266.         jmp l48
  267.         .word$b9fd
  268.         .byte 43
  269.         lda#<krsqr2
  270.         ldy#>krsqr2
  271.         jsr $b867
  272.         lda#<sqr2
  273.         ldy#>sqr2
  274.         jsr $bb0f
  275.         lda#<k7
  276.         ldy#>k7
  277.         jsr $b850
  278.         lda#<koeflog
  279.         ldy#>koeflog
  280.         jsr $e043
  281.         lda#<k8
  282.         ldy#>k8
  283.         jsr $b867
  284.         pla
  285.         jsr $bd7e
  286.         lda#<ln2
  287.         ldy#>ln2
  288.         .word$e079
  289.         .byte 1,7
  290.         .word$e264   ; cos
  291.         .byte 4
  292.         lda#<k9
  293.         ldy#>k9
  294.         .word$e26e   ; sin
  295.         .byte 4
  296.         lda#<k10
  297.         ldy#>k10
  298.         .word$e284
  299.         .byte 4
  300.         lda#<k11
  301.         ldy#>k11
  302.         .word$e2a0
  303.         .byte 4
  304.         lda#<k11
  305.         ldy#>k11
  306.         .word$e2ad
  307.         .byte 4
  308.         lda#<koefsin
  309.         ldy#>koefsin
  310.         .word$e04c
  311.         .byte 3
  312.         jsr mul
  313.         .word$e056
  314.         .byte 3
  315.         jmp mul
  316.         .word$e06c
  317.         .byte 7
  318.         jmp l41
  319.         nop
  320.         jsr mul
  321.         .word$ae9e
  322.         .byte 4
  323.         lda#<pi
  324.         ldy#>pi
  325.         .word$b804
  326.         .byte 3
  327.         jmp l42
  328.         .word$be32
  329.         .byte 3
  330.         jsr l43
  331.         .word$bca1
  332.         .byte 1,$b0
  333.         .word$bccf
  334.         .byte 1,$b0
  335.         .word$bcdf
  336.         .byte 1,$b0
  337.         .word$e029   ;exp
  338.         .byte 3
  339.         jmp exp
  340.         .word$a03c
  341.         .byte 2
  342.         .byte<[print.-1]
  343.         .byte>[print.-1]
  344.         .word$a03e
  345.         .byte 2
  346.         .byte<[print-1]
  347.         .byte>[print-1]
  348.         .word$aabc
  349.         .byte 3
  350.         jsr strg
  351.         .word$b7a4
  352.         .byte 3
  353.         jmp l46
  354.         .word$b1ad
  355.         .byte 3
  356.         jmp l49
  357.         .word$e2be
  358.         .byte 4
  359.         ldx#<buff
  360.         ldy#>buff
  361.         .word$e2c9
  362.         .byte 3
  363.         jsr konfac
  364.         .word$e2d5
  365.         .byte 4
  366.         lda#<buff
  367.         ldy#>buff
  368.         .word$bfed
  369.         .byte 4
  370.         lda#<k15
  371.         ldy#>k15
  372.         .word$bc55
  373.         .byte 3
  374.         jmp l50
  375.         .word$bce2
  376.         .byte 3
  377.         jmp l52
  378.         .word$e324
  379.         .byte 3
  380.         jmp atn
  381.         .word$a9cc
  382.         .byte 3
  383.         jmp l54
  384.         .word$b1c5
  385.         .byte 4
  386.         lda#<k17
  387.         ldy#>k17
  388.         .word$bf87
  389.         .byte 1,$c0
  390.         .word$bf95
  391.         .byte 1,$c0
  392.         .word$bfa9
  393.         .byte 1,$c0
  394.         .word$e31d
  395.         .byte 4
  396.         lda#<k7
  397.         ldy#>k7
  398.         .word$e330
  399.         .byte 4
  400.         lda#<k9
  401.         ldy#>k9
  402.         .word$e429
  403.         .byte 4
  404.         lda#<meldung
  405.         ldy#>meldung
  406.         .word$aed7   ;not
  407.         .byte 3
  408.         jmp l57
  409.         .word$aff0   ;and
  410.         .byte 3
  411.         jmp l58
  412.         .word$b279
  413.         .byte 6
  414.         jsr l59
  415.         nop
  416.         nop
  417.         nop
  418.         .word$b333
  419.         .byte 6
  420.         jsr l60
  421.         nop
  422.         nop
  423.         nop
  424.         .word$b1f7
  425.         .byte 7
  426.         jsr l61
  427.         nop
  428.         nop
  429.         nop
  430.         nop
  431.         .word$ba5b
  432.         .byte 3
  433.         jmp l62
  434.         .word$e0c2
  435.         .byte 3
  436.         jsr konfac
  437.         .word$e0f6
  438.         .byte 3
  439.         jmp l21
  440.         .word$e092
  441.         .byte 2
  442.         .word 0
  443.         .word$e0cc
  444.         .byte 4
  445.         lda#<k18
  446.         ldy#>k18
  447.         .word$e2c3
  448.         .byte 2
  449.         .word$bbd4
  450.         .word$ad58
  451.         .byte 2
  452.         .word rcom+2
  453.         .word$b028
  454.         .byte 2
  455.         .word rcom
  456.         .word 0
  457.  
  458.  offset = *-$c100
  459.         .offs offset
  460.  *      = $c100
  461.  
  462. k1      .byte$80,0,0,0,0,0,0     ;.5
  463. k2      .byte$84,$20,0,0,0,0,0   ;10
  464. k3      .byte$9e,$6e,$6b,$27,$fc,0,0
  465.                            ;999999999
  466. k4      .byte$9b,$3e,$bc,$1f,$fc,$cc,$cd
  467.                            ;99999999.9
  468. k5      .byte$9e,$6e,$6b,$28,0,0,0  ;1e9
  469. k8      .byte$80,$80,0,0,0,0,0
  470. sqr2    .byte$81,$35,$04,$f3,$33,$f9,$df
  471. ln2     .byte$80,$31,$72,$17,$f7,$d1,$cf
  472. krsqr2  .byte$80,$35,$04,$f3,$33,$f9,$df
  473. koeflog .byte 5
  474.         .byte$7f,$11,$c3,$ac,$85,$23,$13
  475.         .byte$7f,$23,$b7,$9e,$cb,$53,$39
  476.         .byte$7f,$53,$0d,$a6,$fe,$cc,$12
  477.         .byte$80,$13,$bb,$60,$5c,$cb,$27
  478.         .byte$80,$76,$38,$4e,$e3,$dd,$14
  479.         .byte$82,$38,$aa,$3b,$29,$5b,$f9
  480. koefsin .byte 7
  481.         .byte$80,$b1,$31,$32,$33,$a2,$17
  482.         .byte$82,$74,$4e,$75,$01,$85,$2d
  483.         .byte$84,$f1,$83,$11,$e1,$9c,$26
  484.         .byte$86,$28,$3c,$19,$24,$e7,$98
  485.         .byte$87,$99,$69,$66,$70,$be,$9a
  486.         .byte$87,$23,$35,$e3,$3b,$a8,$85
  487.         .byte$86,$a5,$5d,$e7,$31,$2d,$ea
  488.         .byte$83,$49,$0f,$da,$a2,$21,$6a
  489. k9      .byte$81,$49,$0f,$da,$a2,$21,$6d
  490. pi      .byte$82,$49,$0f,$da,$a2,$21,$6d
  491. k10     .byte$83,$49,$0f,$da,$a2,$21,$6d
  492. k11     .byte$7f,0,0,0,0,0,0
  493. strgkon .byte$f6,$e7,$b1,$8d,$60,$00
  494.         .byte$00,$e8,$d4,$a5,$10,$00
  495.         .byte$ff,$e8,$b7,$89,$18,$00
  496.         .byte$00,$02,$54,$0b,$e4,$00
  497.         .byte$ff,$ff,$c4,$65,$36,$00
  498.         .byte$00,$00,$05,$f5,$e1,$00
  499.         .byte$ff,$ff,$ff,$67,$69,$80
  500.         .byte$00,$00,$00,$0f,$42,$40
  501.         .byte$ff,$ff,$ff,$fe,$79,$60
  502.         .byte$00,$00,$00,$00,$27,$10
  503.         .byte$ff,$ff,$ff,$ff,$fc,$18
  504.         .byte$00,$00,$00,$00,$00,$64
  505.         .byte$ff,$ff,$ff,$ff,$ff,$f6
  506. k12     .byte$af,$35,$e6,$20,$f4,$80,0
  507. k13     .byte$af,$35,$e6,$20,$f4,$7f,$ec
  508. k14     .byte$ac,$11,$84,$e7,$29,$ff,$f0
  509. k16     .byte$83,$20,0,0,0,0,0
  510. koexpp  .byte 2
  511.         .byte$7b,$3d,$2e,$42,$ab,$70,$c0
  512.         .byte$85,$21,$9d,$d4,$98,$9f,$60
  513.         .byte$8b,$3d,$3d,$04,$7f,$73,$4b
  514. koexpq  .byte 2
  515.         .byte$81,0,0,0,0,0,0
  516.         .byte$88,$69,$2f,$28,$7a,$e8,$96
  517.         .byte$8d,$08,$81,$b1,$7c,$3a,$66
  518. k15     .byte$81,$38,$aa,$3b,$29,$5c,$18
  519. koatnp  .byte 5
  520.         .byte$7d,$6a,$e5,$71,$c8,$4c,$60
  521.         .byte$84,$17,$06,$43,$df,$b1,$65
  522.         .byte$87,$5c,$d9,$df,$c7,$68,$fd
  523.         .byte$89,$50,$5f,$d6,$72,$cf,$fd
  524.         .byte$8a,$17,$8b,$29,$28,$f2,$22
  525.         .byte$89,$14,$08,$33,$c5,$09,$60
  526. koatnq  .byte 5
  527. k7      .byte$81,0,0,0,0,0,0
  528.         .byte$85,$63,$e7,$1c,$22,$5a,$78
  529.         .byte$88,$51,$3e,$9e,$76,$d9,$9d
  530.         .byte$8a,$14,$1f,$5d,$0b,$2b,$c9
  531.         .byte$8a,$30,$37,$31,$c9,$c8,$b2
  532.         .byte$89,$14,$08,$33,$c5,$09,$62
  533. k17     .byte$90,$80,0,0,0,0,0
  534. k18     .byte$68,$28,$b1,$46,0,0,0
  535. meldung .byte$93,$0d
  536.         .byte'  **** arith13 von markus'
  537.         .byte' olbrich ****  '
  538.         .byte$0d,' 64k ram system  '
  539.         .byte 0
  540. l1      iny
  541.         sta($5f),y
  542.         iny
  543.         sta($5f),y
  544.         iny
  545.         sta($5f),y
  546.         rts
  547. l2      lda$c006,y
  548.         sbc$c006,x
  549.         sta$c067
  550.         lda$c005,y
  551.         sbc$c005,x
  552.         sta$c066
  553.         lda$0004,y
  554.         rts
  555. l3      ldx$c066
  556.         stx$65
  557.         ldx$c067
  558.         stx$c066
  559.         ldx$70
  560.         stx$c067
  561.         sty$70
  562.         adc#8
  563.         cmp#$28
  564.         beq l44
  565.         jmp $b8db
  566. l44     pha
  567.         lda$62
  568. l51     and#$f8
  569.         bne l45
  570.         pla
  571.         jmp $b8f7
  572. l45     pla
  573.         jmp $b8da
  574. l4      lda$c067
  575.         adc$c06f
  576.         sta$c067
  577.         lda$c066
  578.         adc$c06e
  579.         sta$c066
  580.         lda$65
  581.         adc$6d
  582.         rts
  583. l5      rol$c067
  584.         rol$c066
  585.         rol$65
  586.         rol$64
  587.         rts
  588. l6      ror$65
  589.         ror$c066
  590.         ror$c067
  591.         ror$70
  592.         rts
  593. l27     lda$c066
  594.         eor#$ff
  595.         sta$c066
  596.         lda$c067
  597.         eor#$ff
  598.         sta$c067
  599.         inc$70
  600.         bne l8
  601. l7      inc$c067
  602.         bne l8
  603.         inc$c066
  604.         bne l8
  605.         inc$65
  606.         bne l8
  607.         jmp$b973
  608. l8      rts
  609. l9      ldy$c006,x
  610.         sty$70
  611.         pha
  612.         lda$c005,x
  613.         sta$c006,x
  614.         lda$04,x
  615.         sta$c005,x
  616.         pla
  617.         rts
  618. l10     ror$03,x
  619.         ror$04,x
  620.         ror$c005,x
  621.         ror$c006,x
  622.         rts
  623. l11     sta$c02a
  624.         sta$c02b
  625.         lda$70
  626.         jsr$ba59
  627.         lda$c067
  628.         jsr$ba59
  629.         lda$c066
  630.         jsr$ba59
  631.         rts
  632. l12     lda$c02b
  633.         adc$c06f
  634.         sta$c02b
  635.         lda$c02a
  636.         adc$c06e
  637.         sta$c02a
  638.         lda$29
  639.         adc$6d
  640.         rts
  641. l13     ror$29
  642.         ror$c02a
  643.         ror$c02b
  644.         ror$70
  645.         rts
  646. l14     ldy#$06
  647.         lda($22),y
  648.         sta$c06f
  649.         dey
  650.         lda($22),y
  651.         sta$c06e
  652.         dey
  653.         lda($22),y
  654.         rts
  655. l15     ldy$6d
  656.         cpy$65
  657.         bne l16
  658.         ldy$c06e
  659.         cpy$c066
  660.         bne l16
  661.         ldy$c06f
  662.         cpy$c067
  663. l16     rts
  664. l17     inx
  665.         sta$c000,x
  666.         rts
  667. l18     lda$c0fb
  668.         sta$62
  669.         lda$c0fc
  670.         sta$63
  671.         lda$c0fd
  672.         sta$64
  673.         lda$c0fe
  674.         sta$65
  675.         lda$c0ff
  676.         sta$c066
  677.         lda$c000
  678.         sta$c067
  679.         jmp$b8d7
  680.         jmp$bb9f
  681. l19     lda$c02a
  682.         sta$c066
  683.         lda$c02b
  684.         sta$c067
  685.         jmp$b8d7
  686. l20     ldy#$06
  687.         lda($22),y
  688.         sta$c067
  689.         dey
  690.         lda($22),y
  691.         sta$c066
  692.         dey
  693.         lda($22),y
  694.         rts
  695. l21     jsr$bc1b
  696.         stx$22
  697.         ldy#$c0
  698.         sty$23
  699.         ldy#6
  700.         lda$c067
  701.         sta($22),y
  702.         dey
  703.         lda$c066
  704.         sta($22),y
  705.         dey
  706.         lda#0
  707.         sta$23
  708.         lda$65
  709.         jmp$bbdf
  710. l22     ldy#$06
  711.         lda$c067
  712.         sta($22),y
  713.         dey
  714.         lda$c066
  715.         sta($22),y
  716.         dey
  717.         lda$65
  718.         rts
  719. l23     lda$c06e
  720.         sta$c066
  721.         lda$c06f
  722.         sta$c067
  723.         ldx#05
  724. l24     lda$68,x
  725.         sta$60,x
  726.         dex
  727.         bne l24
  728.         stx$70
  729.         rts
  730. l25     lda$c066
  731.         sta$c06e
  732.         lda$c067
  733.         sta$c06f
  734.         ldx#$06
  735. l26     lda$60,x
  736.         sta$68,x
  737.         dex
  738.         bne l26
  739.         rts
  740. l28     lda($24),y
  741.         cmp$65
  742.         bne l29
  743.         iny
  744.         lda$25
  745.         bne l53
  746.         lda#$c0
  747.         sta$25
  748. l53     lda($24),y
  749.         cmp$c066
  750.         bne l29
  751.         iny
  752.         lda#$7f
  753.         cmp$70
  754.         lda($24),y
  755.         sbc$c067
  756.         jmp$bc90
  757. l29     jmp$bc92
  758. l30     asl$c06f
  759.         rol$c06e
  760.         rol$6d
  761.         rol$6c
  762.         rts
  763. l31     lda$c06f
  764.         sbc$c067
  765.         sta$c06f
  766.         lda$c06e
  767.         sbc$c066
  768.         sta$c06e
  769.         lda$6d
  770.         sbc$65
  771.         rts
  772. l32     sta$64
  773.         sta$65
  774.         sta$c066
  775.         sta$c067
  776.         rts
  777. l33     ldy#0
  778.         ldx#$0a
  779.         sty$c066
  780.         sty$c067
  781.         sty$c061
  782.         sty$c062
  783.         rts
  784. l34     lda$c05c
  785.         pha
  786.         lda$c05d
  787.         pha
  788.         lda$c061
  789.         pha
  790.         lda$c062
  791.         pha
  792.         ldx#$09
  793.         tya
  794.         jmp$a416
  795. l35     pla
  796.         tay
  797.         pla
  798.         sta$c062
  799.         pla
  800.         sta$c061
  801.         pla
  802.         sta$c05d
  803.         pla
  804.         sta$c05c
  805.         pla
  806.         jmp$a42a
  807. l36     lda$c067
  808.         pha
  809.         lda$c066
  810.         pha
  811.         lda$65
  812.         pha
  813.         jmp$ae49
  814. l37     pla
  815.         sta$6d
  816.         pla
  817.         sta$c06e
  818.         pla
  819.         sta$c06f
  820.         jmp$ae79
  821. l38     lda$c067
  822.         clc
  823.         adc#0
  824.         sta$c067
  825.         lda$c066
  826.         adc#0
  827.         sta$c066
  828.         lda$65
  829.         adc$bf19,y
  830.         sta$65
  831.         lda$64
  832.         adc$bf18,y
  833.         sta$64
  834.         lda$63
  835.         adc$bf17,y
  836.         sta$63
  837.         lda$62
  838.         adc$bf16,y
  839.         sta$62
  840.         jmp$be87
  841. l39     iny
  842.         iny
  843.         iny
  844.         iny
  845.         iny
  846.         rts
  847. l40     jsr$bc2b
  848.         beq end
  849.         bpl ok
  850.         jmp$b248
  851. ok      jsr$bbc7
  852.         lda$61
  853.         sec
  854.         sbc#$81
  855.         php
  856.         lsr
  857.         clc
  858.         adc#1
  859.         plp
  860.         bcc s1
  861.         adc#$7f
  862. s1      sta$61
  863.         lda#5
  864.         sta$67
  865. iter    jsr$bbca
  866.         lda#$5c
  867.         jsr konarg
  868.         jsr$bb12
  869.         lda#$57
  870.         jsr konarg
  871.         jsr$b86a
  872.         dec$61
  873.         dec$67
  874.         bne iter
  875. end     rts
  876. l48     sta$c066
  877.         sta$c067
  878.         jmp$b8d2
  879. konarg  sta$22
  880.         ldy#$c0
  881.         sty$23
  882.         ldy#6
  883.         lda($22),y
  884.         sta$c06f
  885.         dey
  886.         lda($22),y
  887.         sta$c06e
  888.         dey
  889.         lda#0
  890.         sta$23
  891.         lda($22),y
  892.         jmp $ba94
  893. mul     jsr konarg
  894.         jmp $ba2b
  895. l41     sta$71
  896.         ldy$72
  897.         jsr $ba28
  898.         jmp $e073
  899.  
  900. strg    .blck       ;beginn strg
  901.         lda pflag
  902.         bne le
  903.         jmp $bddd
  904. le      ldy#1
  905.         lda#$20
  906.         bit$66
  907.         bpl l1
  908.         lda#$2d
  909. l1      sta$00ff,y
  910.         sta$66
  911.         sty$71
  912.         iny
  913.         lda#$30
  914.         ldx$61
  915.         bne l2
  916.         jmp$bf04
  917. l2      lda#0
  918.         cpx#$80
  919.         beq l4
  920.         bcs l5
  921. l4      lda#<k12 ;1e14
  922.         ldy#>k12
  923.         jsr$ba28
  924.         lda#$f2
  925. l5      sta$5d
  926. l11     lda#<k13 ;99999999999990
  927.         ldy#>k13
  928.         jsr$bc5b
  929.         beq l6
  930.         bpl l7
  931. l10     lda#<k14 ;9999999999999
  932.         ldy#>k14
  933.         jsr$bc5b
  934.         beq l8
  935.         bpl l9
  936. l8      jsr$bae2
  937.         dec$5d
  938.         bne l10
  939. l7      jsr$bafe
  940.         inc$5d
  941.         bne l11
  942. l9      lda#<k16
  943.         ldy#>k16
  944.         jsr $b867
  945. l6      jsr$bc9b
  946.         ldx#1
  947.         lda$5d
  948.         clc
  949.         adc#$f
  950.         bmi l12
  951.         cmp#$f
  952.         bcs l13
  953.         adc#$ff
  954.         tax
  955.         lda#2
  956. l12     sec
  957. l13     sbc#2
  958.         sta$5e
  959.         stx$5d
  960.         txa
  961.         beq l14
  962.         bpl l15
  963. l14     ldy$71
  964.         lda#$2e
  965.         iny
  966.         sta$00ff,y
  967.         txa
  968.         beq l3
  969.         lda#$30
  970.         iny
  971.         sta$00ff,y
  972. l3      sty$71
  973. l15     ldy#0
  974.         ldx#$80
  975. l17     lda$c067
  976.         clc
  977.         adc strgkon+5,y
  978.         sta$c067
  979.         lda$c066
  980.         adc strgkon+4,y
  981.         sta$c066
  982.         lda$65
  983.         adc strgkon+3,y
  984.         sta$65
  985.         lda$64
  986.         adc strgkon+2,y
  987.         sta$64
  988.         lda$63
  989.         adc strgkon+1,y
  990.         sta$63
  991.         lda$62
  992.         adc strgkon,y
  993.         sta$62
  994.         inx
  995.         bcs l16
  996.         bpl l17
  997.         bmi l18
  998. l16     bmi l17
  999. l18     txa
  1000.         bcc l20
  1001.         eor#$ff
  1002.         adc#$a
  1003. l20     adc#$2f
  1004.         iny
  1005.         iny
  1006.         iny
  1007.         iny
  1008.         iny
  1009.         iny
  1010.         sty$47
  1011.         ldy$71
  1012.         iny
  1013.         tax
  1014.         and#$7f
  1015.         sta$00ff,y
  1016.         dec$5d
  1017.         bne l21
  1018.         lda#$2e
  1019.         iny
  1020.         sta$00ff,y
  1021. l21     sty$71
  1022.         ldy$47
  1023.         txa
  1024.         eor#$ff
  1025.         and#$80
  1026.         tax
  1027.         cpy#78
  1028. l22     bne l17
  1029.         jmp$bec4
  1030.         .bend      ;ende von strg
  1031.  
  1032. l42     lda$c066
  1033.         ldy$c067
  1034.         sty$14
  1035.         sta$15
  1036.         rts
  1037. l43     jsr $bc9b
  1038.         pha
  1039.         lda$64
  1040.         sta$62
  1041.         lda$65
  1042.         sta$63
  1043.         lda$c066
  1044.         sta$64
  1045.         lda$c067
  1046.         sta$65
  1047.         pla
  1048.         rts
  1049. exp     lda$c066
  1050.         ldy$c06e
  1051.         sta$c06e
  1052.         sty$c066
  1053.         lda$c067
  1054.         ldy$c06f
  1055.         sta$c06f
  1056.         sty$c067
  1057.         lda$56
  1058.         sta$70
  1059.         jsr $b853
  1060.         jsr $bfb4
  1061.         lda$61
  1062.         cmp#$80
  1063.         bne lex1
  1064.         lda#<k8   ;-.5
  1065.         ldy#>k8
  1066.         jsr $b867 ;plus
  1067.         sec
  1068.         .byte$a6  ;ldx abszero
  1069. lex1    clc
  1070.         php
  1071.         lda#<koexpp
  1072.         ldy#>koexpp
  1073.         jsr $e043
  1074.         ldx#<buff
  1075.         ldy#>buff
  1076.         jsr $bbd4 ;fac buff
  1077.         lda#$57
  1078.         jsr konfac;#3 fac
  1079.         lda#<koexpq
  1080.         ldy#>koexpq
  1081.         sta$71
  1082.         sty$72
  1083.         jsr $bc0c ;fac arg
  1084.         lda$61
  1085.         jsr $ba2b ;mul
  1086.         jsr $e05d ;poly
  1087.         jsr $bbca ;fac #3
  1088.         lda#<buff
  1089.         ldy#>buff
  1090.         jsr $b867 ;buff+fac
  1091.         jsr $bbc7 ;fac #4
  1092.         lda#$57
  1093.         jsr konarg;#3 arg
  1094.         lda#<buff
  1095.         ldy#>buff
  1096.         jsr $bba2 ;buff fac
  1097.         jsr $b853 ;arg-fac
  1098.         lda#$5c
  1099.         jsr konarg;#4 arg
  1100.         jsr $bb12 ;arg/fac
  1101.         plp
  1102.         bcc lex2
  1103.         lda#<sqr2
  1104.         ldy#>sqr2
  1105.         jsr $ba28 ;mul
  1106. lex2    jmp $e03a
  1107. ex.test pha       ;prueft auf &
  1108.         cmp#$26   ;"&"
  1109.         bne lp1
  1110.         lda#$ff
  1111.         sta pflag
  1112.         pla
  1113.         jmp $0073
  1114. lp1     lda#0
  1115.         sta pflag
  1116.         pla
  1117.         rts
  1118. print.  jsr ex.test
  1119.         jmp $aa80  ;print#
  1120. print   jsr ex.test
  1121.         jmp $aa9d  ;print
  1122. l46     ldx$c066
  1123.         bne l47
  1124.         ldx$c067
  1125.         stx$65
  1126.         jmp $0079
  1127. l47     jmp $b248
  1128. l49     lda$c066
  1129.         ldy$c067
  1130.         rts
  1131. konfac  sta$22
  1132.         ldy#$c0
  1133.         sty$23
  1134.         ldy#6
  1135.         lda($22),y
  1136.         sta$c067
  1137.         dey
  1138.         lda($22),y
  1139.         sta$c066
  1140.         dey
  1141.         lda#0
  1142.         sta$23
  1143.         lda($22),y
  1144.         jmp $bbaa
  1145. l50     sta$c066
  1146.         sta$c067
  1147.         jmp $b8d2 ;linksb.
  1148. l52     lda$c067
  1149.         sta$07
  1150.         lda#$ff
  1151.         sta l51+1
  1152.         jsr $b8d2
  1153.         lda#$f8
  1154.         sta l51+1
  1155.         rts
  1156. atn     lda#<koatnp
  1157.         ldy#>koatnp
  1158.         jsr $e043
  1159.         ldx#<buff
  1160.         ldy#>buff
  1161.         jsr $bbd4 ;fac buff
  1162.         lda#$5c
  1163.         jsr konfac
  1164.         lda#<koatnq
  1165.         ldy#>koatnq
  1166.         jsr $e059
  1167.         lda#<buff
  1168.         ldy#>buff
  1169.         jsr $bb0f ;/
  1170.         jmp $e32b
  1171. l54     lda$c066
  1172.         sta($49),y
  1173.         iny
  1174.         lda$c067
  1175.         sta($49),y
  1176.         rts
  1177. l57     lda$c067  ;not
  1178.         eor#$ff
  1179.         tay
  1180.         lda$c066
  1181.         eor#$ff
  1182.         jmp $b391
  1183. l58     lda$c066  ;and
  1184.         eor$0b
  1185.         sta$07
  1186.         lda$c067
  1187.         eor$0b
  1188.         sta$08
  1189.         jsr $bbfc
  1190.         jsr $b1bf
  1191.         lda$c067
  1192.         eor$0b
  1193.         and$08
  1194.         eor$0b
  1195.         tay
  1196.         lda$c066
  1197.         eor$0b
  1198.         and$07
  1199.         eor$0b
  1200.         jmp $b391
  1201. l59     bpl l59l
  1202.         dex
  1203.         dex
  1204.         dex
  1205.         dex
  1206. l59l    stx$71
  1207.         rts
  1208. l60     bpl l60l
  1209.         dex
  1210.         dex
  1211.         dex
  1212.         dex
  1213. l60l    stx$28
  1214.         rts
  1215. l61     lda$c066
  1216.         sta$0102,x
  1217.         lda$c067
  1218.         rts
  1219. l62     pha         ;rechtsverschieben
  1220.         ldx#$25     ;eines registers
  1221.         lda$c006,x
  1222.         sta$70
  1223.         lda$c005,x
  1224.         sta$c006,x
  1225.         lda$04,x
  1226.         sta$c005,x
  1227.         lda$03,x
  1228.         sta$04,x
  1229.         lda$02,x
  1230.         sta$03,x
  1231.         lda$01,x
  1232.         sta$02,x
  1233.         lda$68
  1234.         sta$01,x
  1235.         pla
  1236.         clc
  1237.         rts
  1238.  
  1239. rcom    .blck     ;gerundeter vergleich
  1240.         sta$24
  1241.         sty$25
  1242.         ldy#0
  1243.         lda($24),y
  1244.         iny
  1245.         tax
  1246.         bne l1
  1247.         jmp $bc2b  ;null -> vorz. fac
  1248. l1      lda($24),y
  1249.         eor$66
  1250.         bpl l2
  1251.         jmp $bc2f  ;versch. vorzeichen
  1252. l2      cpx$61
  1253.         beq l3
  1254.         jmp $bc92
  1255. l3      ldy#6
  1256.         ldx$25
  1257.         bne l4
  1258.         lda#$c0
  1259.         sta$25
  1260.         sec
  1261.         lda($24),y
  1262.         sbc$c067
  1263.         sta buff+6
  1264.         dey
  1265.         lda($24),y
  1266.         sbc$c066
  1267.         sta buff+5
  1268.         stx$25
  1269.         jmp l5
  1270. l4      sec
  1271.         lda($24),y
  1272.         sbc$c067
  1273.         sta buff+6
  1274.         dey
  1275.         lda($24),y
  1276.         sbc$c066
  1277.         sta buff+5
  1278. l5      dey
  1279.         lda($24),y
  1280.         sbc$65
  1281.         sta buff+4
  1282.         dey
  1283.         lda($24),y
  1284.         sbc$64
  1285.         sta buff+3
  1286.         dey
  1287.         lda($24),y
  1288.         sbc$63
  1289.         sta buff+2
  1290.         dey
  1291.         lda($24),y
  1292.         ora#$80
  1293.         sbc$62
  1294.         sta buff+1
  1295.         php
  1296.         lda buff+6
  1297.         adc#$10
  1298.         bcc l6
  1299.         inc buff+5
  1300.         bne l6
  1301.         inc buff+4
  1302.         bne l6
  1303.         inc buff+3
  1304.         bne l6
  1305.         inc buff+2
  1306.         bne l6
  1307.         inc buff+1
  1308.         bne l6
  1309.         plp
  1310. l9      lda#0      ;gleich
  1311.         rts
  1312. l6      plp
  1313.         bcc l7 ;unterlauf, fac<kon
  1314.         and#$e0
  1315.         bne l8
  1316.         lda buff+5
  1317.         bne l8
  1318.         lda buff+4
  1319.         bne l8
  1320.         lda buff+3
  1321.         bne l8
  1322.         lda buff+2
  1323.         bne l8
  1324.         lda buff+1
  1325.         beq l9     ;gleich
  1326. l8      lda$66
  1327.         jmp $bc96
  1328. l7      lda$66
  1329.         jmp $bc31
  1330.         .bend
  1331. ende    ;
  1332.