home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Interactive Guide / c-cplusplus-interactive-guide.iso / c_ref / csource4 / 221_01 / cc4.asm < prev    next >
Encoding:
Assembly Source File  |  1979-12-31  |  14.0 KB  |  1,325 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 addglb
  12.  EXT an
  13.  EXT ch
  14.  EXT comment
  15.  EXT findglb
  16.  EXT gch
  17.  EXT getint
  18.  EXT illname
  19.  EXT inbyte
  20.  EXT inchar
  21.  EXT inline
  22.  EXT kill
  23.  EXT nch
  24.  EXT symname
  25.  EXT cmode
  26.  EXT eof
  27.  EXT errcnt
  28.  EXT lptr
  29.  EXT macptr
  30.  EXT mptr
  31.  EXT output
  32.  EXT pause
  33.  EXT cptr
  34.  EXT line
  35.  EXT macq
  36.  EXT mline
  37.  EXT stage
  38.  EXT stagelas
  39.  EXT stagenex
  40.  NAME keepch
  41.  GLOBAL keepch
  42. keepch
  43.  LDD  #mline
  44.  ADDD mptr
  45.  PSHS D
  46.  LDB  5,S
  47.  SEX
  48.  STB  [,S++]
  49.  LDD  mptr
  50.  PSHS D
  51.  LDD  #80
  52.  PSHS D
  53.  LDD  #1
  54.  PULS X
  55.  PSHS D
  56.  TFR  X,D
  57.  SUBD ,S++
  58.  CMPD ,S++
  59.  LBLE cc2
  60.  LDD  mptr
  61.  ADDD #1
  62.  STD  mptr
  63.  SUBD #1
  64. cc2
  65.  LDB  3,S
  66.  SEX
  67.  RTS
  68.  GLOBAL preproce
  69. preproce
  70.  LEAS -12,S
  71.  LDD  cmode
  72.  PSHS D
  73.  LDD  #0
  74.  CMPD ,S++
  75.  LBNE cc3
  76.  LEAS 12,S
  77.  RTS
  78. cc3
  79.  LDD  #0
  80.  STD  lptr
  81.  STD  mptr
  82. cc4
  83.  JSR ch
  84.  CMPD #0
  85.  LBEQ cc5
  86.  JSR ch
  87.  PSHS D
  88.  LDD  #32
  89.  CMPD ,S++
  90.  BEQ  *+7
  91.  LDD  #0
  92.  BRA  *+5
  93.  LDD  #1
  94.  CMPD #1
  95.  LBEQ cc7
  96.  JSR ch
  97.  PSHS D
  98.  LDD  #9
  99.  CMPD ,S++
  100.  BEQ  *+7
  101.  LDD  #0
  102.  BRA  *+5
  103.  LDD  #1
  104.  CMPD #1
  105.  LBEQ cc7
  106.  LDD  #0
  107.  JMP cc8
  108. cc7
  109.  LDD  #1
  110. cc8
  111.  CMPD #0
  112.  LBEQ cc6
  113.  LDD  #32
  114.  PSHS D
  115.  JSR keepch
  116.  LEAS 2,S
  117. cc9
  118.  JSR ch
  119.  PSHS D
  120.  LDD  #32
  121.  CMPD ,S++
  122.  BEQ  *+7
  123.  LDD  #0
  124.  BRA  *+5
  125.  LDD  #1
  126.  PSHS D
  127.  JSR ch
  128.  PSHS D
  129.  LDD  #9
  130.  CMPD ,S++
  131.  BEQ  *+7
  132.  LDD  #0
  133.  BRA  *+5
  134.  LDD  #1
  135.  ORA  ,S+
  136.  ORB  ,S+
  137.  CMPD #0
  138.  LBEQ cc10
  139.  JSR gch
  140.  JMP cc9
  141. cc10
  142.  JMP cc11
  143. cc6
  144.  JSR ch
  145.  PSHS D
  146.  LDD  #34
  147.  CMPD ,S++
  148.  LBNE cc12
  149.  JSR ch
  150.  PSHS D
  151.  JSR keepch
  152.  LEAS 2,S
  153.  JSR gch
  154. cc13
  155.  JSR ch
  156.  PSHS D
  157.  LDD  #34
  158.  CMPD ,S++
  159.  LBEQ cc14
  160.  JSR ch
  161.  PSHS D
  162.  LDD  #0
  163.  CMPD ,S++
  164.  LBNE cc15
  165.  LDD  #cc1+0
  166.  PSHS D
  167.  JSR errrpt
  168.  LEAS 2,S
  169.  JMP cc14
  170. cc15
  171.  JSR gch
  172.  PSHS D
  173.  JSR keepch
  174.  LEAS 2,S
  175.  JMP cc13
  176. cc14
  177.  JSR gch
  178.  LDD  #34
  179.  PSHS D
  180.  JSR keepch
  181.  LEAS 2,S
  182.  JMP cc16
  183. cc12
  184.  JSR ch
  185.  PSHS D
  186.  LDD  #39
  187.  CMPD ,S++
  188.  LBNE cc17
  189.  LDD  #39
  190.  PSHS D
  191.  JSR keepch
  192.  LEAS 2,S
  193.  JSR gch
  194. cc18
  195.  JSR ch
  196.  PSHS D
  197.  LDD  #39
  198.  CMPD ,S++
  199.  LBEQ cc19
  200.  JSR ch
  201.  PSHS D
  202.  LDD  #0
  203.  CMPD ,S++
  204.  LBNE cc20
  205.  LDD  #cc1+14
  206.  PSHS D
  207.  JSR errrpt
  208.  LEAS 2,S
  209.  JMP cc19
  210. cc20
  211.  JSR gch
  212.  PSHS D
  213.  JSR keepch
  214.  LEAS 2,S
  215.  JMP cc18
  216. cc19
  217.  JSR gch
  218.  LDD  #39
  219.  PSHS D
  220.  JSR keepch
  221.  LEAS 2,S
  222.  JMP cc21
  223. cc17
  224.  JSR ch
  225.  PSHS D
  226.  LDD  #47
  227.  CMPD ,S++
  228.  BEQ  *+8
  229.  LDD  #0
  230.  JMP cc23 _
  231.  LDD  #1
  232.  JSR nch
  233.  PSHS D
  234.  LDD  #42
  235.  CMPD ,S++
  236.  BEQ  *+8
  237.  LDD  #0
  238.  JMP cc23 _
  239.  LDD  #1
  240.  LDD  #1
  241. cc23
  242.  CMPD #0
  243.  LBEQ cc22
  244.  JSR inchar
  245.  JSR inchar
  246. cc24
  247.  JSR ch
  248.  PSHS D
  249.  LDD  #42
  250.  CMPD ,S++
  251.  BEQ  *+7
  252.  LDD  #0
  253.  BRA  *+5
  254.  LDD  #1
  255.  PSHS D
  256.  JSR nch
  257.  PSHS D
  258.  LDD  #47
  259.  CMPD ,S++
  260.  BEQ  *+7
  261.  LDD  #0
  262.  BRA  *+5
  263.  LDD  #1
  264.  ANDA ,S+
  265.  ANDB ,S+
  266.  PSHS D
  267.  LDD  #0
  268.  CMPD ,S++
  269.  LBNE cc25
  270.  JSR ch
  271.  CMPD #0
  272.  LBEQ cc26
  273.  JSR inchar
  274.  JMP cc27
  275. cc26
  276.  JSR inline
  277.  LDD  eof
  278.  CMPD #0
  279.  LBEQ cc28
  280.  JMP cc25
  281. cc28
  282. cc27
  283.  JMP cc24
  284. cc25
  285.  JSR inchar
  286.  JSR inchar
  287.  JMP cc29
  288. cc22
  289.  JSR ch
  290.  PSHS D
  291.  JSR an
  292.  LEAS 2,S
  293.  CMPD #0
  294.  LBEQ cc30
  295.  LDD  #0
  296.  STD  10,S
  297. cc31
  298.  JSR ch
  299.  PSHS D
  300.  JSR an
  301.  LEAS 2,S
  302.  CMPD #0
  303.  LBEQ cc32
  304.  LDD  10,S
  305.  PSHS D
  306.  LDD  #8
  307.  CMPD ,S++
  308.  LBLE cc33
  309.  LEAY 0,S
  310.  TFR  Y,D
  311.  PSHS D
  312.  LDD  12,S
  313.  ADDD #1
  314.  STD  12,S
  315.  SUBD #1
  316.  ADDD ,S++
  317.  PSHS D
  318.  JSR ch
  319.  STB  [,S++]
  320. cc33
  321.  JSR gch
  322.  JMP cc31
  323. cc32
  324.  LEAY 0,S
  325.  TFR  Y,D
  326.  PSHS D
  327.  LDD  12,S
  328.  ADDD ,S++
  329.  PSHS D
  330.  LDD  #0
  331.  STB  [,S++]
  332.  LEAY 10,S
  333.  TFR  Y,D
  334.  PSHS D
  335.  LEAY 2,S
  336.  TFR  Y,D
  337.  PSHS D
  338.  JSR findmac
  339.  LEAS 2,S
  340.  STD  [,S++]
  341.  CMPD #0
  342.  LBEQ cc34
  343. cc35
  344.  LEAY 9,S
  345.  TFR  Y,D
  346.  PSHS D
  347.  LDD  #macq
  348.  PSHS D
  349.  LDD  14,S
  350.  ADDD #1
  351.  STD  14,S
  352.  SUBD #1
  353.  ADDD ,S++
  354.  PSHS D
  355.  LDB  [,S++]
  356.  SEX
  357.  STB  [,S++]
  358.  CMPD #0
  359.  LBEQ cc36
  360.  LDB  9,S
  361.  SEX
  362.  PSHS D
  363.  JSR keepch
  364.  LEAS 2,S
  365.  JMP cc35
  366. cc36
  367.  JMP cc37
  368. cc34
  369.  LDD  #0
  370.  STD  10,S
  371. cc38
  372.  LEAY 9,S
  373.  TFR  Y,D
  374.  PSHS D
  375.  LEAY 2,S
  376.  TFR  Y,D
  377.  PSHS D
  378.  LDD  14,S
  379.  ADDD #1
  380.  STD  14,S
  381.  SUBD #1
  382.  ADDD ,S++
  383.  PSHS D
  384.  LDB  [,S++]
  385.  SEX
  386.  STB  [,S++]
  387.  CMPD #0
  388.  LBEQ cc39
  389.  LDB  9,S
  390.  SEX
  391.  PSHS D
  392.  JSR keepch
  393.  LEAS 2,S
  394.  JMP cc38
  395. cc39
  396. cc37
  397.  JMP cc40
  398. cc30
  399.  JSR gch
  400.  PSHS D
  401.  JSR keepch
  402.  LEAS 2,S
  403. cc40
  404. cc29
  405. cc21
  406. cc16
  407. cc11
  408.  JMP cc4
  409. cc5
  410.  LDD  #0
  411.  PSHS D
  412.  JSR keepch
  413.  LEAS 2,S
  414.  LDD  mptr
  415.  PSHS D
  416.  LDD  #80
  417.  PSHS D
  418.  LDD  #1
  419.  PULS X
  420.  PSHS D
  421.  TFR  X,D
  422.  SUBD ,S++
  423.  CMPD ,S++
  424.  LBGT cc41
  425.  LDD  #cc1+33
  426.  PSHS D
  427.  JSR errrpt
  428.  LEAS 2,S
  429. cc41
  430.  LDD  #0
  431.  STD  mptr
  432.  STD  lptr
  433. cc42
  434.  LDD  #line
  435.  PSHS D
  436.  LDD  lptr
  437.  ADDD #1
  438.  STD  lptr
  439.  SUBD #1
  440.  ADDD ,S++
  441.  PSHS D
  442.  LDD  #mline
  443.  PSHS D
  444.  LDD  mptr
  445.  ADDD #1
  446.  STD  mptr
  447.  SUBD #1
  448.  ADDD ,S++
  449.  PSHS D
  450.  LDB  [,S++]
  451.  SEX
  452.  STB  [,S++]
  453.  CMPD #0
  454.  LBEQ cc43
  455.  JMP cc42
  456. cc43
  457.  LDD  #0
  458.  STD  lptr
  459.  LEAS 12,S
  460.  RTS
  461. cc1 FCB 109,105,115,115,105,110,103,32,113,117
  462.  FCB 111,116,101,0,109,105,115,115,105,110
  463.  FCB 103,32,97,112,111,115,116,114,111,112
  464.  FCB 104,101,0,108,105,110,101,32,116,111
  465.  FCB 111,32,108,111,110,103,0
  466.  GLOBAL addmac
  467. addmac
  468.  LEAS -9,S
  469.  LEAY 0,S
  470.  TFR  Y,D
  471.  PSHS D
  472.  JSR symname
  473.  LEAS 2,S
  474.  PSHS D
  475.  LDD  #0
  476.  CMPD ,S++
  477.  LBNE cc45
  478.  JSR illname
  479.  JSR kill
  480.  LEAS 9,S
  481.  RTS
  482. cc45
  483.  LEAY 0,S
  484.  TFR  Y,D
  485.  PSHS D
  486.  LDD  #5
  487.  PSHS D
  488.  LDD  #0
  489.  PSHS D
  490.  LDD  macptr
  491.  PSHS D
  492.  LDD  #5
  493.  PSHS D
  494.  JSR addglb
  495.  LEAS 10,S
  496. cc46
  497.  JSR ch
  498.  PSHS D
  499.  LDD  #32
  500.  CMPD ,S++
  501.  BEQ  *+7
  502.  LDD  #0
  503.  BRA  *+5
  504.  LDD  #1
  505.  CMPD #1
  506.  LBEQ cc48
  507.  JSR ch
  508.  PSHS D
  509.  LDD  #9
  510.  CMPD ,S++
  511.  BEQ  *+7
  512.  LDD  #0
  513.  BRA  *+5
  514.  LDD  #1
  515.  CMPD #1
  516.  LBEQ cc48
  517.  LDD  #0
  518.  JMP cc49
  519. cc48
  520.  LDD  #1
  521. cc49
  522.  CMPD #0
  523.  LBEQ cc47
  524.  JSR gch
  525.  JMP cc46
  526. cc47
  527. cc50
  528.  JSR gch
  529.  PSHS D
  530.  JSR putmac
  531.  LEAS 2,S
  532.  CMPD #0
  533.  LBEQ cc51
  534.  JMP cc50
  535. cc51
  536.  LDD  macptr
  537.  PSHS D
  538.  LDD  #500
  539.  PSHS D
  540.  LDD  #1
  541.  PULS X
  542.  PSHS D
  543.  TFR  X,D
  544.  SUBD ,S++
  545.  CMPD ,S++
  546.  LBGT cc52
  547.  LDD  #cc44+0
  548.  PSHS D
  549.  JSR errrpt
  550.  LEAS 2,S
  551. cc52
  552.  LEAS 9,S
  553.  RTS
  554. cc44 FCB 109,97,99,114,111,32,116,97,98,108
  555.  FCB 101,32,102,117,108,108,0
  556.  GLOBAL putmac
  557. putmac
  558.  LDD  #macq
  559.  ADDD macptr
  560.  PSHS D
  561.  LDB  5,S
  562.  SEX
  563.  STB  [,S++]
  564.  LDD  macptr
  565.  PSHS D
  566.  LDD  #500
  567.  PSHS D
  568.  LDD  #1
  569.  PULS X
  570.  PSHS D
  571.  TFR  X,D
  572.  SUBD ,S++
  573.  CMPD ,S++
  574.  LBLT cc54
  575.  LDD  macptr
  576.  ADDD #1
  577.  STD  macptr
  578. cc54
  579.  LDB  3,S
  580.  SEX
  581.  RTS
  582.  GLOBAL findmac
  583. findmac
  584.  LDD  2,S
  585.  PSHS D
  586.  JSR findglb
  587.  LEAS 2,S
  588.  PSHS D
  589.  LDD  #0
  590.  CMPD ,S++
  591.  BNE  *+8
  592.  LDD  #0
  593.  JMP cc56 _
  594.  LDD  #1
  595.  LDD  cptr
  596.  ADDD #9
  597.  PSHS D
  598.  LDB  [,S++]
  599.  SEX
  600.  PSHS D
  601.  LDD  #5
  602.  CMPD ,S++
  603.  BEQ  *+8
  604.  LDD  #0
  605.  JMP cc56 _
  606.  LDD  #1
  607.  LDD  #1
  608. cc56
  609.  CMPD #0
  610.  LBEQ cc55
  611.  LDD  cptr
  612.  ADDD #12
  613.  PSHS D
  614.  LDD  #2
  615.  PSHS D
  616.  JSR getint
  617.  LEAS 4,S
  618.  RTS
  619. cc55
  620.  LDD  #0
  621.  RTS
  622.  GLOBAL outbyte
  623. outbyte
  624.  LDB  3,S
  625.  SEX
  626.  PSHS D
  627.  LDD  #0
  628.  CMPD ,S++
  629.  LBNE cc57
  630.  LDD  #0
  631.  RTS
  632. cc57
  633.  LDD  stagenex
  634.  CMPD #0
  635.  LBEQ cc58
  636.  LDD  stagenex
  637.  PSHS D
  638.  LDD  stagelas
  639.  CMPD ,S++
  640.  LBNE cc59
  641.  LDD  #cc53+0
  642.  PSHS D
  643.  JSR errrpt
  644.  LEAS 2,S
  645.  LDD  #0
  646.  RTS
  647. cc59
  648.  LDD  stagenex
  649.  ADDD #1
  650.  STD  stagenex
  651.  SUBD #1
  652.  PSHS D
  653.  LDB  5,S
  654.  SEX
  655.  STB  [,S++]
  656. cc60
  657.  JMP cc61
  658. cc58
  659.  LDB  3,S
  660.  SEX
  661.  PSHS D
  662.  LDD  output
  663.  PSHS D
  664.  JSR cout
  665.  LEAS 4,S
  666. cc61
  667.  LDB  3,S
  668.  SEX
  669.  RTS
  670. cc53 FCB 115,116,97,103,105,110,103,32,98,117
  671.  FCB 102,102,101,114,32,111,118,101,114,102
  672.  FCB 108,111,119,0
  673.  GLOBAL cout
  674. cout
  675.  LDB  5,S
  676.  SEX
  677.  PSHS D
  678.  LDD  4,S
  679.  PSHS D
  680.  JSR putc
  681.  LEAS 4,S
  682.  PSHS D
  683.  LDD  #1
  684.  COMA
  685.  COMB
  686.  ADDD #1
  687.  CMPD ,S++
  688.  LBNE cc63
  689.  JSR xout
  690. cc63
  691.  RTS
  692.  GLOBAL sout
  693. sout
  694.  LDD  4,S
  695.  PSHS D
  696.  LDD  4,S
  697.  PSHS D
  698.  JSR fputs
  699.  LEAS 4,S
  700.  PSHS D
  701.  LDD  #1
  702.  COMA
  703.  COMB
  704.  ADDD #1
  705.  CMPD ,S++
  706.  LBNE cc64
  707.  JSR xout
  708. cc64
  709.  RTS
  710.  GLOBAL xout
  711. xout
  712.  LDD  #cc62+0
  713.  PSHS D
  714.  LDD  #2
  715.  PSHS D
  716.  JSR fputs
  717.  LEAS 4,S
  718.  LDD  #0
  719.  PSHS D
  720.  JSR exit
  721.  LEAS 2,S
  722.  RTS
  723. cc62 FCB 111,117,116,112,117,116,32,101,114,114
  724.  FCB 111,114,13,0
  725.  GLOBAL fputs
  726. fputs
  727.  LEAS -1,S
  728. cc66
  729.  LEAY 0,S
  730.  TFR  Y,D
  731.  PSHS D
  732.  LDD  7,S
  733.  ADDD #1
  734.  STD  7,S
  735.  SUBD #1
  736.  PSHS D
  737.  LDB  [,S++]
  738.  SEX
  739.  STB  [,S++]
  740.  CMPD #0
  741.  LBEQ cc67
  742.  LEAY 0,S
  743.  TFR  Y,D
  744.  PSHS D
  745.  LDB  2,S
  746.  SEX
  747.  PSHS D
  748.  LDD  7,S
  749.  PSHS D
  750.  JSR putc
  751.  LEAS 4,S
  752.  STB  [,S++]
  753.  PSHS D
  754.  LDD  #0
  755.  CMPD ,S++
  756.  LBLT cc68
  757.  LDB  0,S
  758.  SEX
  759.  LEAS 1,S
  760.  RTS
  761. cc68
  762.  JMP cc66
  763. cc67
  764.  LEAS 1,S
  765.  RTS
  766.  GLOBAL outstr
  767. outstr
  768.  LEAS -2,S
  769.  LDD  #0
  770.  STD  0,S
  771. cc69
  772.  LDD  4,S
  773.  PSHS D
  774.  LDD  2,S
  775.  ADDD #1
  776.  STD  2,S
  777.  SUBD #1
  778.  ADDD ,S++
  779.  PSHS D
  780.  LDB  [,S++]
  781.  SEX
  782.  PSHS D
  783.  JSR outbyte
  784.  LEAS 2,S
  785.  CMPD #0
  786.  LBEQ cc70
  787.  JMP cc69
  788. cc70
  789.  LEAS 2,S
  790.  RTS
  791.  GLOBAL cnl
  792. cnl
  793.  LDD  #13
  794.  PSHS D
  795.  JSR putchar
  796.  LEAS 2,S
  797.  RTS
  798.  GLOBAL nl
  799. nl
  800.  LDD  #13
  801.  PSHS D
  802.  JSR outbyte
  803.  LEAS 2,S
  804.  RTS
  805.  GLOBAL tab
  806. tab
  807.  LDD  #32
  808.  PSHS D
  809.  JSR outbyte
  810.  LEAS 2,S
  811.  RTS
  812.  GLOBAL errrpt
  813. errrpt
  814.  LEAS -2,S
  815.  LDD  #1
  816.  PSHS D
  817.  LDD  output
  818.  CMPD ,S++
  819.  LBEQ cc71
  820.  LDD  #13
  821.  PSHS D
  822.  LDD  #2
  823.  PSHS D
  824.  JSR putc
  825.  LEAS 4,S
  826.  LDD  #line
  827.  PSHS D
  828.  LDD  #2
  829.  PSHS D
  830.  JSR fputs
  831.  LEAS 4,S
  832.  LDD  #cc65+0
  833.  PSHS D
  834.  LDD  #2
  835.  PSHS D
  836.  JSR fputs
  837.  LEAS 4,S
  838.  LDD  4,S
  839.  PSHS D
  840.  LDD  #2
  841.  PSHS D
  842.  JSR fputs
  843.  LEAS 4,S
  844.  LDD  #cc65+9
  845.  PSHS D
  846.  LDD  #2
  847.  PSHS D
  848.  JSR fputs
  849.  LEAS 4,S
  850. cc71
  851.  LDD  pause
  852.  CMPD #0
  853.  LBEQ cc72
  854.  LDD  #cc65+18
  855.  PSHS D
  856.  LDD  #2
  857.  PSHS D
  858.  JSR fputs
  859.  LEAS 4,S
  860.  LDD  #2
  861.  PSHS D
  862.  JSR getc
  863.  LEAS 2,S
  864.  PSHS D
  865.  LDD  #3
  866.  CMPD ,S++
  867.  LBNE cc73
  868.  LDD  #0
  869.  PSHS D
  870.  JSR exit
  871.  LEAS 2,S
  872. cc73
  873. cc72
  874.  JSR comment
  875.  LDD  #line
  876.  PSHS D
  877.  JSR outstr
  878.  LEAS 2,S
  879.  JSR nl
  880.  JSR comment
  881.  LDD  #0
  882.  STD  0,S
  883. cc74
  884.  LDD  0,S
  885.  PSHS D
  886.  LDD  lptr
  887.  CMPD ,S++
  888.  LBLE cc75
  889.  LDD  #line
  890.  PSHS D
  891.  LDD  2,S
  892.  ADDD ,S++
  893.  PSHS D
  894.  LDB  [,S++]
  895.  SEX
  896.  PSHS D
  897.  LDD  #9
  898.  CMPD ,S++
  899.  LBNE cc76
  900.  JSR tab
  901.  JMP cc77
  902. cc76
  903.  LDD  #32
  904.  PSHS D
  905.  JSR outbyte
  906.  LEAS 2,S
  907. cc77
  908.  LDD  0,S
  909.  ADDD #1
  910.  STD  0,S
  911.  JMP cc74
  912. cc75
  913.  LDD  #94
  914.  PSHS D
  915.  JSR outbyte
  916.  LEAS 2,S
  917.  JSR nl
  918.  JSR comment
  919.  LDD  #cc65+22
  920.  PSHS D
  921.  JSR outstr
  922.  LEAS 2,S
  923.  LDD  4,S
  924.  PSHS D
  925.  JSR outstr
  926.  LEAS 2,S
  927.  LDD  #cc65+31
  928.  PSHS D
  929.  JSR outstr
  930.  LEAS 2,S
  931.  JSR nl
  932.  LDD  errcnt
  933.  ADDD #1
  934.  STD  errcnt
  935.  LEAS 2,S
  936.  RTS
  937. cc65 FCB 13,42,42,42,42,42,32,32,0,32
  938.  FCB 32,42,42,42,42,42,13,0,13,63
  939.  FCB 32,0,42,42,42,42,42,42,32,32
  940.  FCB 0,32,32,42,42,42,42,42,42,0
  941.  GLOBAL ol
  942. ol
  943.  LDD  2,S
  944.  PSHS D
  945.  JSR ot
  946.  LEAS 2,S
  947.  JSR nl
  948.  RTS
  949.  GLOBAL ot
  950. ot
  951.  JSR tab
  952.  LDD  2,S
  953.  PSHS D
  954.  JSR outstr
  955.  LEAS 2,S
  956.  RTS
  957.  GLOBAL streq
  958. streq
  959.  LEAS -2,S
  960.  LDD  #0
  961.  STD  0,S
  962. cc79
  963.  LDD  4,S
  964.  PSHS D
  965.  LDB  [,S++]
  966.  SEX
  967.  CMPD #0
  968.  LBEQ cc80
  969.  LDD  6,S
  970.  PSHS D
  971.  LDB  [,S++]
  972.  SEX
  973.  PSHS D
  974.  LDD  6,S
  975.  PSHS D
  976.  LDB  [,S++]
  977.  SEX
  978.  CMPD ,S++
  979.  LBEQ cc81
  980.  LDD  #0
  981.  LEAS 2,S
  982.  RTS
  983. cc81
  984.  LDD  0,S
  985.  ADDD #1
  986.  STD  0,S
  987.  LDD  6,S
  988.  ADDD #1
  989.  STD  6,S
  990.  LDD  4,S
  991.  ADDD #1
  992.  STD  4,S
  993.  JMP cc79
  994. cc80
  995.  LDD  0,S
  996.  LEAS 2,S
  997.  RTS
  998.  GLOBAL astreq
  999. astreq
  1000.  LEAS -2,S
  1001.  LDD  #0
  1002.  STD  0,S
  1003. cc82
  1004.  LDD  0,S
  1005.  PSHS D
  1006.  LDD  6,S
  1007.  CMPD ,S++
  1008.  LBLE cc83
  1009.  LDD  8,S
  1010.  PSHS D
  1011.  LDB  [,S++]
  1012.  SEX
  1013.  PSHS D
  1014.  LDD  8,S
  1015.  PSHS D
  1016.  LDB  [,S++]
  1017.  SEX
  1018.  CMPD ,S++
  1019.  LBEQ cc84
  1020.  JMP cc83
  1021. cc84
  1022.  LDD  8,S
  1023.  PSHS D
  1024.  LDB  [,S++]
  1025.  SEX
  1026.  PSHS D
  1027.  LDD  #0
  1028.  CMPD ,S++
  1029.  LBNE cc85
  1030.  JMP cc83
  1031. cc85
  1032.  LDD  6,S
  1033.  PSHS D
  1034.  LDB  [,S++]
  1035.  SEX
  1036.  PSHS D
  1037.  LDD  #0
  1038.  CMPD ,S++
  1039.  LBNE cc86
  1040.  JMP cc83
  1041. cc86
  1042.  LDD  0,S
  1043.  ADDD #1
  1044.  STD  0,S
  1045.  LDD  8,S
  1046.  ADDD #1
  1047.  STD  8,S
  1048.  LDD  6,S
  1049.  ADDD #1
  1050.  STD  6,S
  1051.  JMP cc82
  1052. cc83
  1053.  LDD  8,S
  1054.  PSHS D
  1055.  LDB  [,S++]
  1056.  SEX
  1057.  PSHS D
  1058.  JSR an
  1059.  LEAS 2,S
  1060.  CMPD #0
  1061.  LBEQ cc87
  1062.  LDD  #0
  1063.  LEAS 2,S
  1064.  RTS
  1065. cc87
  1066.  LDD  6,S
  1067.  PSHS D
  1068.  LDB  [,S++]
  1069.  SEX
  1070.  PSHS D
  1071.  JSR an
  1072.  LEAS 2,S
  1073.  CMPD #0
  1074.  LBEQ cc88
  1075.  LDD  #0
  1076.  LEAS 2,S
  1077.  RTS
  1078. cc88
  1079.  LDD  0,S
  1080.  LEAS 2,S
  1081.  RTS
  1082.  GLOBAL match
  1083. match
  1084.  LEAS -2,S
  1085.  JSR blanks
  1086.  LEAY 0,S
  1087.  TFR  Y,D
  1088.  PSHS D
  1089.  LDD  #line
  1090.  ADDD lptr
  1091.  PSHS D
  1092.  LDD  8,S
  1093.  PSHS D
  1094.  JSR streq
  1095.  LEAS 4,S
  1096.  STD  [,S++]
  1097.  CMPD #0
  1098.  LBEQ cc89
  1099.  LDD  lptr
  1100.  PSHS D
  1101.  LDD  2,S
  1102.  ADDD ,S++
  1103.  STD  lptr
  1104.  LDD  #1
  1105.  LEAS 2,S
  1106.  RTS
  1107. cc89
  1108.  LDD  #0
  1109.  LEAS 2,S
  1110.  RTS
  1111.  GLOBAL amatch
  1112. amatch
  1113.  LEAS -2,S
  1114.  JSR blanks
  1115.  LEAY 0,S
  1116.  TFR  Y,D
  1117.  PSHS D
  1118.  LDD  #line
  1119.  ADDD lptr
  1120.  PSHS D
  1121.  LDD  10,S
  1122.  PSHS D
  1123.  LDD  10,S
  1124.  PSHS D
  1125.  JSR astreq
  1126.  LEAS 6,S
  1127.  STD  [,S++]
  1128.  CMPD #0
  1129.  LBEQ cc90
  1130.  LDD  lptr
  1131.  PSHS D
  1132.  LDD  2,S
  1133.  ADDD ,S++
  1134.  STD  lptr
  1135. cc91
  1136.  JSR ch
  1137.  PSHS D
  1138.  JSR an
  1139.  LEAS 2,S
  1140.  CMPD #0
  1141.  LBEQ cc92
  1142.  JSR inbyte
  1143.  JMP cc91
  1144. cc92
  1145.  LDD  #1
  1146.  LEAS 2,S
  1147.  RTS
  1148. cc90
  1149.  LDD  #0
  1150.  LEAS 2,S
  1151.  RTS
  1152.  GLOBAL blanks
  1153. blanks
  1154. cc93
  1155.  LDD  #1
  1156.  CMPD #0
  1157.  LBEQ cc94
  1158. cc95
  1159.  JSR ch
  1160.  PSHS D
  1161.  LDD  #0
  1162.  CMPD ,S++
  1163.  LBNE cc96
  1164.  JSR inline
  1165.  JSR preproce
  1166.  LDD  eof
  1167.  CMPD #0
  1168.  LBEQ cc97
  1169.  JMP cc96
  1170. cc97
  1171.  JMP cc95
  1172. cc96
  1173.  JSR ch
  1174.  PSHS D
  1175.  LDD  #32
  1176.  CMPD ,S++
  1177.  LBNE cc98
  1178.  JSR gch
  1179.  JMP cc99
  1180. cc98
  1181.  JSR ch
  1182.  PSHS D
  1183.  LDD  #9
  1184.  CMPD ,S++
  1185.  LBNE cc100
  1186.  JSR gch
  1187.  JMP cc101
  1188. cc100
  1189.  RTS
  1190. cc101
  1191. cc99
  1192.  JMP cc93
  1193. cc94
  1194.  RTS
  1195.  GLOBAL PDBody
  1196. PDBody
  1197.  LEAS -1,S
  1198.  LDD  3,S
  1199.  PSHS D
  1200.  LDD  #0
  1201.  CMPD ,S++
  1202.  LBEQ cc102
  1203.  LEAY 0,S
  1204.  TFR  Y,D
  1205.  PSHS D
  1206.  LDD  5,S
  1207.  PSHS D
  1208.  LDD  #10
  1209.  PULS X
  1210.  JSR ccdiv
  1211.  EXG  D,X
  1212.  ADDD #48
  1213.  STB  [,S++]
  1214.  LDD  3,S
  1215.  PSHS D
  1216.  LDD  #10
  1217.  PULS X
  1218.  JSR ccdiv
  1219.  PSHS D
  1220.  JSR PDBody
  1221.  LEAS 2,S
  1222.  LDB  0,S
  1223.  SEX
  1224.  PSHS D
  1225.  JSR outbyte
  1226.  LEAS 2,S
  1227. cc102
  1228.  LEAS 1,S
  1229.  RTS
  1230.  GLOBAL setstage
  1231. setstage
  1232.  LDD  4,S
  1233.  PSHS D
  1234.  LDD  stagenex
  1235.  STD  [,S++]
  1236.  PSHS D
  1237.  LDD  #0
  1238.  CMPD ,S++
  1239.  LBNE cc103
  1240.  LDD  #stage
  1241.  STD  stagenex
  1242. cc103
  1243.  LDD  2,S
  1244.  PSHS D
  1245.  LDD  stagenex
  1246.  STD  [,S++]
  1247.  RTS
  1248.  GLOBAL clearsta
  1249. clearsta
  1250.  LDD  stagenex
  1251.  PSHS D
  1252.  LDD  #0
  1253.  STB  [,S++]
  1254.  LDD  4,S
  1255.  STD  stagenex
  1256.  CMPD #0
  1257.  LBEQ cc104
  1258.  RTS
  1259. cc104
  1260.  LDD  2,S
  1261.  CMPD #0
  1262.  LBEQ cc105
  1263.  LDD  2,S
  1264.  PSHS D
  1265.  LDD  output
  1266.  PSHS D
  1267.  JSR sout
  1268.  LEAS 4,S
  1269. cc105
  1270.  RTS
  1271.  GLOBAL outdec
  1272. outdec
  1273.  LDD  2,S
  1274.  PSHS D
  1275.  LDD  #0
  1276.  CMPD ,S++
  1277.  LBNE cc106
  1278.  LDD  #48
  1279.  PSHS D
  1280.  JSR outbyte
  1281.  LEAS 2,S
  1282.  JMP cc107
  1283. cc106
  1284.  LDD  2,S
  1285.  PSHS D
  1286.  LDD  #32768
  1287.  COMA
  1288.  COMB
  1289.  ADDD #1
  1290.  CMPD ,S++
  1291.  LBNE cc108
  1292.  LDD  #cc78+0
  1293.  PSHS D
  1294.  JSR outstr
  1295.  LEAS 2,S
  1296.  JMP cc109
  1297. cc108
  1298.  LDD  2,S
  1299.  PSHS D
  1300.  LDD  #0
  1301.  CMPD ,S++
  1302.  LBLE cc110
  1303.  LDD  #45
  1304.  PSHS D
  1305.  JSR outbyte
  1306.  LEAS 2,S
  1307.  LDD  2,S
  1308.  COMA
  1309.  COMB
  1310.  ADDD #1
  1311.  PSHS D
  1312.  JSR PDBody
  1313.  LEAS 2,S
  1314.  JMP cc111
  1315. cc110
  1316.  LDD  2,S
  1317.  PSHS D
  1318.  JSR PDBody
  1319.  LEAS 2,S
  1320. cc111
  1321. cc109
  1322. cc107
  1323.  RTS
  1324. cc78 FCB 45,51,50,55,54,56,0
  1325.  END