home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_200 / 221_01 / cc8.asm < prev    next >
Assembly Source File  |  1979-12-31  |  14KB  |  1,141 lines

  1. ;small-c V2.3
  2.  EXT ccdiv,ccmult
  3.  EXT fopen,fclose,getc,putc,putchar,getchar,rewind,gets
  4.  EXT exit
  5.  EXT CCSWITCH
  6.  EXT CCPOLL
  7.  EXT isalpha,isupper,islower,isdigit,isspace
  8.  EXT toupper,tolower
  9.  EXT strlen,reverse,left,strcmp,strcpy
  10.  EXT abs,itoa,atoi,printf
  11.  EXT nl
  12.  EXT ol
  13.  EXT ot
  14.  EXT outbyte
  15.  EXT outdec
  16.  EXT outstr
  17.  EXT printlab
  18.  EXT postlabe
  19.  EXT stkp
  20.  NAME entry
  21.  GLOBAL entry
  22. entry
  23.  LDD  2,S
  24.  PSHS D
  25.  LDD  #1
  26.  CMPD ,S++
  27.  LBEQ cc2
  28.  LDD  #cc1+0
  29.  PSHS D
  30.  JSR ot
  31.  LEAS 2,S
  32.  LDD  4,S
  33.  PSHS D
  34.  JSR outstr
  35.  LEAS 2,S
  36.  JSR nl
  37. cc2
  38.  LDD  4,S
  39.  PSHS D
  40.  JSR outstr
  41.  LEAS 2,S
  42.  JSR nl
  43.  RTS
  44. cc1 FCB 71,76,79,66,65,76,32,0
  45.  GLOBAL sw
  46. sw
  47.  LDD  #cc3+0
  48.  PSHS D
  49.  JSR ol
  50.  LEAS 2,S
  51.  RTS
  52. cc3 FCB 74,83,82,32,67,67,83,87,73,84
  53.  FCB 67,72,0
  54.  GLOBAL declexte
  55. declexte
  56.  LDD  #cc4+0
  57.  PSHS D
  58.  JSR ot
  59.  LEAS 2,S
  60.  LDD  2,S
  61.  PSHS D
  62.  JSR outstr
  63.  LEAS 2,S
  64.  JSR nl
  65.  RTS
  66. cc4 FCB 69,88,84,32,0
  67.  GLOBAL comment
  68. comment
  69.  LDD  #59
  70.  PSHS D
  71.  JSR outbyte
  72.  LEAS 2,S
  73.  RTS
  74.  GLOBAL defname
  75. defname
  76.  LDD  #cc5+0
  77.  PSHS D
  78.  JSR ot
  79.  LEAS 2,S
  80.  LDD  2,S
  81.  PSHS D
  82.  JSR outstr
  83.  LEAS 2,S
  84.  JSR nl
  85.  RTS
  86. cc5 FCB 78,65,77,69,32,0
  87.  GLOBAL header
  88. header
  89.  JSR comment
  90.  LDD  #cc6+0
  91.  PSHS D
  92.  JSR outstr
  93.  LEAS 2,S
  94.  JSR nl
  95.  RTS
  96. cc6 FCB 115,109,97,108,108,45,99,32,86,50
  97.  FCB 46,51,0
  98.  GLOBAL trailer
  99. trailer
  100.  LDD  #cc7+0
  101.  PSHS D
  102.  JSR ot
  103.  LEAS 2,S
  104.  RTS
  105. cc7 FCB 69,78,68,0
  106.  GLOBAL getmem
  107. getmem
  108.  LEAS -2,S
  109.  LDD  4,S
  110.  ADDD #11
  111.  PSHS D
  112.  LDB  [,S++]
  113.  SEX
  114.  PSHS D
  115.  LDD  #1
  116.  CMPD ,S++
  117.  LBNE cc9
  118.  LDD  #14
  119.  STD  0,S
  120.  JMP cc10
  121. cc9
  122.  LDD  #0
  123.  STD  0,S
  124. cc10
  125.  LDD  4,S
  126.  ADDD #9
  127.  PSHS D
  128.  LDB  [,S++]
  129.  SEX
  130.  PSHS D
  131.  LDD  #3
  132.  CMPD ,S++
  133.  BNE  *+8
  134.  LDD  #0
  135.  JMP cc12 _
  136.  LDD  4,S
  137.  ADDD #10
  138.  PSHS D
  139.  LDB  [,S++]
  140.  SEX
  141.  PSHS D
  142.  LDD  #1
  143.  PSHS D
  144.  LDD  #2
  145.  DECB
  146.  BLT  *+8
  147.  ASL  1,S
  148.  ROL  ,S
  149.  BRA  *-7
  150.  PULS D
  151.  CMPD ,S++
  152.  BEQ  *+8
  153.  LDD  #0
  154.  JMP cc12 _
  155.  LDD  #1
  156. cc12
  157.  LBEQ cc11
  158.  LDD  #cc8+0
  159.  PSHS D
  160.  JSR ot
  161.  LEAS 2,S
  162.  LDD  4,S
  163.  PSHS D
  164.  LDD  2,S
  165.  ADDD ,S++
  166.  PSHS D
  167.  JSR outstr
  168.  LEAS 2,S
  169.  LDD  4,S
  170.  ADDD #11
  171.  PSHS D
  172.  LDB  [,S++]
  173.  SEX
  174.  PSHS D
  175.  LDD  #1
  176.  CMPD ,S++
  177.  LBNE cc13
  178.  LDD  #66
  179.  PSHS D
  180.  JSR outbyte
  181.  LEAS 2,S
  182. cc13
  183.  JSR nl
  184.  LDD  #cc8+6
  185.  PSHS D
  186.  JSR ol
  187.  LEAS 2,S
  188.  JMP cc14
  189. cc11
  190.  LDD  #cc8+10
  191.  PSHS D
  192.  JSR ot
  193.  LEAS 2,S
  194.  LDD  4,S
  195.  PSHS D
  196.  LDD  2,S
  197.  ADDD ,S++
  198.  PSHS D
  199.  JSR outstr
  200.  LEAS 2,S
  201.  LDD  4,S
  202.  ADDD #11
  203.  PSHS D
  204.  LDB  [,S++]
  205.  SEX
  206.  PSHS D
  207.  LDD  #1
  208.  CMPD ,S++
  209.  LBNE cc15
  210.  LDD  #66
  211.  PSHS D
  212.  JSR outbyte
  213.  LEAS 2,S
  214. cc15
  215.  JSR nl
  216. cc14
  217.  LEAS 2,S
  218.  RTS
  219. cc8 FCB 76,68,66,32,32,0,83,69,88,0
  220.  FCB 76,68,68,32,32,0
  221.  GLOBAL loadsec
  222. loadsec
  223.  LDD  #cc16+0
  224.  PSHS D
  225.  JSR ol
  226.  LEAS 2,S
  227.  RTS
  228. cc16 FCB 76,68,88,32,32,91,44,83,93,0
  229.  GLOBAL getloc
  230. getloc
  231.  LEAS -2,S
  232.  LDD  #cc17+0
  233.  PSHS D
  234.  JSR ot
  235.  LEAS 2,S
  236.  LEAY 0,S
  237.  TFR  Y,D
  238.  PSHS D
  239.  LDD  6,S
  240.  ADDD #12
  241.  PSHS D
  242.  LDB  [,S++]
  243.  SEX
  244.  PSHS D
  245.  LDD  #255
  246.  ANDA ,S+
  247.  ANDB ,S+
  248.  PSHS D
  249.  LDD  8,S
  250.  PSHS D
  251.  LDD  #12
  252.  ADDD #1
  253.  ADDD ,S++
  254.  PSHS D
  255.  LDB  [,S++]
  256.  SEX
  257.  PSHS D
  258.  LDD  #8
  259.  DECB
  260.  BLT  *+8
  261.  ASL  1,S
  262.  ROL  ,S
  263.  BRA  *-7
  264.  PULS D
  265.  ORA  ,S+
  266.  ORB  ,S+
  267.  PSHS D
  268.  LDD  stkp
  269.  PULS X
  270.  PSHS D
  271.  TFR  X,D
  272.  SUBD ,S++
  273.  STD  [,S++]
  274.  LDD  4,S
  275.  ADDD #9
  276.  PSHS D
  277.  LDB  [,S++]
  278.  SEX
  279.  PSHS D
  280.  LDD  #1
  281.  CMPD ,S++
  282.  BEQ  *+7
  283.  LDD  #0
  284.  BRA  *+5
  285.  LDD  #1
  286.  PSHS D
  287.  LDD  6,S
  288.  ADDD #10
  289.  PSHS D
  290.  LDB  [,S++]
  291.  SEX
  292.  PSHS D
  293.  LDD  #1
  294.  PSHS D
  295.  LDD  #2
  296.  DECB
  297.  BLT  *+8
  298.  ASL  1,S
  299.  ROL  ,S
  300.  BRA  *-7
  301.  PULS D
  302.  CMPD ,S++
  303.  BEQ  *+7
  304.  LDD  #0
  305.  BRA  *+5
  306.  LDD  #1
  307.  ANDA ,S+
  308.  ANDB ,S+
  309.  LBEQ cc18
  310.  LDD  0,S
  311.  ADDD #1
  312.  STD  0,S
  313. cc18
  314.  LDD  0,S
  315.  PSHS D
  316.  JSR outdec
  317.  LEAS 2,S
  318.  LDD  #cc17+6
  319.  PSHS D
  320.  JSR outstr
  321.  LEAS 2,S
  322.  JSR nl
  323.  LDD  #cc17+9
  324.  PSHS D
  325.  JSR ol
  326.  LEAS 2,S
  327.  LEAS 2,S
  328.  RTS
  329. cc17 FCB 76,69,65,89,32,0,44,83,0,84
  330.  FCB 70,82,32,32,89,44,68,0
  331.  GLOBAL putmem
  332. putmem
  333.  LEAS -2,S
  334.  LDD  4,S
  335.  ADDD #11
  336.  PSHS D
  337.  LDB  [,S++]
  338.  SEX
  339.  PSHS D
  340.  LDD  #1
  341.  CMPD ,S++
  342.  LBNE cc20
  343.  LDD  #14
  344.  STD  0,S
  345.  JMP cc21
  346. cc20
  347.  LDD  #0
  348.  STD  0,S
  349. cc21
  350.  LDD  4,S
  351.  ADDD #9
  352.  PSHS D
  353.  LDB  [,S++]
  354.  SEX
  355.  PSHS D
  356.  LDD  #3
  357.  CMPD ,S++
  358.  BNE  *+7
  359.  LDD  #0
  360.  BRA  *+5
  361.  LDD  #1
  362.  PSHS D
  363.  LDD  6,S
  364.  ADDD #10
  365.  PSHS D
  366.  LDB  [,S++]
  367.  SEX
  368.  PSHS D
  369.  LDD  #1
  370.  PSHS D
  371.  LDD  #2
  372.  DECB
  373.  BLT  *+8
  374.  ASL  1,S
  375.  ROL  ,S
  376.  BRA  *-7
  377.  PULS D
  378.  CMPD ,S++
  379.  BEQ  *+7
  380.  LDD  #0
  381.  BRA  *+5
  382.  LDD  #1
  383.  ANDA ,S+
  384.  ANDB ,S+
  385.  LBEQ cc22
  386.  LDD  #cc19+0
  387.  PSHS D
  388.  JSR ot
  389.  LEAS 2,S
  390.  JMP cc23
  391. cc22
  392.  LDD  #cc19+6
  393.  PSHS D
  394.  JSR ot
  395.  LEAS 2,S
  396. cc23
  397.  LDD  4,S
  398.  PSHS D
  399.  LDD  2,S
  400.  ADDD ,S++
  401.  PSHS D
  402.  JSR outstr
  403.  LEAS 2,S
  404.  LDD  4,S
  405.  ADDD #11
  406.  PSHS D
  407.  LDB  [,S++]
  408.  SEX
  409.  PSHS D
  410.  LDD  #1
  411.  CMPD ,S++
  412.  LBNE cc24
  413.  LDD  #66
  414.  PSHS D
  415.  JSR outbyte
  416.  LEAS 2,S
  417. cc24
  418.  JSR nl
  419.  LEAS 2,S
  420.  RTS
  421. cc19 FCB 83,84,66,32,32,0,83,84,68,32
  422.  FCB 32,0
  423.  GLOBAL putstk
  424. putstk
  425.  LDB  3,S
  426.  SEX
  427.  PSHS D
  428.  LDD  #1
  429.  PSHS D
  430.  LDD  #2
  431.  DECB
  432.  BLT  *+8
  433.  ASL  1,S
  434.  ROL  ,S
  435.  BRA  *-7
  436.  PULS D
  437.  CMPD ,S++
  438.  LBNE cc26
  439.  LDD  #cc25+0
  440.  PSHS D
  441.  JSR ol
  442.  LEAS 2,S
  443.  JMP cc27
  444. cc26
  445.  LDD  #cc25+12
  446.  PSHS D
  447.  JSR ol
  448.  LEAS 2,S
  449. cc27
  450.  LDD  stkp
  451.  ADDD #2
  452.  STD  stkp
  453.  RTS
  454. cc25 FCB 83,84,66,32,32,91,44,83,43,43
  455.  FCB 93,0,83,84,68,32,32,91,44,83
  456.  FCB 43,43,93,0
  457.  GLOBAL indirect
  458. indirect
  459.  LDD  #cc28+0
  460.  PSHS D
  461.  JSR ol
  462.  LEAS 2,S
  463.  LDB  3,S
  464.  SEX
  465.  PSHS D
  466.  LDD  #1
  467.  PSHS D
  468.  LDD  #2
  469.  DECB
  470.  BLT  *+8
  471.  ASL  1,S
  472.  ROL  ,S
  473.  BRA  *-7
  474.  PULS D
  475.  CMPD ,S++
  476.  LBNE cc29
  477.  LDD  #cc28+7
  478.  PSHS D
  479.  JSR ol
  480.  LEAS 2,S
  481.  LDD  #cc28+19
  482.  PSHS D
  483.  JSR ol
  484.  LEAS 2,S
  485.  JMP cc30
  486. cc29
  487.  LDD  #cc28+23
  488.  PSHS D
  489.  JSR ol
  490.  LEAS 2,S
  491. cc30
  492.  RTS
  493. cc28 FCB 80,83,72,83,32,68,0,76,68,66
  494.  FCB 32,32,91,44,83,43,43,93,0,83
  495.  FCB 69,88,0,76,68,68,32,32,91,44
  496.  FCB 83,43,43,93,0
  497.  GLOBAL swap
  498. swap
  499.  LDD  #cc31+0
  500.  PSHS D
  501.  JSR ol
  502.  LEAS 2,S
  503.  RTS
  504. cc31 FCB 69,88,71,32,32,68,44,88,0
  505.  GLOBAL immed
  506. immed
  507.  LDD  #cc32+0
  508.  PSHS D
  509.  JSR ot
  510.  LEAS 2,S
  511.  RTS
  512. cc32 FCB 76,68,68,32,32,35,0
  513.  GLOBAL push
  514. push
  515.  LDD  #cc33+0
  516.  PSHS D
  517.  JSR ol
  518.  LEAS 2,S
  519.  LDD  stkp
  520.  PSHS D
  521.  LDD  #2
  522.  PULS X
  523.  PSHS D
  524.  TFR  X,D
  525.  SUBD ,S++
  526.  STD  stkp
  527.  RTS
  528. cc33 FCB 80,83,72,83,32,68,0
  529.  GLOBAL pushsec
  530. pushsec
  531.  LDD  #cc34+0
  532.  PSHS D
  533.  JSR ol
  534.  LEAS 2,S
  535.  LDD  stkp
  536.  PSHS D
  537.  LDD  #2
  538.  PULS X
  539.  PSHS D
  540.  TFR  X,D
  541.  SUBD ,S++
  542.  STD  stkp
  543.  RTS
  544. cc34 FCB 80,83,72,83,32,88,0
  545.  GLOBAL pop
  546. pop
  547.  LDD  #cc35+0
  548.  PSHS D
  549.  JSR ol
  550.  LEAS 2,S
  551.  LDD  stkp
  552.  ADDD #2
  553.  STD  stkp
  554.  RTS
  555. cc35 FCB 80,85,76,83,32,88,0
  556.  GLOBAL swapstk
  557. swapstk
  558.  LDD  #cc36+0
  559.  PSHS D
  560.  JSR ol
  561.  LEAS 2,S
  562.  LDD  #cc36+7
  563.  PSHS D
  564.  JSR ol
  565.  LEAS 2,S
  566.  LDD  #cc36+14
  567.  PSHS D
  568.  JSR ol
  569.  LEAS 2,S
  570.  RTS
  571. cc36 FCB 80,85,76,83,32,88,0,80,83,72
  572.  FCB 83,32,68,0,84,70,82,32,32,88
  573.  FCB 44,68,0
  574.  GLOBAL call
  575. call
  576.  LDD  #cc37+0
  577.  PSHS D
  578.  JSR ot
  579.  LEAS 2,S
  580.  LDD  2,S
  581.  PSHS D
  582.  JSR outstr
  583.  LEAS 2,S
  584.  JSR nl
  585.  RTS
  586. cc37 FCB 74,83,82,32,0
  587.  GLOBAL ret
  588. ret
  589.  LDD  #cc38+0
  590.  PSHS D
  591.  JSR ol
  592.  LEAS 2,S
  593.  RTS
  594. cc38 FCB 82,84,83,0
  595.  GLOBAL callstk
  596. callstk
  597.  JSR pop
  598.  LDD  #cc39+0
  599.  PSHS D
  600.  JSR ol
  601.  LEAS 2,S
  602.  RTS
  603. cc39 FCB 74,83,82,32,32,44,88,0
  604.  GLOBAL jump
  605. jump
  606.  LDD  #cc40+0
  607.  PSHS D
  608.  JSR ot
  609.  LEAS 2,S
  610.  LDD  2,S
  611.  PSHS D
  612.  JSR postlabe
  613.  LEAS 2,S
  614.  RTS
  615. cc40 FCB 74,77,80,32,0
  616.  GLOBAL testnoop
  617. testnoop
  618.  LDD  #cc41+0
  619.  PSHS D
  620.  JSR ol
  621.  LEAS 2,S
  622.  LDD  #cc41+8
  623.  PSHS D
  624.  JSR ot
  625.  LEAS 2,S
  626.  LDD  2,S
  627.  PSHS D
  628.  JSR printlab
  629.  LEAS 2,S
  630.  LDD  #cc41+14
  631.  PSHS D
  632.  JSR outstr
  633.  LEAS 2,S
  634.  JSR nl
  635.  RTS
  636. cc41 FCB 67,77,80,68,32,35,48,0,76,66
  637.  FCB 69,81,32,0,32,95,0
  638.  GLOBAL testjump
  639. testjump
  640.  LDD  #cc42+0
  641.  PSHS D
  642.  JSR ol
  643.  LEAS 2,S
  644.  LDD  #cc42+8
  645.  PSHS D
  646.  JSR ot
  647.  LEAS 2,S
  648.  LDD  2,S
  649.  PSHS D
  650.  JSR postlabe
  651.  LEAS 2,S
  652.  RTS
  653. cc42 FCB 67,77,80,68,32,35,48,0,76,66
  654.  FCB 69,81,32,0
  655.  GLOBAL testtrue
  656. testtrue
  657.  LDD  #cc43+0
  658.  PSHS D
  659.  JSR ol
  660.  LEAS 2,S
  661.  LDD  #cc43+8
  662.  PSHS D
  663.  JSR ot
  664.  LEAS 2,S
  665.  LDD  2,S
  666.  PSHS D
  667.  JSR postlabe
  668.  LEAS 2,S
  669.  RTS
  670. cc43 FCB 67,77,80,68,32,35,48,0,76,66
  671.  FCB 78,69,32,0
  672.  GLOBAL debug
  673. debug
  674.  LDD  #cc44+0
  675.  PSHS D
  676.  JSR ol
  677.  LEAS 2,S
  678.  LDD  #cc44+10
  679.  PSHS D
  680.  JSR ot
  681.  LEAS 2,S
  682.  LDD  #34
  683.  PSHS D
  684.  JSR outbyte
  685.  LEAS 2,S
  686.  LDD  2,S
  687.  PSHS D
  688.  JSR outstr
  689.  LEAS 2,S
  690.  LDD  #34
  691.  PSHS D
  692.  JSR outbyte
  693.  LEAS 2,S
  694.  LDD  #cc44+15
  695.  PSHS D
  696.  JSR outstr
  697.  LEAS 2,S
  698.  JSR nl
  699.  RTS
  700. cc44 FCB 74,83,82,32,68,69,66,85,71,0
  701.  FCB 70,67,67,32,0,44,48,0
  702.  GLOBAL defstora
  703. defstora
  704.  LDD  2,S
  705.  PSHS D
  706.  LDD  #1
  707.  CMPD ,S++
  708.  LBNE cc46
  709.  LDD  #cc45+0
  710.  PSHS D
  711.  JSR ot
  712.  LEAS 2,S
  713.  JMP cc47
  714. cc46
  715.  LDD  #cc45+5
  716.  PSHS D
  717.  JSR ot
  718.  LEAS 2,S
  719. cc47
  720.  RTS
  721. cc45 FCB 70,67,66,32,0,70,68,66,32,0
  722.  GLOBAL dumpzero
  723. dumpzero
  724.  LDD  2,S
  725.  PSHS D
  726.  LDD  #0
  727.  CMPD ,S++
  728.  LBLT cc49
  729.  RTS
  730. cc49
  731.  LDD  #cc48+0
  732.  PSHS D
  733.  JSR ot
  734.  LEAS 2,S
  735.  LDD  2,S
  736.  PSHS D
  737.  JSR outdec
  738.  LEAS 2,S
  739.  JSR nl
  740.  RTS
  741. cc48 FCB 82,90,66,32,0
  742.  GLOBAL point
  743. point
  744.  LDD  #cc50+0
  745.  PSHS D
  746.  JSR ol
  747.  LEAS 2,S
  748.  RTS
  749. cc50 FCB 70,68,66,32,42,43,50,0
  750.  GLOBAL modstk
  751. modstk
  752.  LEAS -2,S
  753.  LEAY 0,S
  754.  TFR  Y,D
  755.  PSHS D
  756.  LDD  6,S
  757.  PSHS D
  758.  LDD  stkp
  759.  PULS X
  760.  PSHS D
  761.  TFR  X,D
  762.  SUBD ,S++
  763.  STD  [,S++]
  764.  LDD  0,S
  765.  PSHS D
  766.  LDD  #0
  767.  CMPD ,S++
  768.  LBNE cc52
  769.  LDD  4,S
  770.  LEAS 2,S
  771.  RTS
  772. cc52
  773.  LDD  #cc51+0
  774.  PSHS D
  775.  JSR ot
  776.  LEAS 2,S
  777.  LDD  0,S
  778.  PSHS D
  779.  JSR outdec
  780.  LEAS 2,S
  781.  LDD  #cc51+6
  782.  PSHS D
  783.  JSR outstr
  784.  LEAS 2,S
  785.  JSR nl
  786.  LDD  4,S
  787.  LEAS 2,S
  788.  RTS
  789. cc51 FCB 76,69,65,83,32,0,44,83,0
  790.  GLOBAL doublere
  791. doublere
  792.  LDD  #cc53+0
  793.  PSHS D
  794.  JSR ol
  795.  LEAS 2,S
  796.  LDD  #cc53+7
  797.  PSHS D
  798.  JSR ol
  799.  LEAS 2,S
  800.  RTS
  801. cc53 FCB 80,83,72,83,32,68,0,65,68,68
  802.  FCB 68,32,44,83,43,43,0
  803.  GLOBAL add
  804. add
  805.  LDD  #cc54+0
  806.  PSHS D
  807.  JSR ol
  808.  LEAS 2,S
  809.  LDD  stkp
  810.  ADDD #2
  811.  STD  stkp
  812.  RTS
  813. cc54 FCB 65,68,68,68,32,44,83,43,43,0
  814.  GLOBAL sub
  815. sub
  816.  JSR swapstk
  817.  LDD  #cc55+0
  818.  PSHS D
  819.  JSR ol
  820.  LEAS 2,S
  821.  LDD  stkp
  822.  ADDD #2
  823.  STD  stkp
  824.  RTS
  825. cc55 FCB 83,85,66,68,32,44,83,43,43,0
  826.  GLOBAL mult
  827. mult
  828.  LDD  #cc56+0
  829.  PSHS D
  830.  JSR call
  831.  LEAS 2,S
  832.  RTS
  833. cc56 FCB 99,99,109,117,108,116,0
  834.  GLOBAL div
  835. div
  836.  LDD  #cc57+0
  837.  PSHS D
  838.  JSR call
  839.  LEAS 2,S
  840.  RTS
  841. cc57 FCB 99,99,100,105,118,0
  842.  GLOBAL mod
  843. mod
  844.  JSR div
  845.  JSR swap
  846.  RTS
  847.  GLOBAL or
  848. or
  849.  LDD  #cc58+0
  850.  PSHS D
  851.  JSR ol
  852.  LEAS 2,S
  853.  LDD  #cc58+9
  854.  PSHS D
  855.  JSR ol
  856.  LEAS 2,S
  857.  LDD  stkp
  858.  ADDD #2
  859.  STD  stkp
  860.  RTS
  861. cc58 FCB 79,82,65,32,32,44,83,43,0,79
  862.  FCB 82,66,32,32,44,83,43,0
  863.  GLOBAL xor
  864. xor
  865.  LDD  #cc59+0
  866.  PSHS D
  867.  JSR ol
  868.  LEAS 2,S
  869.  LDD  #cc59+9
  870.  PSHS D
  871.  JSR ol
  872.  LEAS 2,S
  873.  LDD  stkp
  874.  ADDD #2
  875.  STD  stkp
  876.  RTS
  877. cc59 FCB 69,79,82,65,32,44,83,43,0,69
  878.  FCB 79,82,66,32,44,83,43,0
  879.  GLOBAL and
  880. and
  881.  LDD  #cc60+0
  882.  PSHS D
  883.  JSR ol
  884.  LEAS 2,S
  885.  LDD  #cc60+9
  886.  PSHS D
  887.  JSR ol
  888.  LEAS 2,S
  889.  LDD  stkp
  890.  ADDD #2
  891.  STD  stkp
  892.  RTS
  893. cc60 FCB 65,78,68,65,32,44,83,43,0,65
  894.  FCB 78,68,66,32,44,83,43,0
  895.  GLOBAL asr
  896. asr
  897.  LDD  #cc61+0
  898.  PSHS D
  899.  JSR ol
  900.  LEAS 2,S
  901.  LDD  #cc61+5
  902.  PSHS D
  903.  JSR ol
  904.  LEAS 2,S
  905.  LDD  #cc61+14
  906.  PSHS D
  907.  JSR ol
  908.  LEAS 2,S
  909.  LDD  #cc61+22
  910.  PSHS D
  911.  JSR ol
  912.  LEAS 2,S
  913.  LDD  #cc61+31
  914.  PSHS D
  915.  JSR ol
  916.  LEAS 2,S
  917.  LDD  #cc61+40
  918.  PSHS D
  919.  JSR ol
  920.  LEAS 2,S
  921.  LDD  stkp
  922.  ADDD #2
  923.  STD  stkp
  924.  RTS
  925. cc61 FCB 68,69,67,66,0,66,76,84,32,32
  926.  FCB 42,43,56,0,76,83,82,32,32,44
  927.  FCB 83,0,82,79,82,32,32,49,44,83
  928.  FCB 0,66,82,65,32,32,42,45,55,0
  929.  FCB 80,85,76,83,32,68,0
  930.  GLOBAL asl
  931. asl
  932.  LDD  #cc62+0
  933.  PSHS D
  934.  JSR ol
  935.  LEAS 2,S
  936.  LDD  #cc62+5
  937.  PSHS D
  938.  JSR ol
  939.  LEAS 2,S
  940.  LDD  #cc62+14
  941.  PSHS D
  942.  JSR ol
  943.  LEAS 2,S
  944.  LDD  #cc62+23
  945.  PSHS D
  946.  JSR ol
  947.  LEAS 2,S
  948.  LDD  #cc62+31
  949.  PSHS D
  950.  JSR ol
  951.  LEAS 2,S
  952.  LDD  #cc62+40
  953.  PSHS D
  954.  JSR ol
  955.  LEAS 2,S
  956.  LDD  stkp
  957.  ADDD #2
  958.  STD  stkp
  959.  RTS
  960. cc62 FCB 68,69,67,66,0,66,76,84,32,32
  961.  FCB 42,43,56,0,65,83,76,32,32,49
  962.  FCB 44,83,0,82,79,76,32,32,44,83
  963.  FCB 0,66,82,65,32,32,42,45,55,0
  964.  FCB 80,85,76,83,32,68,0
  965.  GLOBAL lognot
  966. lognot
  967.  LDD  #cc63+0
  968.  PSHS D
  969.  JSR ol
  970.  LEAS 2,S
  971.  JSR restcom
  972.  RTS
  973. cc63 FCB 66,69,81,32,32,42,43,55,0
  974.  GLOBAL neg
  975. neg
  976.  JSR com
  977.  LDD  #cc64+0
  978.  PSHS D
  979.  JSR ol
  980.  LEAS 2,S
  981.  RTS
  982. cc64 FCB 65,68,68,68,32,35,49,0
  983.  GLOBAL com
  984. com
  985.  LDD  #cc65+0
  986.  PSHS D
  987.  JSR ol
  988.  LEAS 2,S
  989.  LDD  #cc65+5
  990.  PSHS D
  991.  JSR ol
  992.  LEAS 2,S
  993.  RTS
  994. cc65 FCB 67,79,77,65,0,67,79,77,66,0
  995.  GLOBAL inc
  996. inc
  997.  LDD  #cc66+0
  998.  PSHS D
  999.  JSR ol
  1000.  LEAS 2,S
  1001.  RTS
  1002. cc66 FCB 65,68,68,68,32,35,49,0
  1003.  GLOBAL dec
  1004. dec
  1005.  LDD  #cc67+0
  1006.  PSHS D
  1007.  JSR ol
  1008.  LEAS 2,S
  1009.  RTS
  1010. cc67 FCB 83,85,66,68,32,35,49,0
  1011.  GLOBAL restcom
  1012. restcom
  1013.  LDD  #cc68+0
  1014.  PSHS D
  1015.  JSR ol
  1016.  LEAS 2,S
  1017.  LDD  #cc68+8
  1018.  PSHS D
  1019.  JSR ol
  1020.  LEAS 2,S
  1021.  LDD  #cc68+17
  1022.  PSHS D
  1023.  JSR ol
  1024.  LEAS 2,S
  1025.  LDD  stkp
  1026.  ADDD #2
  1027.  STD  stkp
  1028.  RTS
  1029. cc68 FCB 76,68,68,32,32,35,48,0,66,82
  1030.  FCB 65,32,32,42,43,53,0,76,68,68
  1031.  FCB 32,32,35,49,0
  1032.  GLOBAL cmpd
  1033. cmpd
  1034.  LDD  #cc69+0
  1035.  PSHS D
  1036.  JSR ol
  1037.  LEAS 2,S
  1038.  RTS
  1039. cc69 FCB 67,77,80,68,32,44,83,43,43,0
  1040.  GLOBAL eq
  1041. eq
  1042.  JSR cmpd
  1043.  LDD  #cc70+0
  1044.  PSHS D
  1045.  JSR ol
  1046.  LEAS 2,S
  1047.  JSR restcom
  1048.  RTS
  1049. cc70 FCB 66,69,81,32,32,42,43,55,0
  1050.  GLOBAL ne
  1051. ne
  1052.  JSR cmpd
  1053.  LDD  #cc71+0
  1054.  PSHS D
  1055.  JSR ol
  1056.  LEAS 2,S
  1057.  JSR restcom
  1058.  RTS
  1059. cc71 FCB 66,78,69,32,32,42,43,55,0
  1060.  GLOBAL lt
  1061. lt
  1062.  JSR cmpd
  1063.  LDD  #cc72+0
  1064.  PSHS D
  1065.  JSR ol
  1066.  LEAS 2,S
  1067.  JSR restcom
  1068.  RTS
  1069. cc72 FCB 66,71,84,32,32,42,43,55,0
  1070.  GLOBAL le
  1071. le
  1072.  JSR cmpd
  1073.  LDD  #cc73+0
  1074.  PSHS D
  1075.  JSR ol
  1076.  LEAS 2,S
  1077.  JSR restcom
  1078.  RTS
  1079. cc73 FCB 66,71,69,32,32,42,43,55,0
  1080.  GLOBAL gt
  1081. gt
  1082.  JSR cmpd
  1083.  LDD  #cc74+0
  1084.  PSHS D
  1085.  JSR ol
  1086.  LEAS 2,S
  1087.  JSR restcom
  1088.  RTS
  1089. cc74 FCB 66,76,84,32,32,42,43,55,0
  1090.  GLOBAL ge
  1091. ge
  1092.  JSR cmpd
  1093.  LDD  #cc75+0
  1094.  PSHS D
  1095.  JSR ol
  1096.  LEAS 2,S
  1097.  JSR restcom
  1098.  RTS
  1099. cc75 FCB 66,76,69,32,32,42,43,55,0
  1100.  GLOBAL ult
  1101. ult
  1102.  JSR cmpd
  1103.  LDD  #cc76+0
  1104.  PSHS D
  1105.  JSR ol
  1106.  LEAS 2,S
  1107.  JSR restcom
  1108.  RTS
  1109. cc76 FCB 66,72,73,32,32,42,43,55,0
  1110.  GLOBAL ule
  1111. ule
  1112.  JSR cmpd
  1113.  LDD  #cc77+0
  1114.  PSHS D
  1115.  JSR ol
  1116.  LEAS 2,S
  1117.  JSR restcom
  1118.  RTS
  1119. cc77 FCB 66,72,83,32,32,42,43,55,0
  1120.  GLOBAL ugt
  1121. ugt
  1122.  JSR cmpd
  1123.  LDD  #cc78+0
  1124.  PSHS D
  1125.  JSR ol
  1126.  LEAS 2,S
  1127.  JSR restcom
  1128.  RTS
  1129. cc78 FCB 66,76,79,32,32,42,43,55,0
  1130.  GLOBAL uge
  1131. uge
  1132.  JSR cmpd
  1133.  LDD  #cc79+0
  1134.  PSHS D
  1135.  JSR ol
  1136.  LEAS 2,S
  1137.  JSR restcom
  1138.  RTS
  1139. cc79 FCB 66,76,83,32,32,42,43,55,0
  1140.  END
  1141.