home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_200 / 221_01 / cc7.asm < prev    next >
Assembly Source File  |  1979-12-31  |  19KB  |  1,717 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 add
  12.  EXT addglb
  13.  EXT blanks
  14.  EXT callfunc
  15.  EXT ch
  16.  EXT clearsta
  17.  EXT doublere
  18.  EXT gch
  19.  EXT getloc
  20.  EXT getmem
  21.  EXT errrpt
  22.  EXT expressi
  23.  EXT findglb
  24.  EXT findloc
  25.  EXT findstat
  26.  EXT heir1
  27.  EXT immed
  28.  EXT inbyte
  29.  EXT indirect
  30.  EXT junk
  31.  EXT match
  32.  EXT nch
  33.  EXT needbrac
  34.  EXT nl
  35.  EXT numeric
  36.  EXT outbyte
  37.  EXT outdec
  38.  EXT outstr
  39.  EXT printlab
  40.  EXT push
  41.  EXT putint
  42.  EXT putmem
  43.  EXT putstk
  44.  EXT setstage
  45.  EXT symname
  46.  EXT testjump
  47.  EXT constval
  48.  EXT litlab
  49.  EXT litptr
  50.  EXT litq
  51.  EXT quote
  52.  NAME heir11
  53.  GLOBAL heir11
  54. heir11
  55.  LEAS -4,S
  56.  LEAY 2,S
  57.  TFR  Y,D
  58.  PSHS D
  59.  LDD  8,S
  60.  PSHS D
  61.  JSR primary
  62.  LEAS 2,S
  63.  STD  [,S++]
  64.  LEAY 0,S
  65.  TFR  Y,D
  66.  PSHS D
  67.  LDD  8,S
  68.  PSHS D
  69.  LDD  #0
  70.  PSHS D
  71.  ADDD ,S++
  72.  ADDD ,S++
  73.  PSHS D
  74.  LDD  [,S++]
  75.  STD  [,S++]
  76.  JSR blanks
  77.  JSR ch
  78.  PSHS D
  79.  LDD  #91
  80.  CMPD ,S++
  81.  BEQ  *+7
  82.  LDD  #0
  83.  BRA  *+5
  84.  LDD  #1
  85.  CMPD #1
  86.  LBEQ cc3
  87.  JSR ch
  88.  PSHS D
  89.  LDD  #40
  90.  CMPD ,S++
  91.  BEQ  *+7
  92.  LDD  #0
  93.  BRA  *+5
  94.  LDD  #1
  95.  CMPD #1
  96.  LBEQ cc3
  97.  LDD  #0
  98.  JMP cc4
  99. cc3
  100.  LDD  #1
  101. cc4
  102.  CMPD #0
  103.  LBEQ cc2
  104. cc5
  105.  LDD  #1
  106.  CMPD #0
  107.  LBEQ cc6
  108.  LDD  #cc1+0
  109.  PSHS D
  110.  JSR match
  111.  LEAS 2,S
  112.  CMPD #0
  113.  LBEQ cc7
  114.  LDD  0,S
  115.  PSHS D
  116.  LDD  #0
  117.  CMPD ,S++
  118.  LBNE cc8
  119.  LDD  #cc1+2
  120.  PSHS D
  121.  JSR errrpt
  122.  LEAS 2,S
  123.  JSR junk
  124.  LDD  #cc1+18
  125.  PSHS D
  126.  JSR needbrac
  127.  LEAS 2,S
  128.  LDD  #0
  129.  LEAS 4,S
  130.  RTS
  131. cc8
  132.  LDD  0,S
  133.  ADDD #9
  134.  PSHS D
  135.  LDB  [,S++]
  136.  SEX
  137.  PSHS D
  138.  LDD  #3
  139.  CMPD ,S++
  140.  LBNE cc10
  141.  LDD  6,S
  142.  PSHS D
  143.  JSR rvalue
  144.  LEAS 2,S
  145.  JMP cc11
  146. cc10
  147.  LDD  0,S
  148.  ADDD #9
  149.  PSHS D
  150.  LDB  [,S++]
  151.  SEX
  152.  PSHS D
  153.  LDD  #2
  154.  CMPD ,S++
  155.  LBEQ cc12
  156.  LDD  #cc1+20
  157.  PSHS D
  158.  JSR errrpt
  159.  LEAS 2,S
  160.  LDD  #0
  161.  STD  2,S
  162. cc12
  163. cc11
  164. cc9
  165.  JSR push
  166.  JSR expressi
  167.  LDD  #cc1+36
  168.  PSHS D
  169.  JSR needbrac
  170.  LEAS 2,S
  171.  LDD  0,S
  172.  ADDD #10
  173.  PSHS D
  174.  LDB  [,S++]
  175.  SEX
  176.  PSHS D
  177.  LDD  #2
  178.  PSHS D
  179.  LDD  #2
  180.  DECB
  181.  BLT  *+8
  182.  ASL  1,S
  183.  ROL  ,S
  184.  BRA  *-7
  185.  PULS D
  186.  CMPD ,S++
  187.  LBNE cc13
  188.  JSR doublere
  189. cc13
  190.  JSR add
  191.  LDD  6,S
  192.  PSHS D
  193.  LDD  #1
  194.  PSHS D
  195.  ADDD ,S++
  196.  ADDD ,S++
  197.  PSHS D
  198.  LDD  2,S
  199.  ADDD #10
  200.  PSHS D
  201.  LDB  [,S++]
  202.  SEX
  203.  STD  [,S++]
  204.  LDD  #1
  205.  STD  2,S
  206.  JMP cc14
  207. cc7
  208.  LDD  #cc1+38
  209.  PSHS D
  210.  JSR match
  211.  LEAS 2,S
  212.  CMPD #0
  213.  LBEQ cc15
  214.  LDD  0,S
  215.  PSHS D
  216.  LDD  #0
  217.  CMPD ,S++
  218.  LBNE cc16
  219.  LDD  #0
  220.  PSHS D
  221.  JSR callfunc
  222.  LEAS 2,S
  223.  JMP cc17
  224. cc16
  225.  LDD  0,S
  226.  ADDD #9
  227.  PSHS D
  228.  LDB  [,S++]
  229.  SEX
  230.  PSHS D
  231.  LDD  #4
  232.  CMPD ,S++
  233.  LBEQ cc18
  234.  LDD  6,S
  235.  PSHS D
  236.  JSR rvalue
  237.  LEAS 2,S
  238.  LDD  #0
  239.  PSHS D
  240.  JSR callfunc
  241.  LEAS 2,S
  242.  JMP cc19
  243. cc18
  244.  LDD  0,S
  245.  PSHS D
  246.  JSR callfunc
  247.  LEAS 2,S
  248. cc19
  249. cc17
  250.  LEAY 2,S
  251.  TFR  Y,D
  252.  PSHS D
  253.  LDD  8,S
  254.  PSHS D
  255.  LDD  #0
  256.  PSHS D
  257.  ADDD ,S++
  258.  ADDD ,S++
  259.  PSHS D
  260.  LDD  #0
  261.  STD  [,S++]
  262.  STD  [,S++]
  263.  JMP cc20
  264. cc15
  265.  LDD  2,S
  266.  LEAS 4,S
  267.  RTS
  268. cc20
  269. cc14
  270.  JMP cc5
  271. cc6
  272. cc2
  273.  LDD  0,S
  274.  PSHS D
  275.  LDD  #0
  276.  CMPD ,S++
  277.  LBNE cc21
  278.  LDD  2,S
  279.  LEAS 4,S
  280.  RTS
  281. cc21
  282.  LDD  0,S
  283.  ADDD #9
  284.  PSHS D
  285.  LDB  [,S++]
  286.  SEX
  287.  PSHS D
  288.  LDD  #4
  289.  CMPD ,S++
  290.  LBNE cc22
  291.  JSR immed
  292.  LDD  0,S
  293.  PSHS D
  294.  JSR outstr
  295.  LEAS 2,S
  296.  JSR nl
  297.  LDD  #0
  298.  LEAS 4,S
  299.  RTS
  300. cc22
  301.  LDD  2,S
  302.  LEAS 4,S
  303.  RTS
  304. cc1 FCB 91,0,99,97,110,39,116,32,115,117
  305.  FCB 98,115,99,114,105,112,116,0,93,0
  306.  FCB 99,97,110,39,116,32,115,117,98,115
  307.  FCB 99,114,105,112,116,0,93,0,40,0
  308.  GLOBAL primary
  309. primary
  310.  LEAS -17,S
  311.  LDD  #cc23+0
  312.  PSHS D
  313.  JSR match
  314.  LEAS 2,S
  315.  CMPD #0
  316.  LBEQ cc24
  317. cc25
  318.  LDD  #1
  319.  CMPD #0
  320.  LBEQ cc26
  321.  LEAY 0,S
  322.  TFR  Y,D
  323.  PSHS D
  324.  LDD  21,S
  325.  PSHS D
  326.  JSR heir1
  327.  LEAS 2,S
  328.  STD  [,S++]
  329.  LDD  #cc23+2
  330.  PSHS D
  331.  JSR match
  332.  LEAS 2,S
  333.  PSHS D
  334.  LDD  #0
  335.  CMPD ,S++
  336.  LBNE cc27
  337.  JMP cc26
  338. cc27
  339.  JMP cc25
  340. cc26
  341.  LDD  #cc23+4
  342.  PSHS D
  343.  JSR needbrac
  344.  LEAS 2,S
  345.  LDD  0,S
  346.  LEAS 17,S
  347.  RTS
  348. cc24
  349.  LEAY 4,S
  350.  TFR  Y,D
  351.  PSHS D
  352.  JSR symname
  353.  LEAS 2,S
  354.  CMPD #0
  355.  LBEQ cc28
  356.  LEAY 13,S
  357.  TFR  Y,D
  358.  PSHS D
  359.  LEAY 6,S
  360.  TFR  Y,D
  361.  PSHS D
  362.  JSR findloc
  363.  LEAS 2,S
  364.  STD  [,S++]
  365.  CMPD #0
  366.  LBEQ cc29
  367.  LEAY 15,S
  368.  TFR  Y,D
  369.  PSHS D
  370.  LEAY 6,S
  371.  TFR  Y,D
  372.  PSHS D
  373.  JSR findstat
  374.  LEAS 2,S
  375.  STD  [,S++]
  376.  CMPD #0
  377.  LBEQ cc30
  378.  LDD  19,S
  379.  PSHS D
  380.  LDD  #0
  381.  PSHS D
  382.  ADDD ,S++
  383.  ADDD ,S++
  384.  PSHS D
  385.  LDD  17,S
  386.  STD  [,S++]
  387.  LDD  19,S
  388.  PSHS D
  389.  LDD  #1
  390.  PSHS D
  391.  ADDD ,S++
  392.  ADDD ,S++
  393.  PSHS D
  394.  LDD  #0
  395.  STD  [,S++]
  396.  LDD  15,S
  397.  ADDD #9
  398.  PSHS D
  399.  LDB  [,S++]
  400.  SEX
  401.  PSHS D
  402.  LDD  #2
  403.  CMPD ,S++
  404.  LBEQ cc31
  405.  LDD  #1
  406.  LEAS 17,S
  407.  RTS
  408. cc31
  409.  JSR immed
  410.  LDD  15,S
  411.  ADDD #14
  412.  PSHS D
  413.  JSR outstr
  414.  LEAS 2,S
  415.  LDD  #66
  416.  PSHS D
  417.  JSR outbyte
  418.  LEAS 2,S
  419.  JSR nl
  420.  LDD  19,S
  421.  PSHS D
  422.  LDD  #1
  423.  PSHS D
  424.  ADDD ,S++
  425.  ADDD ,S++
  426.  PSHS D
  427.  LDD  17,S
  428.  ADDD #10
  429.  PSHS D
  430.  LDB  [,S++]
  431.  SEX
  432.  STD  [,S++]
  433.  LDD  #0
  434.  LEAS 17,S
  435.  RTS
  436. cc30
  437.  LEAY 15,S
  438.  TFR  Y,D
  439.  PSHS D
  440.  LDD  15,S
  441.  STD  [,S++]
  442.  LDD  15,S
  443.  PSHS D
  444.  JSR getloc
  445.  LEAS 2,S
  446.  LDD  19,S
  447.  PSHS D
  448.  LDD  #0
  449.  PSHS D
  450.  ADDD ,S++
  451.  ADDD ,S++
  452.  PSHS D
  453.  LDD  17,S
  454.  STD  [,S++]
  455.  LDD  19,S
  456.  PSHS D
  457.  LDD  #1
  458.  PSHS D
  459.  ADDD ,S++
  460.  ADDD ,S++
  461.  PSHS D
  462.  LDD  17,S
  463.  ADDD #10
  464.  PSHS D
  465.  LDB  [,S++]
  466.  SEX
  467.  STD  [,S++]
  468.  LDD  15,S
  469.  ADDD #9
  470.  PSHS D
  471.  LDB  [,S++]
  472.  SEX
  473.  PSHS D
  474.  LDD  #3
  475.  CMPD ,S++
  476.  LBNE cc33
  477.  LDD  19,S
  478.  PSHS D
  479.  LDD  #1
  480.  PSHS D
  481.  ADDD ,S++
  482.  ADDD ,S++
  483.  PSHS D
  484.  LDD  #2
  485.  PSHS D
  486.  LDD  #2
  487.  DECB
  488.  BLT  *+8
  489.  ASL  1,S
  490.  ROL  ,S
  491.  BRA  *-7
  492.  PULS D
  493.  STD  [,S++]
  494. cc33
  495.  LDD  15,S
  496.  ADDD #9
  497.  PSHS D
  498.  LDB  [,S++]
  499.  SEX
  500.  PSHS D
  501.  LDD  #2
  502.  CMPD ,S++
  503.  LBNE cc34
  504.  LDD  #0
  505.  LEAS 17,S
  506.  RTS
  507. cc34
  508.  LDD  #1
  509.  LEAS 17,S
  510.  RTS
  511. cc35
  512. cc32
  513. cc29
  514.  LEAY 15,S
  515.  TFR  Y,D
  516.  PSHS D
  517.  LEAY 6,S
  518.  TFR  Y,D
  519.  PSHS D
  520.  JSR findglb
  521.  LEAS 2,S
  522.  STD  [,S++]
  523.  CMPD #0
  524.  LBEQ cc36
  525.  LDD  15,S
  526.  ADDD #9
  527.  PSHS D
  528.  LDB  [,S++]
  529.  SEX
  530.  PSHS D
  531.  LDD  #4
  532.  CMPD ,S++
  533.  LBEQ cc37
  534.  LDD  19,S
  535.  PSHS D
  536.  LDD  #0
  537.  PSHS D
  538.  ADDD ,S++
  539.  ADDD ,S++
  540.  PSHS D
  541.  LDD  17,S
  542.  STD  [,S++]
  543.  LDD  19,S
  544.  PSHS D
  545.  LDD  #1
  546.  PSHS D
  547.  ADDD ,S++
  548.  ADDD ,S++
  549.  PSHS D
  550.  LDD  #0
  551.  STD  [,S++]
  552.  LDD  15,S
  553.  ADDD #9
  554.  PSHS D
  555.  LDB  [,S++]
  556.  SEX
  557.  PSHS D
  558.  LDD  #2
  559.  CMPD ,S++
  560.  LBEQ cc38
  561.  LDD  #1
  562.  LEAS 17,S
  563.  RTS
  564. cc38
  565.  JSR immed
  566.  LDD  15,S
  567.  PSHS D
  568.  JSR outstr
  569.  LEAS 2,S
  570.  JSR nl
  571.  LDD  19,S
  572.  PSHS D
  573.  LDD  #1
  574.  PSHS D
  575.  ADDD ,S++
  576.  ADDD ,S++
  577.  PSHS D
  578.  LDD  17,S
  579.  ADDD #10
  580.  PSHS D
  581.  LDB  [,S++]
  582.  SEX
  583.  STD  [,S++]
  584.  LDD  #0
  585.  LEAS 17,S
  586.  RTS
  587. cc37
  588. cc36
  589.  LEAY 15,S
  590.  TFR  Y,D
  591.  PSHS D
  592.  LEAY 6,S
  593.  TFR  Y,D
  594.  PSHS D
  595.  LDD  #4
  596.  PSHS D
  597.  LDD  #2
  598.  PSHS D
  599.  LDD  #2
  600.  DECB
  601.  BLT  *+8
  602.  ASL  1,S
  603.  ROL  ,S
  604.  BRA  *-7
  605.  PULS D
  606.  PSHS D
  607.  LDD  #0
  608.  PSHS D
  609.  LDD  #1
  610.  PSHS D
  611.  JSR addglb
  612.  LEAS 10,S
  613.  STD  [,S++]
  614.  LDD  19,S
  615.  PSHS D
  616.  LDD  #0
  617.  PSHS D
  618.  ADDD ,S++
  619.  ADDD ,S++
  620.  PSHS D
  621.  LDD  17,S
  622.  STD  [,S++]
  623.  LDD  19,S
  624.  PSHS D
  625.  LDD  #1
  626.  PSHS D
  627.  ADDD ,S++
  628.  ADDD ,S++
  629.  PSHS D
  630.  LDD  #0
  631.  STD  [,S++]
  632.  LDD  #0
  633.  LEAS 17,S
  634.  RTS
  635. cc28
  636.  LEAY 2,S
  637.  TFR  Y,D
  638.  PSHS D
  639.  JSR constant
  640.  LEAS 2,S
  641.  CMPD #0
  642.  LBEQ cc39
  643.  LDD  #constval
  644.  PSHS D
  645.  LDD  #0
  646.  PSHS D
  647.  ADDD ,S++
  648.  ADDD ,S++
  649.  PSHS D
  650.  LDD  #1
  651.  STD  [,S++]
  652.  LDD  #constval
  653.  PSHS D
  654.  LDD  #1
  655.  PSHS D
  656.  ADDD ,S++
  657.  ADDD ,S++
  658.  PSHS D
  659.  LEAY 4,S
  660.  TFR  Y,D
  661.  PSHS D
  662.  LDD  #0
  663.  PSHS D
  664.  ADDD ,S++
  665.  ADDD ,S++
  666.  PSHS D
  667.  LDD  [,S++]
  668.  STD  [,S++]
  669.  LDD  19,S
  670.  PSHS D
  671.  LDD  #0
  672.  PSHS D
  673.  ADDD ,S++
  674.  ADDD ,S++
  675.  PSHS D
  676.  LDD  21,S
  677.  PSHS D
  678.  LDD  #1
  679.  PSHS D
  680.  ADDD ,S++
  681.  ADDD ,S++
  682.  PSHS D
  683.  LDD  #0
  684.  STD  [,S++]
  685.  STD  [,S++]
  686.  LEAS 17,S
  687.  RTS
  688. cc39
  689.  LDD  #cc23+6
  690.  PSHS D
  691.  JSR errrpt
  692.  LEAS 2,S
  693.  JSR immed
  694.  LDD  #0
  695.  PSHS D
  696.  JSR outdec
  697.  LEAS 2,S
  698.  JSR nl
  699.  JSR junk
  700.  LDD  #0
  701.  LEAS 17,S
  702.  RTS
  703. cc40
  704.  LEAS 17,S
  705.  RTS
  706. cc23 FCB 40,0,44,0,41,0,105,110,118,97
  707.  FCB 108,105,100,32,101,120,112,114,101,115
  708.  FCB 115,105,111,110,0
  709.  GLOBAL store
  710. store
  711.  LDD  2,S
  712.  PSHS D
  713.  LDD  #1
  714.  PSHS D
  715.  ADDD ,S++
  716.  ADDD ,S++
  717.  PSHS D
  718.  LDD  [,S++]
  719.  PSHS D
  720.  LDD  #0
  721.  CMPD ,S++
  722.  LBNE cc42
  723.  LDD  2,S
  724.  PSHS D
  725.  LDD  #0
  726.  PSHS D
  727.  ADDD ,S++
  728.  ADDD ,S++
  729.  PSHS D
  730.  LDD  [,S++]
  731.  PSHS D
  732.  JSR putmem
  733.  LEAS 2,S
  734.  JMP cc43
  735. cc42
  736.  LDD  2,S
  737.  PSHS D
  738.  LDD  #1
  739.  PSHS D
  740.  ADDD ,S++
  741.  ADDD ,S++
  742.  PSHS D
  743.  LDD  [,S++]
  744.  PSHS D
  745.  JSR putstk
  746.  LEAS 2,S
  747. cc43
  748.  RTS
  749.  GLOBAL rvalue
  750. rvalue
  751.  LDD  2,S
  752.  PSHS D
  753.  LDD  #0
  754.  PSHS D
  755.  ADDD ,S++
  756.  ADDD ,S++
  757.  PSHS D
  758.  LDD  [,S++]
  759.  PSHS D
  760.  LDD  #0
  761.  CMPD ,S++
  762.  LBNE cc44
  763.  RTS
  764. cc44
  765.  LDD  2,S
  766.  PSHS D
  767.  LDD  #1
  768.  PSHS D
  769.  ADDD ,S++
  770.  ADDD ,S++
  771.  PSHS D
  772.  LDD  [,S++]
  773.  PSHS D
  774.  LDD  #0
  775.  CMPD ,S++
  776.  LBNE cc45
  777.  LDD  2,S
  778.  PSHS D
  779.  LDD  #0
  780.  PSHS D
  781.  ADDD ,S++
  782.  ADDD ,S++
  783.  PSHS D
  784.  LDD  [,S++]
  785.  PSHS D
  786.  JSR getmem
  787.  LEAS 2,S
  788.  JMP cc46
  789. cc45
  790.  LDD  2,S
  791.  PSHS D
  792.  LDD  #1
  793.  PSHS D
  794.  ADDD ,S++
  795.  ADDD ,S++
  796.  PSHS D
  797.  LDD  [,S++]
  798.  PSHS D
  799.  JSR indirect
  800.  LEAS 2,S
  801. cc46
  802.  RTS
  803.  GLOBAL test
  804. test
  805.  LEAS -20,S
  806.  LDD  22,S
  807.  CMPD #0
  808.  LBEQ cc47
  809.  LDD  #cc41+0
  810.  PSHS D
  811.  JSR needbrac
  812.  LEAS 2,S
  813. cc47
  814. cc48
  815.  LDD  #1
  816.  CMPD #0
  817.  LBEQ cc49
  818.  LEAY 18,S
  819.  TFR  Y,D
  820.  PSHS D
  821.  LEAY 18,S
  822.  TFR  Y,D
  823.  PSHS D
  824.  JSR setstage
  825.  LEAS 4,S
  826.  LEAY 0,S
  827.  TFR  Y,D
  828.  PSHS D
  829.  JSR heir1
  830.  LEAS 2,S
  831.  CMPD #0
  832.  LBEQ cc50
  833.  LEAY 0,S
  834.  TFR  Y,D
  835.  PSHS D
  836.  JSR rvalue
  837.  LEAS 2,S
  838. cc50
  839.  LDD  #cc41+2
  840.  PSHS D
  841.  JSR match
  842.  LEAS 2,S
  843.  CMPD #0
  844.  LBEQ cc51
  845.  LDD  18,S
  846.  PSHS D
  847.  LDD  18,S
  848.  PSHS D
  849.  JSR clearsta
  850.  LEAS 4,S
  851.  JMP cc52
  852. cc51
  853.  JMP cc49
  854. cc52
  855.  JMP cc48
  856. cc49
  857.  LDD  22,S
  858.  CMPD #0
  859.  LBEQ cc53
  860.  LDD  #cc41+4
  861.  PSHS D
  862.  JSR needbrac
  863.  LEAS 2,S
  864. cc53
  865.  LDD  24,S
  866.  PSHS D
  867.  JSR testjump
  868.  LEAS 2,S
  869.  LDD  18,S
  870.  PSHS D
  871.  LDD  18,S
  872.  PSHS D
  873.  JSR clearsta
  874.  LEAS 4,S
  875.  LEAS 20,S
  876.  RTS
  877. cc41 FCB 40,0,44,0,41,0
  878.  GLOBAL constexp
  879. constexp
  880.  LEAS -6,S
  881.  LEAY 2,S
  882.  TFR  Y,D
  883.  PSHS D
  884.  LEAY 2,S
  885.  TFR  Y,D
  886.  PSHS D
  887.  JSR setstage
  888.  LEAS 4,S
  889.  LDD  #constval
  890.  PSHS D
  891.  LDD  #0
  892.  PSHS D
  893.  ADDD ,S++
  894.  ADDD ,S++
  895.  PSHS D
  896.  LDD  #constval
  897.  PSHS D
  898.  LDD  #1
  899.  PSHS D
  900.  ADDD ,S++
  901.  ADDD ,S++
  902.  PSHS D
  903.  LDD  #0
  904.  STD  [,S++]
  905.  STD  [,S++]
  906.  JSR expressi
  907.  LEAY 4,S
  908.  TFR  Y,D
  909.  PSHS D
  910.  LDD  #constval
  911.  PSHS D
  912.  LDD  #0
  913.  PSHS D
  914.  ADDD ,S++
  915.  ADDD ,S++
  916.  PSHS D
  917.  LDD  [,S++]
  918.  STD  [,S++]
  919.  LDD  8,S
  920.  PSHS D
  921.  LDD  #constval
  922.  PSHS D
  923.  LDD  #1
  924.  PSHS D
  925.  ADDD ,S++
  926.  ADDD ,S++
  927.  PSHS D
  928.  LDD  [,S++]
  929.  STD  [,S++]
  930.  LDD  2,S
  931.  PSHS D
  932.  LDD  #0
  933.  PSHS D
  934.  JSR clearsta
  935.  LEAS 4,S
  936.  LDD  4,S
  937.  PSHS D
  938.  LDD  #0
  939.  CMPD ,S++
  940.  LBNE cc55
  941.  LDD  #cc54+0
  942.  PSHS D
  943.  JSR errrpt
  944.  LEAS 2,S
  945. cc55
  946.  LDD  4,S
  947.  LEAS 6,S
  948.  RTS
  949. cc54 FCB 109,117,115,116,32,98,101,32,99,111
  950.  FCB 110,115,116,97,110,116,32,101,120,112
  951.  FCB 114,101,115,115,105,111,110,0
  952.  GLOBAL constant
  953. constant
  954.  LDD  2,S
  955.  PSHS D
  956.  JSR number
  957.  LEAS 2,S
  958.  CMPD #0
  959.  LBEQ cc57
  960.  JSR immed
  961.  JMP cc58
  962. cc57
  963.  LDD  2,S
  964.  PSHS D
  965.  JSR pstr
  966.  LEAS 2,S
  967.  CMPD #0
  968.  LBEQ cc59
  969.  JSR immed
  970.  JMP cc60
  971. cc59
  972.  LDD  2,S
  973.  PSHS D
  974.  JSR qstr
  975.  LEAS 2,S
  976.  CMPD #0
  977.  LBEQ cc61
  978.  JSR immed
  979.  LDD  litlab
  980.  PSHS D
  981.  JSR printlab
  982.  LEAS 2,S
  983.  LDD  #43
  984.  PSHS D
  985.  JSR outbyte
  986.  LEAS 2,S
  987.  JMP cc62
  988. cc61
  989.  LDD  #0
  990.  RTS
  991. cc62
  992. cc60
  993. cc58
  994.  LDD  2,S
  995.  PSHS D
  996.  LDD  #0
  997.  PSHS D
  998.  ADDD ,S++
  999.  ADDD ,S++
  1000.  PSHS D
  1001.  LDD  [,S++]
  1002.  PSHS D
  1003.  JSR outdec
  1004.  LEAS 2,S
  1005.  JSR nl
  1006.  LDD  #1
  1007.  RTS
  1008.  GLOBAL number
  1009. number
  1010.  LEAS -5,S
  1011.  LEAY 3,S
  1012.  TFR  Y,D
  1013.  PSHS D
  1014.  LDD  #1
  1015.  STD  3,S
  1016.  STD  [,S++]
  1017. cc63
  1018.  LDD  3,S
  1019.  CMPD #0
  1020.  LBEQ cc64
  1021.  LDD  #0
  1022.  STD  3,S
  1023.  LDD  #cc56+0
  1024.  PSHS D
  1025.  JSR match
  1026.  LEAS 2,S
  1027.  CMPD #0
  1028.  LBEQ cc65
  1029.  LDD  #1
  1030.  STD  3,S
  1031. cc65
  1032.  LDD  #cc56+2
  1033.  PSHS D
  1034.  JSR match
  1035.  LEAS 2,S
  1036.  CMPD #0
  1037.  LBEQ cc66
  1038.  LEAY 1,S
  1039.  TFR  Y,D
  1040.  PSHS D
  1041.  LDD  3,S
  1042.  COMA
  1043.  COMB
  1044.  ADDD #1
  1045.  STD  [,S++]
  1046.  LDD  #1
  1047.  STD  3,S
  1048. cc66
  1049.  JMP cc63
  1050. cc64
  1051.  JSR ch
  1052.  PSHS D
  1053.  JSR numeric
  1054.  LEAS 2,S
  1055.  PSHS D
  1056.  LDD  #0
  1057.  CMPD ,S++
  1058.  LBNE cc67
  1059.  LDD  #0
  1060.  LEAS 5,S
  1061.  RTS
  1062. cc67
  1063.  LDD  #cc56+4
  1064.  PSHS D
  1065.  JSR match
  1066.  LEAS 2,S
  1067.  CMPD #0
  1068.  LBEQ cc68
  1069.  LDD  #cc56+6
  1070.  PSHS D
  1071.  JSR match
  1072.  LEAS 2,S
  1073.  PSHS D
  1074.  LDD  #cc56+8
  1075.  PSHS D
  1076.  JSR match
  1077.  LEAS 2,S
  1078.  ORA  ,S+
  1079.  ORB  ,S+
  1080.  CMPD #0
  1081.  LBEQ cc69
  1082. cc70
  1083.  LEAY 0,S
  1084.  TFR  Y,D
  1085.  PSHS D
  1086.  JSR ch
  1087.  PSHS D
  1088.  JSR upper
  1089.  LEAS 2,S
  1090.  STB  [,S++]
  1091.  PSHS D
  1092.  JSR numeric
  1093.  LEAS 2,S
  1094.  CMPD #1
  1095.  LBEQ cc72
  1096.  LDB  0,S
  1097.  SEX
  1098.  PSHS D
  1099.  LDD  #65
  1100.  CMPD ,S++
  1101.  BLE  *+8
  1102.  LDD  #0
  1103.  JMP cc73 _
  1104.  LDD  #1
  1105.  LDB  0,S
  1106.  SEX
  1107.  PSHS D
  1108.  LDD  #70
  1109.  CMPD ,S++
  1110.  BGE  *+8
  1111.  LDD  #0
  1112.  JMP cc73 _
  1113.  LDD  #1
  1114.  LDD  #1
  1115. cc73
  1116.  CMPD #1
  1117.  LBEQ cc72
  1118.  LDD  #0
  1119.  JMP cc74
  1120. cc72
  1121.  LDD  #1
  1122. cc74
  1123.  CMPD #0
  1124.  LBEQ cc71
  1125.  LDB  0,S
  1126.  SEX
  1127.  PSHS D
  1128.  JSR numeric
  1129.  LEAS 2,S
  1130.  CMPD #0
  1131.  LBEQ cc75
  1132.  LEAY 0,S
  1133.  TFR  Y,D
  1134.  PSHS D
  1135.  LDB  2,S
  1136.  SEX
  1137.  PSHS D
  1138.  LDD  #48
  1139.  PULS X
  1140.  PSHS D
  1141.  TFR  X,D
  1142.  SUBD ,S++
  1143.  STB  [,S++]
  1144.  JMP cc76
  1145. cc75
  1146.  LEAY 0,S
  1147.  TFR  Y,D
  1148.  PSHS D
  1149.  LDB  2,S
  1150.  SEX
  1151.  PSHS D
  1152.  LDD  #55
  1153.  PULS X
  1154.  PSHS D
  1155.  TFR  X,D
  1156.  SUBD ,S++
  1157.  STB  [,S++]
  1158. cc76
  1159.  LEAY 3,S
  1160.  TFR  Y,D
  1161.  PSHS D
  1162.  LDD  5,S
  1163.  PSHS D
  1164.  LDD  #4
  1165.  DECB
  1166.  BLT  *+8
  1167.  ASL  1,S
  1168.  ROL  ,S
  1169.  BRA  *-7
  1170.  PULS D
  1171.  PSHS D
  1172.  LDB  4,S
  1173.  SEX
  1174.  ADDD ,S++
  1175.  STD  [,S++]
  1176.  JSR inbyte
  1177.  JMP cc70
  1178. cc71
  1179.  JMP cc77
  1180. cc69
  1181. cc78
  1182.  JSR ch
  1183.  PSHS D
  1184.  LDD  #48
  1185.  CMPD ,S++
  1186.  BLE  *+8
  1187.  LDD  #0
  1188.  JMP cc80 _
  1189.  LDD  #1
  1190.  JSR ch
  1191.  PSHS D
  1192.  LDD  #55
  1193.  CMPD ,S++
  1194.  BGE  *+8
  1195.  LDD  #0
  1196.  JMP cc80 _
  1197.  LDD  #1
  1198.  LDD  #1
  1199. cc80
  1200.  CMPD #0
  1201.  LBEQ cc79
  1202.  LEAY 0,S
  1203.  TFR  Y,D
  1204.  PSHS D
  1205.  JSR inbyte
  1206.  STB  [,S++]
  1207.  LEAY 3,S
  1208.  TFR  Y,D
  1209.  PSHS D
  1210.  LDD  5,S
  1211.  PSHS D
  1212.  LDD  #3
  1213.  DECB
  1214.  BLT  *+8
  1215.  ASL  1,S
  1216.  ROL  ,S
  1217.  BRA  *-7
  1218.  PULS D
  1219.  PSHS D
  1220.  LDB  4,S
  1221.  SEX
  1222.  ADDD ,S++
  1223.  PSHS D
  1224.  LDD  #48
  1225.  PULS X
  1226.  PSHS D
  1227.  TFR  X,D
  1228.  SUBD ,S++
  1229.  STD  [,S++]
  1230.  JMP cc78
  1231. cc79
  1232. cc77
  1233.  JMP cc81
  1234. cc68
  1235. cc82
  1236.  JSR ch
  1237.  PSHS D
  1238.  JSR numeric
  1239.  LEAS 2,S
  1240.  CMPD #0
  1241.  LBEQ cc83
  1242.  LEAY 0,S
  1243.  TFR  Y,D
  1244.  PSHS D
  1245.  JSR inbyte
  1246.  STB  [,S++]
  1247.  LEAY 3,S
  1248.  TFR  Y,D
  1249.  PSHS D
  1250.  LDD  5,S
  1251.  PSHS D
  1252.  LDD  #10
  1253.  PULS X
  1254.  JSR ccmult
  1255.  PSHS D
  1256.  LDB  4,S
  1257.  SEX
  1258.  PSHS D
  1259.  LDD  #48
  1260.  PULS X
  1261.  PSHS D
  1262.  TFR  X,D
  1263.  SUBD ,S++
  1264.  ADDD ,S++
  1265.  STD  [,S++]
  1266.  JMP cc82
  1267. cc83
  1268. cc81
  1269.  LDD  1,S
  1270.  PSHS D
  1271.  LDD  #0
  1272.  CMPD ,S++
  1273.  LBLE cc84
  1274.  LEAY 3,S
  1275.  TFR  Y,D
  1276.  PSHS D
  1277.  LDD  5,S
  1278.  COMA
  1279.  COMB
  1280.  ADDD #1
  1281.  STD  [,S++]
  1282. cc84
  1283.  LDD  7,S
  1284.  PSHS D
  1285.  LDD  #0
  1286.  PSHS D
  1287.  ADDD ,S++
  1288.  ADDD ,S++
  1289.  PSHS D
  1290.  LDD  5,S
  1291.  STD  [,S++]
  1292.  LDD  #1
  1293.  LEAS 5,S
  1294.  RTS
  1295. cc56 FCB 43,0,45,0,48,0,120,0,88,0
  1296.  GLOBAL upper
  1297. upper
  1298.  LDB  3,S
  1299.  SEX
  1300.  PSHS D
  1301.  LDD  #97
  1302.  CMPD ,S++
  1303.  BLE  *+8
  1304.  LDD  #0
  1305.  JMP cc87 _
  1306.  LDD  #1
  1307.  LDB  3,S
  1308.  SEX
  1309.  PSHS D
  1310.  LDD  #122
  1311.  CMPD ,S++
  1312.  BGE  *+8
  1313.  LDD  #0
  1314.  JMP cc87 _
  1315.  LDD  #1
  1316.  LDD  #1
  1317. cc87
  1318.  CMPD #0
  1319.  LBEQ cc86
  1320.  LDB  3,S
  1321.  SEX
  1322.  PSHS D
  1323.  LDD  #32
  1324.  PULS X
  1325.  PSHS D
  1326.  TFR  X,D
  1327.  SUBD ,S++
  1328.  RTS
  1329. cc86
  1330.  LDB  3,S
  1331.  SEX
  1332.  RTS
  1333.  GLOBAL pstr
  1334. pstr
  1335.  LEAS -3,S
  1336.  LDD  #0
  1337.  STD  1,S
  1338.  LDD  #cc85+0
  1339.  PSHS D
  1340.  JSR match
  1341.  LEAS 2,S
  1342.  PSHS D
  1343.  LDD  #0
  1344.  CMPD ,S++
  1345.  LBNE cc88
  1346.  LDD  #0
  1347.  LEAS 3,S
  1348.  RTS
  1349. cc88
  1350. cc89
  1351.  JSR ch
  1352.  PSHS D
  1353.  LDD  #39
  1354.  CMPD ,S++
  1355.  LBEQ cc90
  1356.  LEAY 1,S
  1357.  TFR  Y,D
  1358.  PSHS D
  1359.  LDD  3,S
  1360.  PSHS D
  1361.  LDD  #255
  1362.  ANDA ,S+
  1363.  ANDB ,S+
  1364.  PSHS D
  1365.  LDD  #256
  1366.  PULS X
  1367.  JSR ccmult
  1368.  PSHS D
  1369.  JSR litchar
  1370.  PSHS D
  1371.  LDD  #255
  1372.  ANDA ,S+
  1373.  ANDB ,S+
  1374.  ADDD ,S++
  1375.  STD  [,S++]
  1376.  JMP cc89
  1377. cc90
  1378.  LDD  5,S
  1379.  PSHS D
  1380.  LDD  #0
  1381.  PSHS D
  1382.  ADDD ,S++
  1383.  ADDD ,S++
  1384.  PSHS D
  1385.  LDD  3,S
  1386.  STD  [,S++]
  1387.  JSR gch
  1388.  LDD  #1
  1389.  LEAS 3,S
  1390.  RTS
  1391. cc85 FCB 39,0
  1392.  GLOBAL qstr
  1393. qstr
  1394.  LEAS -1,S
  1395.  LDD  #quote
  1396.  PSHS D
  1397.  JSR match
  1398.  LEAS 2,S
  1399.  PSHS D
  1400.  LDD  #0
  1401.  CMPD ,S++
  1402.  LBNE cc92
  1403.  LDD  #0
  1404.  LEAS 1,S
  1405.  RTS
  1406. cc92
  1407.  LDD  3,S
  1408.  PSHS D
  1409.  LDD  #0
  1410.  PSHS D
  1411.  ADDD ,S++
  1412.  ADDD ,S++
  1413.  PSHS D
  1414.  LDD  litptr
  1415.  STD  [,S++]
  1416. cc93
  1417.  JSR ch
  1418.  PSHS D
  1419.  LDD  #34
  1420.  CMPD ,S++
  1421.  LBEQ cc94
  1422.  JSR ch
  1423.  PSHS D
  1424.  LDD  #0
  1425.  CMPD ,S++
  1426.  LBNE cc95
  1427.  JMP cc94
  1428. cc95
  1429.  LDD  litptr
  1430.  PSHS D
  1431.  LDD  #1000
  1432.  PSHS D
  1433.  LDD  #1
  1434.  PULS X
  1435.  PSHS D
  1436.  TFR  X,D
  1437.  SUBD ,S++
  1438.  CMPD ,S++
  1439.  LBGT cc96
  1440.  LDD  #cc91+0
  1441.  PSHS D
  1442.  JSR errrpt
  1443.  LEAS 2,S
  1444. cc97
  1445.  LDD  #quote
  1446.  PSHS D
  1447.  JSR match
  1448.  LEAS 2,S
  1449.  PSHS D
  1450.  LDD  #0
  1451.  CMPD ,S++
  1452.  LBNE cc98
  1453.  JSR gch
  1454.  PSHS D
  1455.  LDD  #0
  1456.  CMPD ,S++
  1457.  LBNE cc99
  1458.  JMP cc98
  1459. cc99
  1460.  JMP cc97
  1461. cc98
  1462.  LDD  #1
  1463.  LEAS 1,S
  1464.  RTS
  1465. cc96
  1466.  LDD  #litq
  1467.  PSHS D
  1468.  LDD  litptr
  1469.  ADDD #1
  1470.  STD  litptr
  1471.  SUBD #1
  1472.  ADDD ,S++
  1473.  PSHS D
  1474.  JSR litchar
  1475.  STB  [,S++]
  1476.  JMP cc93
  1477. cc94
  1478.  JSR gch
  1479.  LDD  #litq
  1480.  PSHS D
  1481.  LDD  litptr
  1482.  ADDD #1
  1483.  STD  litptr
  1484.  SUBD #1
  1485.  ADDD ,S++
  1486.  PSHS D
  1487.  LDD  #0
  1488.  STB  [,S++]
  1489.  LDD  #1
  1490.  LEAS 1,S
  1491.  RTS
  1492. cc91 FCB 115,116,114,105,110,103,32,115,112,97
  1493.  FCB 99,101,32,101,120,104,97,117,115,116
  1494.  FCB 101,100,0
  1495.  GLOBAL stowlit
  1496. stowlit
  1497.  LDD  litptr
  1498.  PSHS D
  1499.  LDD  4,S
  1500.  ADDD ,S++
  1501.  PSHS D
  1502.  LDD  #1000
  1503.  PSHS D
  1504.  LDD  #1
  1505.  PULS X
  1506.  PSHS D
  1507.  TFR  X,D
  1508.  SUBD ,S++
  1509.  CMPD ,S++
  1510.  LBGT cc101
  1511.  LDD  #cc100+0
  1512.  PSHS D
  1513.  JSR errrpt
  1514.  LEAS 2,S
  1515.  LDD  #0
  1516.  PSHS D
  1517.  JSR exit
  1518.  LEAS 2,S
  1519. cc101
  1520.  LDD  4,S
  1521.  PSHS D
  1522.  LDD  #litq
  1523.  ADDD litptr
  1524.  PSHS D
  1525.  LDD  6,S
  1526.  PSHS D
  1527.  JSR putint
  1528.  LEAS 6,S
  1529.  LDD  litptr
  1530.  PSHS D
  1531.  LDD  4,S
  1532.  ADDD ,S++
  1533.  STD  litptr
  1534.  RTS
  1535. cc100 FCB 108,105,116,101,114,97,108,32,113,117
  1536.  FCB 101,32,111,118,101,114,102,108,111,119
  1537.  FCB 0
  1538.  GLOBAL litchar
  1539. litchar
  1540.  LEAS -4,S
  1541.  JSR ch
  1542.  PSHS D
  1543.  LDD  #92
  1544.  CMPD ,S++
  1545.  BNE  *+7
  1546.  LDD  #0
  1547.  BRA  *+5
  1548.  LDD  #1
  1549.  PSHS D
  1550.  JSR nch
  1551.  PSHS D
  1552.  LDD  #0
  1553.  CMPD ,S++
  1554.  BEQ  *+7
  1555.  LDD  #0
  1556.  BRA  *+5
  1557.  LDD  #1
  1558.  ORA  ,S+
  1559.  ORB  ,S+
  1560.  CMPD #0
  1561.  LBEQ cc103
  1562.  JSR gch
  1563.  LEAS 4,S
  1564.  RTS
  1565. cc103
  1566.  JSR gch
  1567.  JSR ch
  1568.  PSHS D
  1569.  LDD  #110
  1570.  CMPD ,S++
  1571.  LBNE cc104
  1572.  JSR gch
  1573.  LDD  #13
  1574.  LEAS 4,S
  1575.  RTS
  1576. cc104
  1577.  JSR ch
  1578.  PSHS D
  1579.  LDD  #116
  1580.  CMPD ,S++
  1581.  LBNE cc105
  1582.  JSR gch
  1583.  LDD  #9
  1584.  LEAS 4,S
  1585.  RTS
  1586. cc105
  1587.  JSR ch
  1588.  PSHS D
  1589.  LDD  #98
  1590.  CMPD ,S++
  1591.  LBNE cc106
  1592.  JSR gch
  1593.  LDD  #8
  1594.  LEAS 4,S
  1595.  RTS
  1596. cc106
  1597.  JSR ch
  1598.  PSHS D
  1599.  LDD  #102
  1600.  CMPD ,S++
  1601.  LBNE cc107
  1602.  JSR gch
  1603.  LDD  #12
  1604.  LEAS 4,S
  1605.  RTS
  1606. cc107
  1607.  JSR ch
  1608.  PSHS D
  1609.  LDD  #92
  1610.  CMPD ,S++
  1611.  LBNE cc108
  1612.  JSR gch
  1613.  LDD  #92
  1614.  LEAS 4,S
  1615.  RTS
  1616. cc108
  1617.  JSR ch
  1618.  PSHS D
  1619.  LDD  #39
  1620.  CMPD ,S++
  1621.  LBNE cc109
  1622.  JSR gch
  1623.  LDD  #39
  1624.  LEAS 4,S
  1625.  RTS
  1626. cc109
  1627.  JSR ch
  1628.  PSHS D
  1629.  LDD  #114
  1630.  CMPD ,S++
  1631.  LBNE cc110
  1632.  JSR gch
  1633.  LDD  #13
  1634.  LEAS 4,S
  1635.  RTS
  1636. cc110
  1637.  LDD  #3
  1638.  STD  2,S
  1639.  LDD  #0
  1640.  STD  0,S
  1641. cc111
  1642.  LDD  2,S
  1643.  SUBD #1
  1644.  STD  2,S
  1645.  ADDD #1
  1646.  PSHS D
  1647.  LDD  #0
  1648.  CMPD ,S++
  1649.  BLT  *+8
  1650.  LDD  #0
  1651.  JMP cc113 _
  1652.  LDD  #1
  1653.  JSR ch
  1654.  PSHS D
  1655.  LDD  #48
  1656.  CMPD ,S++
  1657.  BLE  *+8
  1658.  LDD  #0
  1659.  JMP cc113 _
  1660.  LDD  #1
  1661.  LDD  #1
  1662. cc113
  1663.  CMPD #0
  1664.  LBEQ cc114 _
  1665.  JSR ch
  1666.  PSHS D
  1667.  LDD  #55
  1668.  CMPD ,S++
  1669.  BGE  *+8
  1670.  LDD  #0
  1671.  JMP cc114 _
  1672.  LDD  #1
  1673.  LDD  #1
  1674. cc114
  1675.  CMPD #0
  1676.  LBEQ cc112
  1677.  LEAY 0,S
  1678.  TFR  Y,D
  1679.  PSHS D
  1680.  LDD  2,S
  1681.  PSHS D
  1682.  LDD  #3
  1683.  DECB
  1684.  BLT  *+8
  1685.  ASL  1,S
  1686.  ROL  ,S
  1687.  BRA  *-7
  1688.  PULS D
  1689.  PSHS D
  1690.  JSR gch
  1691.  ADDD ,S++
  1692.  PSHS D
  1693.  LDD  #48
  1694.  PULS X
  1695.  PSHS D
  1696.  TFR  X,D
  1697.  SUBD ,S++
  1698.  STD  [,S++]
  1699.  JMP cc111
  1700. cc112
  1701.  LDD  2,S
  1702.  PSHS D
  1703.  LDD  #2
  1704.  CMPD ,S++
  1705.  LBNE cc115
  1706.  JSR gch
  1707.  LEAS 4,S
  1708.  RTS
  1709. cc115
  1710.  LDD  0,S
  1711.  LEAS 4,S
  1712.  RTS
  1713. cc116
  1714.  LEAS 4,S
  1715.  RTS
  1716.  END
  1717.