home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol043 / tincmp.mac < prev    next >
Text File  |  1984-04-29  |  20KB  |  1,834 lines

  1.     EXTRN    ?MSG
  2.     EXTRN    ?BOOT,?INIT,?ENDING
  3.     COMMON    /IOCTRL/
  4. .ER:    DB    0
  5. .AC:    DB    0
  6. .IAV:    DW    0,0,0,0,0,0
  7.     COMMON    /      / 
  8. .KLF    EQU    10
  9. .KCR    EQU    13
  10. .KEF    EQU    26
  11. .AA:    DS    1
  12. .BB:    DS    1
  13. .DD:    DS    1
  14. .EE:    DS    1
  15. .BF:    DS    80
  16. .BL:    DS    1
  17. .BP:    DS    1
  18. .C0:    DS    1
  19. .C1:    DS    1
  20. .C2:    DS    1
  21. .C3:    DS    1
  22. .C4:    DS    1
  23. .C8:    DS    1
  24. .C9:    DS    1
  25. .CC:    DS    1
  26. .CX:    DS    1
  27. .DG:    DS    1
  28. .DS:    DS    10
  29. .EF:    DS    1
  30. .F1:    DS    128
  31. .F2:    DS    128
  32. .HA:    DS    1
  33. .HF:    DS    1
  34. .LE:    DS    1
  35. .LF:    DS    1
  36. .LS:    DS    9000
  37. .MF:    DS    1
  38. .ML:    DS    1
  39. .MM:    DS    1
  40. .ND:    DS    1
  41. .NL:    DS    1
  42. .O1:    DS    1
  43. .O2:    DS    1
  44. .O3:    DS    1
  45. .OA:    DS    1
  46. .OB:    DS    1
  47. .OC:    DS    1
  48. .OD:    DS    1
  49. .OE:    DS    1
  50. .OG:    DS    1
  51. .OH:    DS    1
  52. .OL:    DS    1
  53. .OM:    DS    1
  54. .ON:    DS    1
  55. .OP:    DS    1
  56. .OR:    DS    1
  57. .OS:    DS    1
  58. .OT:    DS    1
  59. .PP:    DS    1
  60. .RB:    DS    1
  61. .RC:    DS    1
  62. .SF:    DS    1
  63. .SP:    DS    1
  64. .TR:    DS    1
  65. .UG:    DS    1
  66. .UN:    DS    1
  67. .UO:    DS    1
  68. .UT:    DS    1
  69. .ZR:    DS    1
  70. .I00:    DS    2
  71. .I01:    DS    2
  72. .I09:    DS    2
  73. .I10:    DS    2
  74. .I16:    DS    2
  75. .IAA:    DS    2
  76. .IBB:    DS    2
  77. .IBC:    DS    2
  78. .IDP:    DS    2
  79. .IED:    DS    2
  80. .III:    DS    2
  81. .IJJ:    DS    2
  82. .ILM:    DS    2
  83. .ILP:    DS    2*1000
  84. .IMP:    DS    2
  85. .INM:    DS    2
  86. .IPR:    DS    2*10
  87. .ISS:    DS    2*40
  88. .ITU:    DS    2
  89. .IUU:    DS    2
  90. .IXX:    DS    2
  91. .IYY:    DS    2
  92.     DSEG
  93. .ERASER.: DB    0
  94.     CSEG
  95. ?SETAC:    MVI    A,1
  96.     RM
  97.     RZ
  98.     XRA    A
  99.     RET
  100. ?INTCK:    MVI    B,1
  101.     LDAX    D
  102.     CMP    M
  103.     JNZ    $+8
  104.     INX    H
  105.     INX    D
  106.     LDAX    D
  107.     XRA    M
  108.     RZ
  109.     MOV    A,B
  110.     RET
  111. ?START:    LXI    SP,?STACK
  112.     CALL    ?INIT
  113.     MVI    A,.KCR
  114.     STA    .NL
  115.     MVI    A,.KLF
  116.     STA    .LF
  117.     CALL    ..CR
  118.     CALL    ?MSG
  119.     DB    'COPYRIGHT'
  120.     CALL    ?MSG
  121.     DB    ' (C) 1981'
  122.     CALL    ?MSG
  123.     DB    ' W.A.GALE'
  124.     CALL    ..CR
  125.     CALL    ?MSG
  126.     DB    '8080 TINC'
  127.     CALL    ?MSG
  128.     DB    'MP COMPIL'
  129.     CALL    ?MSG
  130.     DB    'ER CP/M V'
  131.     CALL    ?MSG
  132.     DB    'ERSION 1.'
  133.     CALL    ?MSG
  134.     DB    '05/TINCMP'
  135.     CALL    ..CR
  136.     CALL    ?MSG
  137.     DB    'COPYRIGHT'
  138.     CALL    ?MSG
  139.     DB    ' (C) 1981'
  140.     CALL    ?MSG
  141.     DB    ' A L BEND'
  142.     CALL    ?MSG
  143.     DB    'ER, MD   '
  144.     CALL    ..CR
  145.     CALL    ..IN
  146.     CALL    ..RM
  147. ?LL000:
  148. .X100:
  149.     LXI    H,.CC
  150.     LXI    D,.F1
  151.     CALL    ?BREAD
  152.     EXTRN    ?BREAD
  153.     LXI    H,.ER
  154.     LDA    .C0
  155.     CMP    M
  156.     JZ    $+5
  157.     XRA    A
  158.     LXI    B,013EH
  159.     STA    .AA
  160.     LDA    .AA
  161.     ORA    A
  162.     JZ    .W100
  163.     LDA    .UG
  164.     ORA    A
  165.     JZ    .F101
  166. .X102:
  167.     LXI    H,.CC
  168.     LDA    .NL
  169.     CMP    M
  170.     JZ    $+5
  171.     XRA    A
  172.     LXI    B,013EH
  173.     STA    .BB
  174.     LXI    H,.CC
  175.     LDA    .LF
  176.     CMP    M
  177.     JZ    $+5
  178.     XRA    A
  179.     LXI    B,013EH
  180.     STA    .DD
  181.     LXI    H,.CC
  182.     LDA    .OG
  183.     CMP    M
  184.     JZ    $+5
  185.     XRA    A
  186.     LXI    B,013EH
  187.     STA    .AA
  188.     LXI    H,.DD
  189.     LDA    .BB
  190.     ORA    M
  191.     STA    .EE
  192.     LXI    H,.CC
  193.     LDA    .BL
  194.     CMP    M
  195.     JZ    $+5
  196.     XRA    A
  197.     LXI    B,013EH
  198.     STA    .BB
  199.     LXI    H,.AA
  200.     LDA    .BB
  201.     ORA    M
  202.     STA    .AA
  203.     LXI    H,.AA
  204.     LDA    .EE
  205.     ORA    M
  206.     STA    .AA
  207.     LDA    .AA
  208.     ORA    A
  209.     JZ    .W102
  210.     CALL    ..GC
  211.     JMP    .X102
  212. .W102:
  213. .F101:
  214.     LDA    .C1
  215.     STA    .BP
  216.     LHLD    .C0
  217.     MVI    H,0
  218.     LXI    D,.BF
  219.     DAD    D
  220.     LDA    .CC
  221.     MOV    M,A
  222. .X103:
  223.     CALL    ..GC
  224.     LXI    H,.CC
  225.     LDA    .NL
  226.     CMP    M
  227.     JZ    $+5
  228.     XRA    A
  229.     LXI    B,013EH
  230.     STA    .AA
  231.     LDA    .AA
  232.     ORA    A
  233.     JZ    .F104
  234.     CALL    ..GC
  235.     LXI    H,.CC
  236.     LDA    .LF
  237.     CMP    M
  238.     JZ    $+5
  239.     XRA    A
  240.     LXI    B,013EH
  241.     STA    .AA
  242.     LDA    .AA
  243.     ORA    A
  244.     JZ    .F105
  245.     LDA    .NL
  246.     STA    .CC
  247. .F105:
  248. .F104:
  249.     LXI    H,.NL
  250.     LDA    .CC
  251.     CMP    M
  252.     JNZ    $+5
  253.     XRA    A
  254.     LXI    B,013EH
  255.     STA    .AA
  256.     LXI    H,.C8
  257.     LDA    .BP
  258.     CMP    M
  259.     JNZ    $+5
  260.     XRA    A
  261.     LXI    B,013EH
  262.     STA    .BB
  263.     LXI    H,.BB
  264.     LDA    .AA
  265.     ANA    M
  266.     STA    .AA
  267.     LDA    .AA
  268.     ORA    A
  269.     JZ    .W103
  270.     LHLD    .BP
  271.     MVI    H,0
  272.     LXI    D,.BF
  273.     DAD    D
  274.     LDA    .CC
  275.     MOV    M,A
  276.     LXI    H,.BP
  277.     INR    M
  278.     JMP    .X103
  279. .W103:
  280. .X106:
  281.     LXI    H,.NL
  282.     LDA    .CC
  283.     CMP    M
  284.     JNZ    $+5
  285.     XRA    A
  286.     LXI    B,013EH
  287.     STA    .AA
  288.     LDA    .AA
  289.     ORA    A
  290.     JZ    .W106
  291.     CALL    ..GC
  292.     JMP    .X106
  293. .W106:
  294.     LHLD    .BP
  295.     MVI    H,0
  296.     LXI    D,.BF
  297.     DAD    D
  298.     LDA    .RC
  299.     MOV    M,A
  300.     LXI    H,.BP
  301.     INR    M
  302.     LHLD    .BP
  303.     MVI    H,0
  304.     LXI    D,.BF
  305.     DAD    D
  306.     LDA    .NL
  307.     MOV    M,A
  308.     LDA    .BP
  309.     STA    .LE
  310.     LXI    H,.MM
  311.     LDA    .BP
  312.     CMP    M
  313.     CALL    ?SETAC
  314.     STA    .AA
  315.     LDA    .AA
  316.     ORA    A
  317.     JZ    .F107
  318.     XRA    A
  319.     STA    .ML
  320.     JMP    ?LL017
  321.     JMP    .F108
  322. .F107:
  323.     MVI    A,1
  324.     STA    .ML
  325. .F108:
  326.     LHLD    .I00
  327.     SHLD    .IDP
  328.     LDA    .C0
  329.     STA    .PP
  330.     LHLD    .I00
  331.     SHLD    .IJJ
  332.     LHLD    .C0
  333.     MVI    H,0
  334.     SHLD    .INM
  335. .X109:
  336.     LHLD    .IED
  337.     XCHG
  338.     LHLD    .IDP
  339.     CALL    ?CDEHL
  340.     EXTRN    ?CDEHL
  341.     RAL
  342.     ANI    1
  343.     STA    .AA
  344.     LDA    .AA
  345.     ORA    A
  346.     JZ    .W109
  347.     LDA    .C0
  348.     STA    .BP
  349. .X110:
  350.     LXI    H,.LE
  351.     LDA    .BP
  352.     CMP    M
  353.     CALL    ?SETAC
  354.     STA    .AA
  355.     LDA    .AA
  356.     ORA    A
  357.     JZ    .W110
  358.     LHLD    .IJJ
  359.     LXI    D,.LS
  360.     DAD    D
  361.     MOV    A,M
  362.     STA    .AA
  363.     LXI    H,.AA
  364.     LDA    .RC
  365.     CMP    M
  366.     JZ    $+5
  367.     XRA    A
  368.     LXI    B,013EH
  369.     STA    .AA
  370.     LHLD    .BP
  371.     MVI    H,0
  372.     LXI    D,.BF
  373.     DAD    D
  374.     MOV    A,M
  375.     STA    .O3
  376.     LXI    H,.O3
  377.     LDA    .RC
  378.     CMP    M
  379.     JZ    $+5
  380.     XRA    A
  381.     LXI    B,013EH
  382.     STA    .O3
  383.     LXI    H,.O3
  384.     LDA    .AA
  385.     ANA    M
  386.     STA    .AA
  387.     LDA    .AA
  388.     ORA    A
  389.     JZ    .F111
  390.     CALL    ..DM
  391.     JMP    ?LL000
  392.     JMP    .F112
  393. .F111:
  394.     LHLD    .BP
  395.     MVI    H,0
  396.     LXI    D,.BF
  397.     DAD    D
  398.     MOV    A,M
  399.     STA    .AA
  400.     LHLD    .IJJ
  401.     LXI    D,.LS
  402.     DAD    D
  403.     MOV    A,M
  404.     STA    .BB
  405.     LXI    H,.AA
  406.     LDA    .BB
  407.     CMP    M
  408.     JZ    $+5
  409.     XRA    A
  410.     LXI    B,013EH
  411.     STA    .AA
  412.     LDA    .AA
  413.     ORA    A
  414.     JZ    .F113
  415.     JMP    ?LL001
  416.     JMP    .F114
  417. .F113:
  418.     LXI    H,.SF
  419.     LDA    .BB
  420.     CMP    M
  421.     JNZ    $+5
  422.     XRA    A
  423.     LXI    B,013EH
  424.     STA    .AA
  425.     LDA    .AA
  426.     ORA    A
  427.     JZ    .F115
  428.     JMP    ?LL010
  429.     JMP    .F116
  430. .F115:
  431.     LXI    H,.PP
  432.     INR    M
  433.     LHLD    .BP
  434.     MVI    H,0
  435.     LXI    D,.BF
  436.     DAD    D
  437.     MOV    A,M
  438.     STA    .AA
  439.     LHLD    .AA
  440.     MVI    H,0
  441.     SHLD    .IAA
  442.     LHLD    .PP
  443.     MVI    H,0
  444.     DAD    H
  445.     LXI    D,.IPR
  446.     DAD    D
  447.     LXI    D,.IAA
  448.     LDAX    D
  449.     MOV    M,A
  450.     INX    D
  451.     INX    H
  452.     LDAX    D
  453.     MOV    M,A
  454. .F116:
  455. .F114:
  456. .F112:
  457. ?LL001:
  458.     LXI    H,.BP
  459.     INR    M
  460.     LHLD    .IJJ
  461.     INX    H
  462.     SHLD    .IJJ
  463.     JMP    .X110
  464. .W110:
  465. ?LL010:
  466.     LDA    .C0
  467.     STA    .PP
  468.     LHLD    .INM
  469.     INX    H
  470.     SHLD    .INM
  471.     LHLD    .INM
  472.     LXI    D,.ILP
  473.     DAD    H
  474.     DAD    D
  475.     MOV    E,M
  476.     INX    H
  477.     MOV    D,M
  478.     XCHG
  479.     SHLD    .IDP
  480.     LHLD    .IDP
  481.     SHLD    .IJJ
  482.     JMP    .X109
  483. .W109:
  484. ?LL017:
  485.     LDA    .C0
  486.     STA    .BP
  487. .X117:
  488.     LHLD    .BP
  489.     MVI    H,0
  490.     LXI    D,.BF
  491.     DAD    D
  492.     MOV    A,M
  493.     STA    .CC
  494.     LXI    H,.C1
  495.     LDA    .BP
  496.     ADD    M
  497.     STA    .O1
  498.     LHLD    .O1
  499.     MVI    H,0
  500.     LXI    D,.BF
  501.     DAD    D
  502.     MOV    A,M
  503.     STA    .AA
  504.     LXI    H,.NL
  505.     LDA    .AA
  506.     CMP    M
  507.     JNZ    $+5
  508.     XRA    A
  509.     LXI    B,013EH
  510.     STA    .AA
  511.     LDA    .AA
  512.     ORA    A
  513.     JZ    .W117
  514.     LDA    .ML
  515.     ORA    A
  516.     JZ    .F118
  517.     LDA    .CC
  518.     CALL    ?WRNXT
  519.     EXTRN    ?WRNXT
  520. .F118:
  521.     LDA    .CC
  522.     LXI    D,.F2
  523.     CALL    ?BWRIT
  524.     EXTRN    ?BWRIT
  525.     LXI    H,.BP
  526.     INR    M
  527.     JMP    .X117
  528. .W117:
  529.     LDA    .ML
  530.     ORA    A
  531.     JZ    .F119
  532.     CALL    ..CR
  533. .F119:
  534.     LDA    .UN
  535.     ORA    A
  536.     JZ    .F120
  537.     LDA    .NL
  538.     LXI    D,.F2
  539.     CALL    ?BWRIT
  540.     EXTRN    ?BWRIT
  541.     LDA    .LF
  542.     LXI    D,.F2
  543.     CALL    ?BWRIT
  544.     EXTRN    ?BWRIT
  545. .F120:
  546.     JMP    .X100
  547. .W100:
  548. ?LL088:
  549.     CALL    ?MSG
  550.     DB    'TINCMP CO'
  551.     CALL    ?MSG
  552.     DB    'MPILATION'
  553.     CALL    ?MSG
  554.     DB    ' FINISHED'
  555.     CALL    ..CR
  556.     LXI    H,.F1
  557.     CALL    ?BCLOF
  558.     EXTRN    ?BCLOF
  559.     LXI    H,.F2
  560.     CALL    ?BCLOF
  561.     EXTRN    ?BCLOF
  562.     CALL    ?ENDING
  563.     JMP    ?BOOT
  564. ..GC:
  565.     LXI    H,.CC
  566.     LXI    D,.F1
  567.     CALL    ?BREAD
  568.     EXTRN    ?BREAD
  569.     LXI    H,.C0
  570.     LDA    .ER
  571.     CMP    M
  572.     JNZ    $+5
  573.     XRA    A
  574.     LXI    B,013EH
  575.     STA    .AA
  576.     LDA    .AA
  577.     ORA    A
  578.     JZ    .F121
  579.     JMP    ?LL088
  580. .F121:
  581.     LXI    H,.CC
  582.     LDA    .EF
  583.     CMP    M
  584.     JZ    $+5
  585.     XRA    A
  586.     LXI    B,013EH
  587.     STA    .AA
  588.     LDA    .AA
  589.     ORA    A
  590.     JZ    .F122
  591.     JMP    ?LL088
  592. .F122:
  593.     RET
  594. ..SD:
  595.     LHLD    .I00
  596.     XCHG
  597.     LHLD    .ITU
  598.     CALL    ?CDEHL
  599.     EXTRN    ?CDEHL
  600.     RAL
  601.     ANI    1
  602.     STA    .AA
  603.     LDA    .AA
  604.     ORA    A
  605.     JZ    .F123
  606.     MVI    A,1
  607.     STA    .BB
  608.     LHLD    .ITU
  609.     CALL    ?ICOMP
  610.     EXTRN    ?ICOMP
  611.     SHLD    .ITU
  612.     JMP    .F124
  613. .F123:
  614.     XRA    A
  615.     STA    .BB
  616. .F124:
  617.     LXI    D,.I00
  618.     LHLD    .ITU
  619.     LDAX    D
  620.     XRA    L
  621.     JNZ    $+12
  622.     INX    D
  623.     LDAX    D
  624.     XRA    H
  625.     JNZ    $+6
  626.     MVI    A,1
  627.     LXI    B,003EH
  628.     STA    .AA
  629.     LDA    .AA
  630.     ORA    A
  631.     JZ    .F125
  632.     LDA    .C1
  633.     STA    .ND
  634.     LHLD    .C0
  635.     MVI    H,0
  636.     LXI    D,.DS
  637.     DAD    D
  638.     LDA    .ZR
  639.     MOV    M,A
  640.     JMP    .F126
  641. .F125:
  642.     LDA    .C0
  643.     STA    .ND
  644. .X127:
  645.     LHLD    .ITU
  646.     XCHG
  647.     LHLD    .I00
  648.     CALL    ?CDEHL
  649.     EXTRN    ?CDEHL
  650.     RAL
  651.     ANI    1
  652.     STA    .AA
  653.     LDA    .AA
  654.     ORA    A
  655.     JZ    .W127
  656.     LHLD    .I10
  657.     XCHG
  658.     LHLD    .ITU
  659.     CALL    ?IDIV
  660.     EXTRN    ?IDIV
  661.     SHLD    .IYY
  662.     LHLD    .IYY
  663.     XCHG
  664.     LHLD    .I10
  665.     CALL    ?IMUL
  666.     EXTRN    ?IMUL
  667.     SHLD    .IAA
  668.     LHLD    .IAA
  669.     XCHG
  670.     LHLD    .ITU
  671.     CALL    ?ISUB
  672.     EXTRN    ?ISUB
  673.     SHLD    .IXX
  674.     LHLD    .IYY
  675.     SHLD    .ITU
  676.     LDA    .IXX
  677.     STA    .AA
  678.     LXI    H,.ZR
  679.     LDA    .AA
  680.     ADD    M
  681.     STA    .AA
  682.     LHLD    .ND
  683.     MVI    H,0
  684.     LXI    D,.DS
  685.     DAD    D
  686.     LDA    .AA
  687.     MOV    M,A
  688.     LXI    H,.ND
  689.     INR    M
  690.     JMP    .X127
  691. .W127:
  692. .F126:
  693.     LHLD    .ND
  694.     MVI    H,0
  695.     LXI    D,.DS
  696.     DAD    D
  697.     LDA    .OR
  698.     MOV    M,A
  699.     LXI    H,.BB
  700.     LDA    .ND
  701.     ADD    M
  702.     STA    .ND
  703.     RET
  704. ..WN:
  705.     CALL    ..SD
  706. .X128:
  707.     LHLD    .ND
  708.     MVI    H,0
  709.     SHLD    .IAA
  710.     LHLD    .IAA
  711.     XCHG
  712.     LHLD    .I00
  713.     CALL    ?CDEHL
  714.     EXTRN    ?CDEHL
  715.     RAL
  716.     ANI    1
  717.     STA    .AA
  718.     LDA    .AA
  719.     ORA    A
  720.     JZ    .W128
  721.     LXI    H,.ND
  722.     DCR    M
  723.     LHLD    .ND
  724.     MVI    H,0
  725.     LXI    D,.DS
  726.     DAD    D
  727.     MOV    A,M
  728.     STA    .AA
  729.     LDA    .AA
  730.     LXI    D,.F2
  731.     CALL    ?BWRIT
  732.     EXTRN    ?BWRIT
  733.     JMP    .X128
  734. .W128:
  735.     RET
  736. ..PN:
  737.     CALL    ..SD
  738. .X129:
  739.     LHLD    .ND
  740.     MVI    H,0
  741.     SHLD    .IAA
  742.     LHLD    .IAA
  743.     XCHG
  744.     LHLD    .I00
  745.     CALL    ?CDEHL
  746.     EXTRN    ?CDEHL
  747.     RAL
  748.     ANI    1
  749.     STA    .AA
  750.     LDA    .AA
  751.     ORA    A
  752.     JZ    .W129
  753.     LXI    H,.ND
  754.     DCR    M
  755.     LHLD    .ND
  756.     MVI    H,0
  757.     LXI    D,.DS
  758.     DAD    D
  759.     MOV    A,M
  760.     STA    .AA
  761.     LDA    .AA
  762.     CALL    ?WRNXT
  763.     EXTRN    ?WRNXT
  764.     JMP    .X129
  765. .W129:
  766.     LDA    .BL
  767.     CALL    ?WRNXT
  768.     EXTRN    ?WRNXT
  769.     RET
  770. ..CD:
  771.     LXI    H,.AA
  772.     LDA    .ZR
  773.     CMP    M
  774.     CALL    ?SETAC
  775.     STA    .BB
  776.     LXI    H,.C9
  777.     LDA    .AA
  778.     CMP    M
  779.     CALL    ?SETAC
  780.     STA    .CC
  781.     LXI    H,.CC
  782.     LDA    .BB
  783.     ANA    M
  784.     STA    .BB
  785.     LDA    .BB
  786.     ORA    A
  787.     JZ    .F130
  788.     LXI    H,.ZR
  789.     LDA    .AA
  790.     SUB    M
  791.     STA    .AA
  792.     RET
  793. .F130:
  794.     LDA    .C0
  795.     STA    .AA
  796.     RET
  797. ..CH:
  798.     LXI    H,.AA
  799.     LDA    .ZR
  800.     CMP    M
  801.     CALL    ?SETAC
  802.     STA    .BB
  803.     LXI    H,.C9
  804.     LDA    .AA
  805.     CMP    M
  806.     CALL    ?SETAC
  807.     STA    .CC
  808.     LXI    H,.CC
  809.     LDA    .BB
  810.     ANA    M
  811.     STA    .BB
  812.     LDA    .BB
  813.     ORA    A
  814.     JZ    .F131
  815.     LXI    H,.ZR
  816.     LDA    .AA
  817.     SUB    M
  818.     STA    .AA
  819.     RET
  820. .F131:
  821.     LXI    H,.AA
  822.     LDA    .HA
  823.     CMP    M
  824.     CALL    ?SETAC
  825.     STA    .BB
  826.     LXI    H,.HF
  827.     LDA    .AA
  828.     CMP    M
  829.     CALL    ?SETAC
  830.     STA    .CC
  831.     LXI    H,.CC
  832.     LDA    .BB
  833.     ANA    M
  834.     STA    .BB
  835.     LDA    .BB
  836.     ORA    A
  837.     JZ    .F132
  838.     LXI    H,.HA
  839.     LDA    .AA
  840.     SUB    M
  841.     STA    .AA
  842.     LXI    H,.CX
  843.     LDA    .AA
  844.     ADD    M
  845.     STA    .AA
  846.     RET
  847. .F132:
  848.     LDA    .C0
  849.     STA    .AA
  850.     RET
  851. ..IN:
  852.     LXI    H,8920
  853.     SHLD    .ILM
  854.     LXI    H,0
  855.     SHLD    .I00
  856.     LXI    H,1
  857.     SHLD    .I01
  858.     LXI    H,10
  859.     SHLD    .I10
  860.     LXI    H,9
  861.     SHLD    .I09
  862.     XRA    A
  863.     STA    .C0
  864.     MVI    A,1
  865.     STA    .C1
  866.     MVI    A,2
  867.     STA    .C2
  868.     MVI    A,3
  869.     STA    .C3
  870.     MVI    A,.KEF
  871.     STA    .EF
  872.     MVI    A,40
  873.     STA    .C4
  874.     MVI    A,80
  875.     STA    .C8
  876.     LXI    H,16
  877.     SHLD    .I16
  878.     XRA    A
  879.     STA    .SP
  880.     MVI    A,'9'
  881.     STA    .C9
  882.     MVI    A,'0'
  883.     STA    .ZR
  884.     MVI    A,' '
  885.     STA    .BL
  886.     MVI    A,'F'
  887.     STA    .HF
  888.     MVI    A,'A'
  889.     STA    .HA
  890.     MVI    A,10
  891.     STA    .CX
  892.     LHLD    .I01
  893.     SHLD    .IBC
  894.     MVI    A,'R'
  895.     STA    .TR
  896.     LXI    H,.F1
  897.     CALL    ?BCLOF
  898.     EXTRN    ?BCLOF
  899.     LXI    D,?IFCB+((1-1)*36)
  900.     LXI    H,.IBC
  901.     CALL    ?ATACH
  902.     EXTRN    ?ATACH,?IFCB
  903.     LXI    D,.F1
  904.     LDA    .TR
  905.     LHLD    .IBC
  906.     CALL    ?IOPEN
  907.     EXTRN    ?IOPEN
  908.     MVI    A,'W'
  909.     STA    .TR
  910.     LHLD    .IBC
  911.     INX    H
  912.     SHLD    .IBC
  913.     LXI    H,.F2
  914.     CALL    ?BCLOF
  915.     EXTRN    ?BCLOF
  916.     LXI    D,?IFCB+((2-1)*36)
  917.     LXI    H,.IBC
  918.     CALL    ?ATACH
  919.     EXTRN    ?ATACH,?IFCB
  920.     LXI    D,.F2
  921.     LDA    .TR
  922.     LHLD    .IBC
  923.     CALL    ?IOPEN
  924.     EXTRN    ?IOPEN
  925.     LXI    H,.AA
  926.     LXI    D,.F1
  927.     CALL    ?BREAD
  928.     EXTRN    ?BREAD
  929.     MVI    A,'T'
  930.     STA    .OT
  931.     XRA    A
  932.     STA    .UT
  933.     MVI    A,'X'
  934.     STA    .BB
  935.     LXI    H,.BB
  936.     LDA    .AA
  937.     CMP    M
  938.     JNZ    $+5
  939.     XRA    A
  940.     LXI    B,013EH
  941.     STA    .UN
  942.     LXI    H,.RB
  943.     LXI    D,.F1
  944.     CALL    ?BREAD
  945.     EXTRN    ?BREAD
  946.     LXI    H,.RC
  947.     LXI    D,.F1
  948.     CALL    ?BREAD
  949.     EXTRN    ?BREAD
  950.     LXI    H,.SF
  951.     LXI    D,.F1
  952.     CALL    ?BREAD
  953.     EXTRN    ?BREAD
  954.     LXI    H,.MF
  955.     LXI    D,.F1
  956.     CALL    ?BREAD
  957.     EXTRN    ?BREAD
  958.     MVI    A,'X'
  959.     STA    .BB
  960.     LXI    H,.MF
  961.     LDA    .BB
  962.     CMP    M
  963.     JZ    $+5
  964.     XRA    A
  965.     LXI    B,013EH
  966.     STA    .AA
  967.     LDA    .AA
  968.     ORA    A
  969.     JZ    .F133
  970.     LDA    .C0
  971.     STA    .UO
  972.     JMP    .F134
  973. .F133:
  974.     LDA    .C1
  975.     STA    .UO
  976. .F134:
  977.     MVI    A,'P'
  978.     STA    .OP
  979.     MVI    A,'@'
  980.     STA    .OE
  981.     MVI    A,'V'
  982.     STA    .OD
  983.     MVI    A,'!'
  984.     STA    .OB
  985.     MVI    A,'S'
  986.     STA    .OS
  987.     MVI    A,'H'
  988.     STA    .OH
  989.     MVI    A,'N'
  990.     STA    .ON
  991.     MVI    A,'L'
  992.     STA    .OL
  993.     MVI    A,'C'
  994.     STA    .OC
  995.     MVI    A,'+'
  996.     STA    .OA
  997.     MVI    A,'-'
  998.     STA    .OR
  999.     MVI    A,'*'
  1000.     STA    .OM
  1001.     LXI    H,.OG
  1002.     LXI    D,.F1
  1003.     CALL    ?BREAD
  1004.     EXTRN    ?BREAD
  1005.     MVI    A,'X'
  1006.     STA    .AA
  1007.     LXI    H,.AA
  1008.     LDA    .OG
  1009.     CMP    M
  1010.     JZ    $+5
  1011.     XRA    A
  1012.     LXI    B,013EH
  1013.     STA    .BB
  1014.     LDA    .BB
  1015.     ORA    A
  1016.     JZ    .F135
  1017.     XRA    A
  1018.     STA    .UG
  1019.     JMP    .F136
  1020. .F135:
  1021.     MVI    A,1
  1022.     STA    .UG
  1023. .F136:
  1024.     LXI    H,.CC
  1025.     LXI    D,.F1
  1026.     CALL    ?BREAD
  1027.     EXTRN    ?BREAD
  1028.     LXI    H,.CC
  1029.     LDA    .NL
  1030.     CMP    M
  1031.     JNZ    $+5
  1032.     XRA    A
  1033.     LXI    B,013EH
  1034.     STA    .AA
  1035.     LDA    .AA
  1036.     ORA    A
  1037.     JZ    .F137
  1038.     CALL    ?MSG
  1039.     DB    'FLAG LINE'
  1040.     MVI    A,1
  1041.     CALL    ?ISTOP
  1042.     EXTRN    ?ISTOP
  1043. .F137:
  1044.     LXI    H,100
  1045.     SHLD    .IUU
  1046.     RET
  1047. ..RM:
  1048.     LHLD    .I00
  1049.     SHLD    .III
  1050.     LHLD    .C0
  1051.     MVI    H,0
  1052.     SHLD    .INM
  1053.     MVI    A,127
  1054.     STA    .MM
  1055. .X138:
  1056.     LXI    H,.CC
  1057.     LXI    D,.F1
  1058.     CALL    ?BREAD
  1059.     EXTRN    ?BREAD
  1060.     LXI    H,.ER
  1061.     LDA    .C0
  1062.     CMP    M
  1063.     JZ    $+5
  1064.     XRA    A
  1065.     LXI    B,013EH
  1066.     STA    .AA
  1067.     LDA    .AA
  1068.     ORA    A
  1069.     JZ    .W138
  1070.     LDA    .CC
  1071.     STA    .ERASER.
  1072.  
  1073.  
  1074.  
  1075.     JMP    .XC140
  1076.     ORG    $-3
  1077. .UP139:    LXI    H,.ERASER.
  1078.     LDA    .OE
  1079.     CMP    M
  1080.     JNZ    .UP141
  1081.     LXI    H,.CC
  1082.     LXI    D,.F1
  1083.     CALL    ?BREAD
  1084.     EXTRN    ?BREAD
  1085.     JMP    ?LL077
  1086.     JMP    .XC140
  1087.     ORG    $-0
  1088. .UP141:    LXI    H,.ERASER.
  1089.     LDA    .RB
  1090.     CMP    M
  1091.     JNZ    .UP142
  1092.     LHLD    .INM
  1093.     LXI    D,.ILP
  1094.     DAD    H
  1095.     DAD    D
  1096.     XCHG
  1097.     LHLD    .III
  1098.     MOV    A,L
  1099.     STAX    D
  1100.     INX    D
  1101.     MOV    A,H
  1102.     STAX    D
  1103.     LHLD    .INM
  1104.     INX    H
  1105.     SHLD    .INM
  1106.     XRA    A
  1107.     STA    .ML
  1108.     JMP    .XC140
  1109.     ORG    $-0
  1110. .UP142:    LXI    H,.ERASER.
  1111.     LDA    .NL
  1112.     CMP    M
  1113.     JNZ    .UP143
  1114.     JMP    .XC140
  1115.     ORG    $-0
  1116. .UP143:    LXI    H,.ERASER.
  1117.     LDA    .LF
  1118.     CMP    M
  1119.     JNZ    .UP144
  1120.     JMP    .XC140
  1121.     ORG    $-0
  1122. .UP144:    LXI    H,.ERASER.
  1123.     LDA    .RC
  1124.     CMP    M
  1125.     JNZ    .UP145
  1126.     LHLD    .III
  1127.     LXI    D,.LS
  1128.     DAD    D
  1129.     LDA    .RC
  1130.     MOV    M,A
  1131.     LHLD    .III
  1132.     INX    H
  1133.     SHLD    .III
  1134.     LDA    .ML
  1135.     LXI    H,.MM
  1136.     CMP    M
  1137.     RAL
  1138.     ANI    1
  1139.     STA    .AA
  1140.     LDA    .AA
  1141.     ORA    A
  1142.     JZ    .F146
  1143.     LDA    .ML
  1144.     STA    .MM
  1145. .F146:
  1146. .X147:
  1147.     LXI    H,.CC
  1148.     LXI    D,.F1
  1149.     CALL    ?BREAD
  1150.     EXTRN    ?BREAD
  1151.     LXI    H,.LF
  1152.     LDA    .CC
  1153.     CMP    M
  1154.     JNZ    $+5
  1155.     XRA    A
  1156.     LXI    B,013EH
  1157.     STA    .AA
  1158.     LDA    .AA
  1159.     ORA    A
  1160.     JZ    .W147
  1161.     JMP    .X147
  1162. .W147:
  1163.     JMP    .XC140
  1164.     ORG    $-0
  1165. .UP145:    LXI    H,.ERASER.
  1166.     LDA    .OG
  1167.     CMP    M
  1168.     JNZ    .UP148
  1169.     LDA    .UG
  1170.     ORA    A
  1171.     JZ    .F149
  1172.     JMP    .F150
  1173. .F149:
  1174.     JMP    ?LL077
  1175. .F150:
  1176.     JMP    .XC140
  1177.     ORG    $-0
  1178. .UP148:
  1179. ?LL077:
  1180.     LHLD    .III
  1181.     LXI    D,.LS
  1182.     DAD    D
  1183.     LDA    .CC
  1184.     MOV    M,A
  1185.     LHLD    .III
  1186.     INX    H
  1187.     SHLD    .III
  1188.     LHLD    .III
  1189.     XCHG
  1190.     LHLD    .ILM
  1191.     CALL    ?CDEHL
  1192.     EXTRN    ?CDEHL
  1193.     RAL
  1194.     ANI    1
  1195.     STA    .AA
  1196.     LDA    .AA
  1197.     ORA    A
  1198.     JZ    .F151
  1199.     CALL    ?MSG
  1200.     DB    'MACMEMXST'
  1201.     CALL    ..CR
  1202.     LXI    H,.F1
  1203.     CALL    ?BCLOF
  1204.     EXTRN    ?BCLOF
  1205.     MVI    A,5
  1206.     CALL    ?ISTOP
  1207.     EXTRN    ?ISTOP
  1208. .F151:
  1209.     LXI    H,.ML
  1210.     INR    M
  1211. .XC140:
  1212.     JMP    .X138
  1213. .W138:
  1214.     LXI    H,.EF
  1215.     LDA    .CC
  1216.     CMP    M
  1217.     JNZ    $+5
  1218.     XRA    A
  1219.     LXI    B,013EH
  1220.     STA    .AA
  1221.     LDA    .AA
  1222.     ORA    A
  1223.     JZ    .F152
  1224.     CALL    ?MSG
  1225.     DB    'DEFN READ'
  1226.     MVI    A,2
  1227.     CALL    ?ISTOP
  1228.     EXTRN    ?ISTOP
  1229. .F152:
  1230.     LXI    H,.F1
  1231.     CALL    ?BCLOF
  1232.     EXTRN    ?BCLOF
  1233.     LXI    H,3
  1234.     SHLD    .IBC
  1235.     LXI    D,?IFCB+((3-1)*36)
  1236.     LXI    H,.IBC
  1237.     CALL    ?ATACH
  1238.     EXTRN    ?ATACH,?IFCB
  1239.     MVI    A,'R'
  1240.     STA    .TR
  1241.     LXI    D,.F1
  1242.     LDA    .TR
  1243.     LHLD    .IBC
  1244.     CALL    ?IOPEN
  1245.     EXTRN    ?IOPEN
  1246.     LHLD    .III
  1247.     SHLD    .IED
  1248.     CALL    ?MSG
  1249.     DB    'LOADED...'
  1250.     LHLD    .III
  1251.     SHLD    .ITU
  1252.     CALL    ..PN
  1253.     CALL    ?MSG
  1254.     DB    '.BYTES FO'
  1255.     CALL    ?MSG
  1256.     DB    'R DEFINES'
  1257.     CALL    ..CR
  1258.     LHLD    .INM
  1259.     LXI    D,.ILP
  1260.     DAD    H
  1261.     DAD    D
  1262.     XCHG
  1263.     LHLD    .III
  1264.     MOV    A,L
  1265.     STAX    D
  1266.     INX    D
  1267.     MOV    A,H
  1268.     STAX    D
  1269.     LHLD    .INM
  1270.     SHLD    .ITU
  1271.     CALL    ..PN
  1272.     CALL    ?MSG
  1273.     DB    '.MACROS..'
  1274.     LHLD    .MM
  1275.     MVI    H,0
  1276.     SHLD    .ITU
  1277.     CALL    ..PN
  1278.     CALL    ?MSG
  1279.     DB    ' MIN LEN.'
  1280.     CALL    ..CR
  1281.     RET
  1282. ..CR:
  1283.     LDA    .NL
  1284.     CALL    ?WRNXT
  1285.     EXTRN    ?WRNXT
  1286.     LDA    .LF
  1287.     CALL    ?WRNXT
  1288.     EXTRN    ?WRNXT
  1289.     RET
  1290. ..DM:
  1291.     LHLD    .I01
  1292.     XCHG
  1293.     LHLD    .IJJ
  1294.     DAD    D
  1295.     SHLD    .IMP
  1296.     LHLD    .INM
  1297.     INX    H
  1298.     SHLD    .INM
  1299.     LHLD    .INM
  1300.     LXI    D,.ILP
  1301.     DAD    H
  1302.     DAD    D
  1303.     MOV    E,M
  1304.     INX    H
  1305.     MOV    D,M
  1306.     XCHG
  1307.     SHLD    .IDP
  1308. .X153:
  1309.     LHLD    .IDP
  1310.     XCHG
  1311.     LHLD    .IMP
  1312.     CALL    ?CDEHL
  1313.     EXTRN    ?CDEHL
  1314.     RAL
  1315.     ANI    1
  1316.     STA    .AA
  1317.     LDA    .AA
  1318.     ORA    A
  1319.     JZ    .W153
  1320.     LHLD    .IMP
  1321.     LXI    D,.LS
  1322.     DAD    D
  1323.     MOV    A,M
  1324.     STA    .AA
  1325.     LDA    .UO
  1326.     ORA    A
  1327.     JZ    .F154
  1328.     LXI    H,.AA
  1329.     LDA    .MF
  1330.     CMP    M
  1331.     JZ    $+5
  1332.     XRA    A
  1333.     LXI    B,013EH
  1334.     STA    .AA
  1335.     JMP    .F155
  1336. .F154:
  1337.     LDA    .C0
  1338.     STA    .AA
  1339. .F155:
  1340.     LDA    .AA
  1341.     ORA    A
  1342.     JZ    .F156
  1343.     LHLD    .IMP
  1344.     INX    H
  1345.     SHLD    .IMP
  1346.     LHLD    .IMP
  1347.     LXI    D,.LS
  1348.     DAD    D
  1349.     MOV    A,M
  1350.     STA    .O1
  1351.     LHLD    .IMP
  1352.     INX    H
  1353.     SHLD    .IMP
  1354.     LHLD    .IMP
  1355.     LXI    D,.LS
  1356.     DAD    D
  1357.     MOV    A,M
  1358.     STA    .AA
  1359.     LDA    .AA
  1360.     STA    .O2
  1361.     CALL    ..CD
  1362.     LDA    .AA
  1363.     STA    .DG
  1364.     LHLD    .IMP
  1365.     INX    H
  1366.     SHLD    .IMP
  1367.     LHLD    .IMP
  1368.     LXI    D,.LS
  1369.     DAD    D
  1370.     MOV    A,M
  1371.     STA    .O3
  1372.     LDA    .UT
  1373.     ORA    A
  1374.     JZ    .F157
  1375.     LDA    .O1
  1376.     CALL    ?WRNXT
  1377.     EXTRN    ?WRNXT
  1378.     LDA    .O2
  1379.     CALL    ?WRNXT
  1380.     EXTRN    ?WRNXT
  1381.     LDA    .O3
  1382.     CALL    ?WRNXT
  1383.     EXTRN    ?WRNXT
  1384. .F157:
  1385.     LDA    .O1
  1386.     STA    .ERASER.
  1387.  
  1388.  
  1389.  
  1390.     JMP    .XC159
  1391.     ORG    $-3
  1392. .UP158:    LXI    H,.ERASER.
  1393.     LDA    .OP
  1394.     CMP    M
  1395.     JNZ    .UP160
  1396.     LHLD    .DG
  1397.     MVI    H,0
  1398.     LXI    D,.IPR
  1399.     DAD    H
  1400.     DAD    D
  1401.     LXI    D,.ITU
  1402.     MOV    A,M
  1403.     STAX    D
  1404.     INX    D
  1405.     INX    H
  1406.     MOV    A,M
  1407.     STAX    D
  1408.     JMP    .XC159
  1409.     ORG    $-0
  1410. .UP160:    LXI    H,.ERASER.
  1411.     LDA    .OD
  1412.     CMP    M
  1413.     JNZ    .UP161
  1414.     LHLD    .DG
  1415.     MVI    H,0
  1416.     LXI    D,.IPR
  1417.     DAD    H
  1418.     DAD    D
  1419.     LXI    D,.IAA
  1420.     MOV    A,M
  1421.     STAX    D
  1422.     INX    D
  1423.     INX    H
  1424.     MOV    A,M
  1425.     STAX    D
  1426.     LDA    .IAA
  1427.     STA    .AA
  1428.     CALL    ..CD
  1429.     LHLD    .AA
  1430.     MVI    H,0
  1431.     SHLD    .ITU
  1432.     JMP    .XC159
  1433.     ORG    $-0
  1434. .UP161:    LXI    H,.ERASER.
  1435.     LDA    .OB
  1436.     CMP    M
  1437.     JNZ    .UP162
  1438.     LHLD    .SP
  1439.     MVI    H,0
  1440.     LXI    D,.ISS
  1441.     DAD    H
  1442.     DAD    D
  1443.     LXI    D,.ITU
  1444.     MOV    A,M
  1445.     STAX    D
  1446.     INX    D
  1447.     INX    H
  1448.     MOV    A,M
  1449.     STAX    D
  1450.     LXI    H,.C0
  1451.     LDA    .SP
  1452.     CMP    M
  1453.     CALL    ?SETAC
  1454.     STA    .AA
  1455.     LDA    .AA
  1456.     ORA    A
  1457.     JZ    .F163
  1458.     CALL    ?MSG
  1459.     DB    'S STACKER'
  1460.     CALL    ..CR
  1461.     LDA    .C1
  1462.     STA    .SP
  1463. .F163:
  1464.     LXI    H,.SP
  1465.     DCR    M
  1466.     JMP    .XC159
  1467.     ORG    $-0
  1468. .UP162:    LXI    H,.ERASER.
  1469.     LDA    .OS
  1470.     CMP    M
  1471.     JNZ    .UP164
  1472.     LHLD    .SP
  1473.     MVI    H,0
  1474.     LXI    D,.ISS
  1475.     DAD    H
  1476.     DAD    D
  1477.     LXI    D,.ITU
  1478.     MOV    A,M
  1479.     STAX    D
  1480.     INX    D
  1481.     INX    H
  1482.     MOV    A,M
  1483.     STAX    D
  1484.     JMP    .XC159
  1485.     ORG    $-0
  1486. .UP164:    LXI    H,.ERASER.
  1487.     LDA    .OH
  1488.     CMP    M
  1489.     JNZ    .UP165
  1490.     LDA    .O2
  1491.     STA    .AA
  1492.     CALL    ..CH
  1493.     LHLD    .AA
  1494.     MVI    H,0
  1495.     SHLD    .IAA
  1496.     LHLD    .I16
  1497.     XCHG
  1498.     LHLD    .IAA
  1499.     CALL    ?IMUL
  1500.     EXTRN    ?IMUL
  1501.     SHLD    .IAA
  1502.     LDA    .O3
  1503.     STA    .AA
  1504.     CALL    ..CH
  1505.     LHLD    .AA
  1506.     MVI    H,0
  1507.     SHLD    .IBB
  1508.     LHLD    .IBB
  1509.     XCHG
  1510.     LHLD    .IAA
  1511.     DAD    D
  1512.     SHLD    .ITU
  1513.     LDA    .OC
  1514.     STA    .O3
  1515.     JMP    .XC159
  1516.     ORG    $-0
  1517. .UP165:    LXI    H,.ERASER.
  1518.     LDA    .OL
  1519.     CMP    M
  1520.     JNZ    .UP166
  1521.     LHLD    .O2
  1522.     MVI    H,0
  1523.     SHLD    .ITU
  1524.     JMP    .XC159
  1525.     ORG    $-0
  1526. .UP166:    LXI    H,.ERASER.
  1527.     LDA    .ON
  1528.     CMP    M
  1529.     JNZ    .UP167
  1530.     LDA    .O2
  1531.     STA    .AA
  1532.     CALL    ..CD
  1533.     LHLD    .AA
  1534.     MVI    H,0
  1535.     SHLD    .ITU
  1536.     JMP    .XC159
  1537.     ORG    $-0
  1538. .UP167:    LXI    H,.ERASER.
  1539.     LDA    .OT
  1540.     CMP    M
  1541.     JNZ    .UP168
  1542.     MVI    A,1
  1543.     STA    .UT
  1544.     JMP    .XC159
  1545.     ORG    $-0
  1546. .UP168:
  1547.     LHLD    .IUU
  1548.     SHLD    .ITU
  1549.     LHLD    .IUU
  1550.     INX    H
  1551.     SHLD    .IUU
  1552. .XC159:
  1553.     LDA    .UT
  1554.     ORA    A
  1555.     JZ    .F169
  1556.     LHLD    .ITU
  1557.     SHLD    .III
  1558.     CALL    ..PN
  1559.     LHLD    .SP
  1560.     MVI    H,0
  1561.     LXI    D,.ISS
  1562.     DAD    H
  1563.     DAD    D
  1564.     LXI    D,.ITU
  1565.     MOV    A,M
  1566.     STAX    D
  1567.     INX    D
  1568.     INX    H
  1569.     MOV    A,M
  1570.     STAX    D
  1571.     CALL    ..PN
  1572.     LHLD    .SP
  1573.     MVI    H,0
  1574.     SHLD    .ITU
  1575.     CALL    ..PN
  1576.     LHLD    .III
  1577.     SHLD    .ITU
  1578.     CALL    ..CR
  1579. .F169:
  1580.     LDA    .O3
  1581.     STA    .ERASER.
  1582.  
  1583.  
  1584.  
  1585.     JMP    .XC171
  1586.     ORG    $-3
  1587. .UP170:    LXI    H,.ERASER.
  1588.     LDA    .OC
  1589.     CMP    M
  1590.     JNZ    .UP172
  1591.     LDA    .ITU
  1592.     STA    .AA
  1593.     LDA    .AA
  1594.     LXI    D,.F2
  1595.     CALL    ?BWRIT
  1596.     EXTRN    ?BWRIT
  1597.     JMP    .XC171
  1598.     ORG    $-0
  1599. .UP172:    LXI    H,.ERASER.
  1600.     LDA    .OS
  1601.     CMP    M
  1602.     JNZ    .UP173
  1603.     LXI    H,.SP
  1604.     INR    M
  1605.     LXI    H,.SP
  1606.     LDA    .C4
  1607.     CMP    M
  1608.     CALL    ?SETAC
  1609.     STA    .AA
  1610.     LDA    .AA
  1611.     ORA    A
  1612.     JZ    .F174
  1613.     CALL    ?MSG
  1614.     DB    'S OVERFLO'
  1615.     CALL    ..CR
  1616.     LDA    .C4
  1617.     STA    .SP
  1618. .F174:
  1619.     LHLD    .SP
  1620.     MVI    H,0
  1621.     DAD    H
  1622.     LXI    D,.ISS
  1623.     DAD    D
  1624.     LXI    D,.ITU
  1625.     LDAX    D
  1626.     MOV    M,A
  1627.     INX    D
  1628.     INX    H
  1629.     LDAX    D
  1630.     MOV    M,A
  1631.     JMP    .XC171
  1632.     ORG    $-0
  1633. .UP173:    LXI    H,.ERASER.
  1634.     LDA    .OP
  1635.     CMP    M
  1636.     JNZ    .UP175
  1637.     LHLD    .DG
  1638.     MVI    H,0
  1639.     DAD    H
  1640.     LXI    D,.IPR
  1641.     DAD    D
  1642.     LXI    D,.ITU
  1643.     LDAX    D
  1644.     MOV    M,A
  1645.     INX    D
  1646.     INX    H
  1647.     LDAX    D
  1648.     MOV    M,A
  1649.     JMP    .XC171
  1650.     ORG    $-0
  1651. .UP175:    LXI    H,.ERASER.
  1652.     LDA    .OA
  1653.     CMP    M
  1654.     JNZ    .UP176
  1655.     LHLD    .SP
  1656.     MVI    H,0
  1657.     LXI    D,.ISS
  1658.     DAD    H
  1659.     DAD    D
  1660.     LXI    D,.IAA
  1661.     MOV    A,M
  1662.     STAX    D
  1663.     INX    D
  1664.     INX    H
  1665.     MOV    A,M
  1666.     STAX    D
  1667.     LHLD    .ITU
  1668.     XCHG
  1669.     LHLD    .IAA
  1670.     DAD    D
  1671.     SHLD    .IAA
  1672.     LHLD    .SP
  1673.     MVI    H,0
  1674.     DAD    H
  1675.     LXI    D,.ISS
  1676.     DAD    D
  1677.     LXI    D,.IAA
  1678.     LDAX    D
  1679.     MOV    M,A
  1680.     INX    D
  1681.     INX    H
  1682.     LDAX    D
  1683.     MOV    M,A
  1684.     JMP    .XC171
  1685.     ORG    $-0
  1686. .UP176:    LXI    H,.ERASER.
  1687.     LDA    .OR
  1688.     CMP    M
  1689.     JNZ    .UP177
  1690.     LHLD    .SP
  1691.     MVI    H,0
  1692.     LXI    D,.ISS
  1693.     DAD    H
  1694.     DAD    D
  1695.     LXI    D,.IAA
  1696.     MOV    A,M
  1697.     STAX    D
  1698.     INX    D
  1699.     INX    H
  1700.     MOV    A,M
  1701.     STAX    D
  1702.     LHLD    .ITU
  1703.     XCHG
  1704.     LHLD    .IAA
  1705.     CALL    ?ISUB
  1706.     EXTRN    ?ISUB
  1707.     SHLD    .IAA
  1708.     LHLD    .SP
  1709.     MVI    H,0
  1710.     DAD    H
  1711.     LXI    D,.ISS
  1712.     DAD    D
  1713.     LXI    D,.IAA
  1714.     LDAX    D
  1715.     MOV    M,A
  1716.     INX    D
  1717.     INX    H
  1718.     LDAX    D
  1719.     MOV    M,A
  1720.     JMP    .XC171
  1721.     ORG    $-0
  1722. .UP177:    LXI    H,.ERASER.
  1723.     LDA    .OM
  1724.     CMP    M
  1725.     JNZ    .UP178
  1726.     LHLD    .SP
  1727.     MVI    H,0
  1728.     LXI    D,.ISS
  1729.     DAD    H
  1730.     DAD    D
  1731.     LXI    D,.IAA
  1732.     MOV    A,M
  1733.     STAX    D
  1734.     INX    D
  1735.     INX    H
  1736.     MOV    A,M
  1737.     STAX    D
  1738.     LHLD    .I10
  1739.     XCHG
  1740.     LHLD    .IAA
  1741.     CALL    ?IMUL
  1742.     EXTRN    ?IMUL
  1743.     SHLD    .IAA
  1744.     LHLD    .ITU
  1745.     XCHG
  1746.     LHLD    .IAA
  1747.     DAD    D
  1748.     SHLD    .IAA
  1749.     LHLD    .SP
  1750.     MVI    H,0
  1751.     DAD    H
  1752.     LXI    D,.ISS
  1753.     DAD    D
  1754.     LXI    D,.IAA
  1755.     LDAX    D
  1756.     MOV    M,A
  1757.     INX    D
  1758.     INX    H
  1759.     LDAX    D
  1760.     MOV    M,A
  1761.     JMP    .XC171
  1762.     ORG    $-0
  1763. .UP178:    LXI    H,.ERASER.
  1764.     LDA    .OH
  1765.     CMP    M
  1766.     JNZ    .UP179
  1767.     LHLD    .ITU
  1768.     MOV    A,L
  1769.     STA    .AA
  1770.     MOV    A,H
  1771.     STA    .BB
  1772.     LDA    .AA
  1773.     LXI    D,.F2
  1774.     CALL    ?BWRIT
  1775.     EXTRN    ?BWRIT
  1776.     JMP    .XC171
  1777.     ORG    $-0
  1778. .UP179:
  1779.     CALL    ..WN
  1780. .XC171:
  1781.     JMP    .F180
  1782. .F156:
  1783.     LHLD    .IMP
  1784.     LXI    D,.LS
  1785.     DAD    D
  1786.     MOV    A,M
  1787.     STA    .AA
  1788.     LDA    .UN
  1789.     ORA    A
  1790.     JZ    .F181
  1791.     LXI    H,.RC
  1792.     LDA    .AA
  1793.     CMP    M
  1794.     JNZ    $+5
  1795.     XRA    A
  1796.     LXI    B,013EH
  1797.     STA    .BB
  1798.     JMP    .F182
  1799. .F181:
  1800.     LDA    .C1
  1801.     STA    .BB
  1802. .F182:
  1803.     LDA    .BB
  1804.     ORA    A
  1805.     JZ    .F183
  1806.     LDA    .AA
  1807.     LXI    D,.F2
  1808.     CALL    ?BWRIT
  1809.     EXTRN    ?BWRIT
  1810.     JMP    .F184
  1811. .F183:
  1812.     LDA    .NL
  1813.     LXI    D,.F2
  1814.     CALL    ?BWRIT
  1815.     EXTRN    ?BWRIT
  1816.     LDA    .LF
  1817.     LXI    D,.F2
  1818.     CALL    ?BWRIT
  1819.     EXTRN    ?BWRIT
  1820. .F184:
  1821. .F180:
  1822.     LHLD    .IMP
  1823.     INX    H
  1824.     SHLD    .IMP
  1825.     JMP    .X153
  1826. .W153:
  1827.     XRA    A
  1828.     STA    .UT
  1829.     RET
  1830.     DSEG
  1831.     DS    60
  1832. ?STACK:    DW    0
  1833.     END    ?START
  1834.