SCEDITOR84

(George Source)

Macros used: ACROSS, ALTLENGD, BACKSPACE, BRKINOFF, BXE, BXGE, BXL, BXU, CATMASK, CURTAIL, HUNT2J, HUNTW, MFREEW, MHUNTW, MONOUT, MONOUTX, OUTEXES, OUTMON, OUTNUM, READY, REPEAT, SEG, SEGENTRY, SETUPCORE, STEP, TESTBRKIN, TRACE, VFREE, VFREEW

SCEDITOR84.txt
22FL          SEG      SCEDITOR,,KEITH H MARTIN 
22^=    #LIS      K0SCEDITOR>K0ALLGEO>K0GREATGEO
23DW    #   
23YG    #   
24D6    #   
24XQ    #   
25CB    #              IN   
25X2    #              **   
26BL          SEGENTRY K1SCEDITOR,POINTER  [OUTPUT POINTER READY
26W=          SEGENTRY K2SCEDITOR,OUTPUT   [OUTPUT AMXOR:ASCREEN BLOCK  
27*W          SEGENTRY K3SCEDITOR,REPEAT   [REOUTPUT AMXOR:ASCREEN BLOCK
27TG         SEGENTRY K4SCEDITOR,SBREAKIN    [BREAK IN  
28*6          SEGENTRY  K5SCEDITOR,START
28SQ    #   
29#B    #   
29S2    #              OUT  
2=?L    #              ***  
2=R=    #   
2?=W    #     K1SCEDITAR   [DATA
2?QG    #     K2SCEDITAR   [CONTROL+6,+7
2#=6    #     K3SCEDITAR   [T   
2#PQ    #     K4SCEDITAR   [P   
2*9B    #     K5SCEDITAR   [E   
2*P2    #     K6SCEDITAR   [F   
2B8L    #     K6SCEDITAR   [Q   
2BN=    #   
2C7W    #   
2CMG    #   
2D76    #   
2DLQ    # ================================================================= #   
2F6B    #   
2FL2    #   
2G5L    #   
2GK=    #   
2H4W    SSKATC         CATMASK COMMANDS 
2HJG    SSCOMMA        4H000,   
2J46    SSSPACE        4H000
2JHQ    SSHASH         4H000#   
2K3B    SSMINUS        4H000-   
2KH2    SST            4H000T   
2L2L    SSP            4H000P   
2LG=    SSR            4H000R   
2L^W    SSQ            4H000Q   
2MFG    SSE            4H000E   
2M^6    SSF            4H000F   
2N8Y ...SSI            4H000I   
2NDQ    SSTEN          +10  
2NYB    SSBITS22       #17777777
2PD2    SSDELIM        16H:;<=>?!"£%&'+/
2PXL    SSMAGICNO      +7036875 
2QC=    SSKATZ         CATMASK FORCETYP,BROADCAS
2QWW    SSSYN          13HSYNTAX ERROR: 
2RBG    #   
2RW6    SS6            +6   
2S*Q    SS7            +7   
2STB    SS8            +8   
2T*2    #   
2TSL    #   
2W#=    #   
2WRW    #   
2X?G    #   
2XR6    # ================================================================= #   
2Y=Q    #   
2YQB    #   
2^=2    #   
2^PL    #   
329=    #              MONITORING FILE MESSAGE ADDRESSES
32NW    SE2MBAFR       +ISE2MBAFR   
338G    SYROTBOTF      +ISYROTBOTF  
33N6    SYRYBSL        +ISYRYBSL
347Q    SROTKINA       +ISROTKINA   
34MB    SBTNA          +ISBTNA  
3572    SYROTEOTF      +ISYROTEOTF  
35LL    SFMNBUITC      +ISFMNBUITC  
366=    SYFYNF         +ISYFYNF 
36KW    SIT            +ISIT
375G    SNTL           +ISNTL   
37K6    SEA            +ISEA
384Q    SEOE           +ISEOE   
38JB    SIFE           +ISIFE   
3942    #   
39HL    #   
3=3=    #   
3=GW    #   
3?2G    # ================================================================= #   
3?G6    #   
3?^Q    #   
3#FB    #   
3#^2    #   
3*DL    #   
3*Y=    #              STEPBACKOLD,STEPBACKNEW SUBROUTINES  
3BCW    #              STEPS BACK TO LINE (X0) IN NEW OR OLD FILE AND   
3BXG    #              RESETS CURRENT LINE NO   
3CC6    #   
3CWQ    #              LINK X7  
3DBB    #   
3DW2    #              X3 MUST BE PTR TO AMXOR:ASCREEN  
3F*L    #   
3FT=    #   
3G#W    #   
3GSG    #   
3H#6    STEPBACKNEW 
3HHY ...      SBX   7  FX1  
3HRQ          LDX   6  ISNCURRENT(3)       [CURREN LINE NO  
3J?B          SBX   6  0                   [DIFFERENCE  
3JR2          TRACE   6,ISNEWBAK          [<<<<<<<<<<>>>>>>>>>> 
3K=L          BZE   6  STEPBNEX 
3KQ=          STO   0  ISNCURRENT(3)       [RESET   
3L9W    STEPBNA 
3LPG          BACKSPACE    0
3M96          BCT   6  STEPBNA  
3MNQ          LDN   0  0
3N8B          CURTAIL      0               [SET APPEND=READ PTR 
3NN2    STEPBNEX
3NXS ...      ADX   7  FX1  
3P7L          EXIT  7  0
3PM=    #   
3Q6W    #   
3QLG    #   
3R66    #   
3RKQ    STEPBACKOLD 
3RTJ ...      SBX   7  FX1  
3S5B          LDX   6  ISOCURRENT(3)
3SK2          SBX   6  0
3T4L          TRACE   6,ISOLDBAK           [<<<<<<<<<>>>>>>>>>> 
3TJ=          BZE   6  STEPBOEX 
3W3W          STO   0  ISOCURRENT(3)
3W?N ...      BNG   6  STEPBOB           [J IF MOVE FORWARDS
3WHG    STEPBOA 
3X36          BACKSPACE    1
3XGQ          BCT   6  STEPBOA  
3Y2B    STEPBOEX
3Y=8 ...      ADX   7  FX1  
3YG2          EXIT  7  0
3YHY ...STEPBOB 
3YKW ...      NGX   6  6               [MAKE +VE COUNT  
3YMS ...STEPBOC 
3YPQ ...      STEP     1
3YRN ...      BCT   6  STEPBOC         [TO LOOP ON  
3YTL ...      ADX   7  FX1  
3YXJ ...      EXIT  7  0
3Y^L    #   
3^F=    #   
3^YW    #   
42DG    #   
42Y6    # ================================================================= #   
43CQ    #   
43XB    #   
44C2    #   
44WL    #   
45B=    #   
45TW    #              SETLOP SUBROUTINE
46*G    #   
46T6    #              MUST BE CALLED BEFORE OVERWRITING ISMFORM
47#Q    #              WHEN OUTPUTTING TEXT RDY OR PTR RDY BUT  
47SB    #              NOT FOR ERROR MESSAGES   
48#2    #   
48RL    #              CALL ON X7   
49?=    #   
49QW    #              N.B  THE LAST OUTPUT IS THE ONE PRIOR TO THE 
4==G    #              ---  ONE ON THE SCREEN NOW OR THE ONE JUST   
4=Q6    #                   ABOUT TO BE OUTPUT  
4?9Q    #                CF LAST OUTPUT - CURRENT OUTPUT
4?PB    SETLOP  
4#92          LDN   5  ISBITLOP 
4#NL          ORS   5  ISBITS(3)           [SET LAST OUTPUT READY   
4*8=          LDCT  0  #002                [B7=TEXT READY   
4*MW          ANDX  0  ISMFORM(3)   
4B7G          BZE   0  SETLOPX               [J IF PTR RDY  
4BM6          ERS   5  ISBITS(3)           [CLEAR LAST OUTPUT PTR READY 
4C6Q    SETLOPX 
4CLB          EXIT  7  0
4D62    #   
4DKL    #   
4F5=    #   
4FJW    #   
4G4G    # ================================================================= #   
4GJ6    #   
4H3Q    #   
4HHB    #   
4J32    #   
4JGL    #              SCOMMENT SUBROUTINE  
4K2=    #   
4KFW    #   
4K^G    #              OUTPUT FIXED MESSAGE ON NEXT FREE LINE   
4LF6    #   
4LYQ    #              CALL ON X7   
4MDB    #              EXIT TO CALL+1   
4MY2    #   
4NCL    #              X6 PTR TO MESSAGE
4NX=    #   
4PBW    SCOMMENT
4PLN ...      SBX   7  FX1  
4PWG          MHUNTW   3,AMXOR,ASCREEN  
4QB6          LDN  0  ISBITR
4QTQ          ORS   0  ISBITS(3)
4R*B          ERS   0  ISBITS(3)           [CLEAR R 
4RT2          LDN   0  ISBITLOP 
4S#L          ANDX  0  ISBITS(3)           [LAT OP PTR RDY  
4SS=          BNZ   0  SCOM1               [J IF SO 
4T?W          LDX   0  ISMERR(3)
4TRG          SRL   0  18   
4W?6          SBN   0  3
4WQQ          BNZ   0  SCOM1               [J IF ONE ON SCREEN NOW  
4X=B          LDCT  0  #004 
4XQ2          ORS   0  ISMERR(3)           [SET CLEAR SCREEN
4Y9L    SCOM1   
4YP=          LDX   5  ISMFORM(3)          [SAVE THIS   
4^8W          LDX   0  ISMERR(3)
4^NG          STO   0  ISMFORM(3)   
5286          MONOUTX  6
52MQ          MHUNTW   3,AMXOR,ASCREEN  
537B          STO   5  ISMFORM(3)   
53M2          LDCT  0  #010 
546L          ADS   0  ISMERR(3)          [LINES+1  
54L=          LDCT  0  #004 
555W          ORS   0  ISMERR(3)
55KG          ERS   0  ISMERR(3)           [CLEAR CLEAR SCREEN  
55T# ...      ADX   7  FX1  
5656          EXIT  7  0
56JQ    #   
574B    #   
57J2    #   
583L    #   
58H=    # ================================================================= #   
592W    #   
59GG    #   
5=26    #   
5=FQ    #   
5=^B    #              NONSPACE SUBROUTINE  
5?F2    #              PUT NEXT NONSPACE CHAR INTO X0   
5?YL    #   
5#D=    #              X2 CCM TO INPUT  
5#XW    #              X4 COUNT OF CHS LEFT(MAY BE XERO)
5*CG    #   
5*X6    #              CALL ON X6   
5BBQ    #              EXIT CALL+1  END OF LINE-NO MORE CHARS   
5BWB    #                   CALL+2  CH IN X0
5CB2    #   
5CTL    #   
5D*=    NONSPACE
5DSW          BCHX  2  £                   [STEP INPUT  
5F#G          BZE   4  NONSPACEX           [J IF END OF LINE
5FS6          SBN   4  1
5G?Q          LDCH  0  0(2) 
5GRB          BXE   0  SSSPACE(1),NONSPACE [LOOP ON SPACES  
5H?2          EXIT  6  1
5HQL    NONSPACEX   
5J==          EXIT  6  0
5JPW    #   
5K9G    #   
5KP6    #   
5L8Q    #   
5LNB    # ================================================================= #   
5M82    #   
5MML    #   
5N7=    #   
5NLW    #   
5P6G    #              NEXT SUBROUTINE  
5PL6    #              PUT NEXT CHAR INTO X0
5Q5Q    #   
5QKB    #              X2 CCM TO INPUT  
5R52    #              X4 COUNT OF CHS LEFT(MAY BE ZERO)
5RJL    #   
5S4=    #              CALL ON X6   
5SHW    #              EXIT CALL+1 END OF LINE-NO MORE CHARS
5T3G    #                   CALL+2 CH IN X0 
5TH6    #   
5W2Q    #   
5WGB    NEXT
5X22          BCHX  2  £
5XFL          BZE   4  NEXTX
5X^=          SBN   4  1
5YDW          LDCH  0  0(2) 
5YYG          EXIT  6  1
5^D6    NEXTX   
5^XQ          EXIT  6  0
62CB    #   
62X2    #   
63BL    #   
63W=    #   
64*W    # ================================================================= #   
64TG    #   
65*6    #   
65SQ    #   
66#B    #   
66S2    #              PARAMETER SUBROUTINE 
67?L    #              ANALYSE PARAMETER FOR T OR P 
67R=    #   
68=W    #              ON ENTRY  X2 PTR TO FIRST NON SPACE  
68QG    #                           CHAR FOR ANALYSIS   
69=6    #              ON EXIT   X2 PTR TO FIRST CHAR   
69PQ    #                           NOT ANALYSED
6=9B    #                           X2=0 IF END OF LIME 
6=P2    #   
6?8L    #              X4 RUNNING COUNT OF CHARS LEFT   
6?N=    #              X0 CHAR POINTED TO BY X2 
6#7W    #              X3 PTR TO AMXOR/ASCREEN BLOCK
6#MG    #   
6*76    #              CALL ON X7   
6*LQ    #              EXIT CALL+1 PARAM IN NUMBER FORMAT   
6B6B    #                   CALL+2 PARAM IN STRING FORMAT   
6BL2    #   
6C5L    #              RESULT IN TO ISPARAMB(3) AS FOLLOWS  
6CK=    #              NUMBERS ISPARAMB  B0=1  IF E 
6D4W    #                                B1=1  IF BAKCWARDS MOVEMENT CAUSES 
6DJG    #                                      RUNNING OFF START OF FILE (B)
6F46    #                                B2-23 LINE NUMBER-ALWAYS ABSOLUTE  
6FHQ    #               ISPARAMB+1  
6G3B    #              STRING  ISPARAMB+2 B0=1 IF BACKWARDS 
6GH2    #                                 B1-23 COUNT OF CHARS IN STRING
6H2L    #                      ISPARAMB+3)  
6HG=    #                      ISPARAMB+4) TEXT OF STRING   
6H^W    #                      ISPARAMB+5)  
6JFG    #   
6J^6    #              DEFAULT VALUE SHOULD BE SET UP BEFORE ENTRY  
6KDQ    #   
6KYB    PARAMETER   
6LD2          TRACE    2,ISPARAM          [<<<<<<<<<<>>>>>>>>>> 
6LXL          BXE   0  SSCOMMA(1),PAR4     [J IF NULL   
6MC=          BXU   0  SSE(1),PARX         [J IF NOT E  
6MWW          LDCT  6  #400 
6NBG          STO   6  ISPARAMB(3)         [SET E   
6NW6          CALL  6  NEXT                [
6P*Q          STOZ     2                   [SET EOL 
6PTB          BRN      PAR84                [MORE CHARS 
6Q*2    PARX
6QSL          BXU   0  SSHASH(1),PARB      [J IF NOT ABSOLUTE   
6R#=          LDCT  6  #400 
6RRW          ORX   7  6                   [SET #   
6S?G          CALL  6  NEXT 
6SR6          BRN      SYNERR   
6T=Q    PARB
6TQB          BXU   0  SSMINUS(1),PART     [J IF NOT BACKWARDS  
6W=2          BNG   7  SYNERR              [ERROR IF - AND #
6WPL          LDCT  6  #200 
6X9=          ORX   7  6                   [- NOW SET   
6XNW          CALL  6  NEXT 
6Y8G          BRN      SYNERR              [- WHAT? 
6YN6    PART
6^7Q          BXGE  0  SSTEN(1),PARQ       [J IF NOT NUMBER 
6^MB    #   
7272    #   
72LL    #   
736=    #              THIS PARAM IS A NUMBER   
73KW          LDN   5  0
745G          LDN   6  0
74K6          SMO      FX2  
754Q          STO   7  AWORK3          [LINK
75JB    PAR2
7642          CDB   5  0(2)                [INTO 5 AND 6
76HL          BCS      PAR3                [J IF END OF NO  
773=          BVSR     SSNTL             [J IF TOO BIG  
77GW          STO   6  7
782G          CALL  6  NEXT 
78G6          BRN      PAR4Y                [DONE   
78^Q          LDX   6  7
79FB          BRN      PAR2 
79^2    PAR3
7=DL          STO   6  7
7=Y=          BRN      PARP 
7?CW    PAR4Y   
7?XG          STOZ     2
7#C6    #   
7#WQ    #              MAKE ABSOLUTE IF - OR NOT #  
7*BB    PARP
7*W2          BNZ   5  SSNTL
7B*L          LDX   6  7
7BT=          SMO      FX2  
7C#W          LDX   7  AWORK3   
7CSG          BNG   7  PAR8                [J IF #  
7D#6          LDCT  5  #200 
7DRQ          ANDX  5  7
7F?B    PAR81   
7FR2          ORX   6  5                  [SET - OR NOT 
7G=L          STO   6  ISPARAMB+1(3)
7GQ=         TRACE   6,ISNUMREL           [<<<<<<<<<<>>>>>>>>>> 
7H9W          STOZ     ISPARAMB(3)        [CLEAR
7HPG          BRN      PAR4 
7J96    #   
7JNQ    #     SAVE NUMBER AND FINISH
7K8B    PAR8
7KN2          TRACE    6,ISNUMABS         [<<<<<<<<<<>>>>>>>>>> 
7L7L          STO   6  ISPARAMB(3)  
7LM=    PAR84   
7M6W          LDCT  6  #400 
7MLG          STO   6  ISPARAMB+1(3)      [SET ABSULOTE 
7N66    PAR4
7NKQ          ANDX  7  SSBITS22(1)         [CLEAR - AND #   
7P5B          EXIT  7  0  [NUMBER   
7PK2    #   
7Q4L    #   
7QJ=    #   
7R3W    #              MUST BE STRING IF NOT NUMBER 
7RHG    PARQ
7S36          BNG   7  SYNERR              [ERROR IF #  
7SGQ          LDN   1  SSDELIM(1)          [MUST BE DELIMITOR   
7T2B          LDCT  6  16                  [CHOICE OF 16
7TG2    PARQ6   
7T^L          LDCH  5  0(1)                [NEXT DELIM  
7WF=          BXE   0  5,PARQ5             [J IF FOUND  
7WYW          BCHX  1  £
7XDG          BCT   6  PARQ6               [TRY NEXT
7XY6          LDX   1  FX1  
7YCQ          BRN      SYNERR              [WHERES THE DELIM?   
7YXB    #   
7^C2    #              DELIMITOR FOUND  
7^WL    PARQ5   
82B=          SMO      FX2  
82TW          STO   7  AWORK1              [SAVE LINK   
83*G          LDN   1  ISPARAMB+3(3)       [SAVE CHARS HERE 
83T6          LDN   7  13                  [BUT ONLY 12 
84#Q    PAR72   
84SB          CALL  6  NEXT 
85#2          BRN      SYNERR              [NO TERMINATING DELIM
85RL          BXE   0  5,PAR99             [J IF DELIM  
86?=          BCT   7  PAR83
86QW          BRN      SYNERR              [TOO LONG
87=G    PAR83   
87Q6          DCH   0  0(1)                [SAVE CH 
889Q          BCHX  1  PAR72
88PB    #   
8992    #     NOW CALCULATE LENGTH  
89NL    PAR99   
8=8=          LDN   5  13   
8=MW          SBX   5  7                   [=LENGTH 
8?7G          BZE   5  SYNERR   
8?M6          SMO      FX2  
8#6Q          LDX   7  AWORK1   
8#LB          LDCT  6  #200 
8*62          ANDX  6  7
8*KL          BZE   6  PAR20               [J IF FORWARDS   
8B5=          LDCT  6  #400 
8BJW          ORX  5  6                   [SET MINUS
8C4G    PAR20   
8CJ6          TRACE    5,ISTEXT           [<<<<<<<<<<>>>>>>>>>> 
8D3Q          STO   5  ISPARAMB+2(3)
8DHB    #   
8F32    #     TIDY UP   
8FGL          CALL  6  NEXT 
8G2=          STOZ     2                   [SET EOL 
8GFW          LDX   1  FX1  
8G^G          ANDX  7  SSBITS22(1)  
8HF6          EXIT  7  1  [STRING   
8HYQ    #   
8JDB    #   
8JY2    #   
8KCL    #   
8KX=    # ================================================================= #   
8LBW    #   
8LWG    #   
8MB6    #   
8MTQ    #   
8N*B    #              REFIND SUBROUTINE
8NT2    #   
8P#L    #              USED BY ALTLEN   
8PS=    #   
8Q?W    REFIND  
8QRG          MHUNTW   2,AMXOR,ASCREEN  
8R?6          EXIT  1  0
8RQQ    #   
8S=B    #   
8SQ2    #   
8T9L    #   
8TP=    # ================================================================= #   
8W8W    #   
8WNG    #   
8X86    #   
8XMQ    #   
8Y7B    #              SYNTAX ERROR 
8YM2    #   
8^6L    #   
8^L=    SYNERR  
925W          MHUNTW   3,FILE,FRB          [FIND BAD COMMAND
92KG          TRACE  3,ISYNERR            [<<<<<<<<<<>>>>>>>>>> 
9356          LDCT  6  #600 
93JQ          ANDX  6  A1+1(3)  
944B          BNZ   6  SYNERRB  
94J2          ADN   6  1
953L    SYNERRB 
95H=          ADX   6  A1(3)
962W          SLC   6  2
96GG          SBN   6  12   
96J9 ...#   
96KY ...      MHUNTW   2,AMXOR,ASCREEN  
96MM ...      LDN   0  80                  [LENGTH OF TIP LINE  
96PB ...      SBX   0  ISTEXTCT(2)         [ - LENGTH OF LINE NO
96R5 ...      SBN   0  3                   [ - "<- "
96SS ...      BXL   6  0,SYNERRLEN         [J IF WITHIN LIMITS  
96WH ...      LDX   6  0                   [ELSE RESET TO MAX POSSIBLE  
96Y= ...SYNERRLEN   
9726          LDN   7  13                  [LENGTH OF FIXED TEXT
97FQ          ADX   7  6                   [TOTAL LENGTH OF MESSAGE 
97^B          LDX   5  7
98F2          ADN   5  3
98YL          SRA   5  2                   [ROUNDED TO WORDS
99D=          SETUPCORE    5,5,CPB,CUNI 
99XW          ADN   5  A1                  [PUT OUTPUT HERE 
9=CG          LDN   4  SSSYN(1) 
9=X6          MVCH  4  13                  [FIXED PART  
9?BQ          MHUNTW   3,FILE,FRB   
9?WB          LDN   4  A1+2(3)             [PTR TO BAD COMMAND  
9#B2          SMO      6
9#TL          MVCH  4  0
9**=          MHUNTW   3,AMXOR,ASCREEN  
9*SW          LDN   0  ISBITR+ISBITT+ISBITP+ISBITQ+ISBITE+ISBITF
9B#G          ORS   0  ISBITS(3)
9BS6          ERS   0  ISBITS(3)
9C?Q          LDX   6  ISMFORM(3)   
9CRB          LDCT  4  #030 
9D?2          STO   4  ISMFORM(3)   
9DQL          LDN   4  #40                 [MESSAGE CATEGORY
9F==          OUTMON   7,A1,4,CPB,CUNI  
9FPW          VFREE    CPB,CUNI 
9G9G          MHUNTW    3,AMXOR,ASCREEN 
9GP6          STO   6  ISMFORM(3)   
9H8Q          BRN      POINTER  
9HNB    #   
9J82    #   
9JML    #   
9K7=    # K5 K5 K5 K5 K5 K5 K5 K5 K5 K5 K5 K5 K5 K5 K5 K5 K5 K5 K5 K5 K5 #  
9KLW    #   
9L6G    #   
9LL6    START   
9M5Q          MHUNTW   3,AMXOR,ASCREEN  
9MKB          LDCT  0  #034                [LINE 3,CLEAR SCREEN 
9N52          STO   0  ISMERR(3)
9NJL          LDCT  0  #400 
9P4=          STO   0  ISOPAGE(3)          [SET C+7 ..  
9PHW          STO   0  ISOPREVPAGE(3)      [.. NOT ALLOWED  
9Q3G          STEP        1 
9QH6          TESTBRKIN  SCOMMANDQ         [Q ACTION IF BRK IN  
9R2Q          BNZ   3  POINTER            [J IF NOT EMPTY   
9RGB          LDX   6  SIFE(1)  
9S22          CALL  7  SCOMMENT 
9SFL          BRN      SCOMMANDQ
9S^=    #   
9TDW    #   
9TYG    #   
9WD6    #   
9WXQ    # K1 K1 K1 K1 K1 K1 K1 K1 K1 K1 K1 K1 K1 K1 K1 K1 K1 K1 K1 K1 K1 #  
9XCB    #   
9XX2    #   
9YBL    #   
9YW=    #   
9^*W    #              SET POINTER READY
9^TG    #   
=2*6    #              COME HERE WHEN READY FOR NEXT COMMAND
=2SQ    #   
=3#B    #              ALL BITS CLEARED/SET AS APPROPRIATE  
=3S2    #   
=4?L    #   
=4R=    POINTER 
=5=W          MHUNTW   3,AMXOR,ASCREEN  
=5QG          ALTLENGD   3,ASCREENLEN+2,REFIND  
=6=6          MHUNTW   3,AMXOR,ASCREEN  
=6PQ          TRACE    3,ISPOINT          [<<<<<<<<<<>>>>>>>>>> 
=79B          LDN   0  ISBITCE  
=7P2          ORS   0  ISBITS(3)              [SET COMMAND EXPECTED 
=88L          LDN   0  ISBITF   
=8N=          ANDX  0  ISBITS(3)          [F SET?   
=97W          LDN   4  ISBITLC  
=9MG          ORS   4  ISBITS(3)          [SET F ALLOWED
==76          BZE   0  PTRX               [J IF RIGHT   
==LQ          ERS   4  ISBITS(3)          [ELSE SET FI NVALID   
=?6B    PTRX
=?L2          LDN   0  ISBITR+ISBITT+ISBITP+ISBITE+ISBITF+ISBITQ
=#5L          ORS   0  ISBITS(3)
=#K=          ERS   0  ISBITS(3)           [CLEAR LAST COMMAND  
=*4W          CALL  7  SETLOP   
=*JG          LDCT  0  #010                [SET LINE 1,PTR READY
=B46          STO   0  ISMFORM(3)   
=BHQ          LDN   2  ISTEXT(3)           [PUT LINE NO HERE
=C3B          LDX   5  ISOCURRENT(3)       [CURRENT OLD FILE NO 
=CH2          MPY   5  SSMAGICNO(1) 
=D2L          LDN   0  0                   [TESTS FOR LEADING ZEROES
=DG=          LDN   4  7                   [ONLY 7 CHS  
=D^W          LDN   7  0
=FFG    PTRA
=F^6          CBD   5  7
=GDQ          DCH   7  0(2) 
=GYB          ADX   0  7                   [LEADING ZERO?   
=HD2          BNZ   0  PTRB                [J IF NO MORE
=HXL          BCT   4  PTRA 
=JC=          BCHX  2  PTRC 
=JWW    PTRB
=KBG          BCHX  2  £
=KW6          BCT   4  PTRA 
=L*Q    PTRC
=LTB          SLC   2  2
=M*2          LDN   0  ISTEXT(3)
=MSL          SLC   0  2
=N#=          SBX   2  0
=NRW          STO   2  ISTEXTCT(3)         [AND DONE
=P?G    #   
=PR6    #   
=Q=Q    #   
=QQB    #   
=R=2    #   
=RPL    # K2 K2 K2 K2 K2 K2 K2 K2 K2 K2 K2 K2 K2 K2 K2 K2 K2 K2 K2 K2 K2 #  
=S9=    #   
=SNW    #   
=T8G    #   
=TN6    #   
=W7Q    #              OUTPUT AMXOR/ASCREEN BLOCK   
=WMB    #   
=X72    #              LINE NO,COL NO,READX BIT MUST BE SET/CLEARED 
=XLL    #                  BEFORE ENTRY TO THIS ROUTINE 
=Y6=    #   
=YKW    #              LAST MESSAGE OUTPUT BIT WILL BE SET/CLEARED  
=^5G    #                  AS APPROPRIATE   
=^K6    #   
?24Q    #              CLEAR SCREEN WILL BE SET IF LAST OUTPUT  
?2JB    #                  WAS A TEXT READY 
?342    #   
?3HL    #              BROADCASTS WILL BE DEALT WITH BY THIS SECTION ONLY   
?43=    OUTPUT  
?4GW          VFREEW    FILE,FRB
?52G          MHUNTW   3,AMXOR,ASCREEN  
?5G6          TRACE    3,ISOUTPUT         [<<<<<<<<<<>>>>>>>>>> 
?5^Q          LDCT  0  #002                [B7=1,SUPPRESS READY 
?6FB          ANDX  0  ISMFORM(3)   
?6^2          BNZ   0  OUTSB2               [J IF NOT PTR READY 
?7DL    #   
?7Y=    #     OUTPUT MUST BE PTR READY  
?8CW    #     OUTPUT FIRST BC IF ANY
?8XG          HUNT2J   1,AMXOR,BBC,FX2,OUTSB   [J IF NONE,ELSE FIND IT  
?9C6          TRACE    1,ISOUTBBC         [<<<<<<<<<<>>>>>>>>>> 
?9WQ          LDX   6  ISMFORM(3)          [SAVE OVER OUTPUTING OF BC   
?=BB          LDCT  5  #002                [LINE 0,COL 0,TEXT RDY   
?=W2          LDX   0  ISMERR(3)
??*L          SRL   0  18   
??T=          SBN   0  3
?##W          BNZ   0  OUTSD               [J IF ERROR ON SCREEN ALREADY
?#SG          LDX   0  ISBITS(3)
?*#6          ANDN  0  ISBITLOP            [LAST 0P PTR READY   
?*RQ          BNZ   0  OUTSD               [J IF SO 
?B?B          LDCT  5  #006                [LINE 0,COL 0,TEXT RDY,CLEAR SCREEN  
?BR2    OUTSD   
?C=L          STO   5  ISMFORM(3)   
?CQ=          SMO      FX1  
?D9W          LDX   5  SSKATZ              [CATEGORIES  
?DPG          OUTMON   A1(1),A1+2,5,AMXOR,BBC  [OUTPUT BC   
?F96          MFREEW   AMXOR,BBC
?FNQ          MHUNTW   3,AMXOR,ASCREEN  
?G8B          STO   6  ISMFORM(3)          [RESET TO ORIGINAL   
?GN2          BRN      REPEAT              [J TO OUTPUT DATA
?H7L    #   
?HM=    #   
?J6W    #     NOW OUTPUT TEXT IN ASCREEN BLOCK  
?JLG    OUTSB   
?K66          MHUNTW   3,AMXOR,ASCREEN  
?KKQ    OUTSB2  
?L5B          TRACE    3,ISOUTMES         [<<<<<<<<<<>>>>>>>>>> 
?LK2          LDX   0  ISBITS(3)
?M4L          ANDN  0  ISBITLOP            [LAST OP PTR READY   
?MJ=          BNZ   0  OUTSD3               [J IF SO
?N3W          LDX   0  ISMERR(3)
?NHG          SRL   0  18   
?P36          SBN   0  3
?PGQ          BNZ   0  OUTSD3              [J IF ERROR ON SCREEN ALREADY
?Q2B          LDCT  0  #004                [B6=CLEAR SCREEN 
?QG2          ORS   0  ISMFORM(3)          [AND SET 
?Q^L          BRN     OUTSD3
?RF=    #   
?RYW    #   
?SDG    # K3 K3 K3 K3 K3 K3 K3 K3 K3 K3 K3 K3 K3 K3 K3 K3 K3 K3 K3 K3 K3 #  
?SY6    #   
?TCQ    REPEAT  
?TMJ ...      VFREEW   FILE,FRB 
?TXB          MHUNTW   3,AMXOR,ASCREEN  
?WC2          TRACE    3,ISREPEAT          [<<<<<<<<<<<<<<<<<<<<
?WWL    OUTSD3  
?XB=          LDCT  0  #030               [LINE 3,TEXT RDY  
?XTW          STO   0  ISMERR(3)           [LINE 1 FOR ERRORS & COMMENTS
?Y8? ...      TRACE    ISTEXTCT(3),ISOUTLEN   [<<<<<<<<<<>>>>>>>>>> 
?YGN ...      OUTEXES     ISTEXTCT(3),ISTEXT,AMXOR,ASCREEN  
?YT6          READY        SBREAKIN 
?^#Q    #   
?^SB    #   
#2#2    #   
#2RL    #   
#3?=    # ================================================================= #   
#3QW    #   
#4=G    #   
#4Q6    #   
#59Q    #   
#5PB    #   
#692    #              DECIDE WHAT TO DO WITH INPUT 
#6NL    #   
#78=    #   
#7MW          MHUNTW   3,FILE,FRB   
#87G          LDX   0  A1(3)
#8M6          BNG   0  SDR1                [J IF CONTROL CH 
#96Q    #     INPUT IS TEXT 
#9LB          MHUNTW   3,AMXOR,ASCREEN  
#=62          LDN   0  ISBITCE  
#=KL          ANDX  0  ISBITS(3)           [COMMAND EXPECTED?   
#?5=          BNZ   0  SCOMMAND            [J IF SO 
#?JW          BRN      SDATA               [MUST BE DATA
##4G    #     ACTION KEYS   
##J6    SDR1
#FY2          LDX  0  A1(3) 
#GCL          ANDN  0  #7777
#GX=          SBN   0  1
#HBW          ADN   3  A1+2 
#HWG          SRC   0  2
#JB6          ADX   3  0
#JTQ          LDCH  0  0(3) 
#K5J ...      ANDN  0  #17                 [LOOSE ANY SHIFT 
#K*B          TRACE    0,ISACTION          [<<<<<<<<<<>>>>>>>>>>
#KT2          BXL   0  SS6(1),REPEAT       [J IF 0-5
#L#L          BXL   0  SS8(1),SCONTROL     [J IF 6-7
#LS=          BRN      REPEAT              [     7-9
#M?W    #   
#MRG    #   
#N?6    #   
#NQQ    #   
#P=B    #   
#PQ2    # ================================================================= #   
#Q9L    #   
#QP=    #   
#R8W    #   
#RNG    #   
#S86    #              COMMAND ANALYSIS 
#SMQ    #   
#T7B    #              NOW WE HAVE A COMMAND
#TM2    #              OUTMON IT
#W6L    #              SYNTAX CHECK IT (EXCEPT FOR DIRECTION
#WL=    #                               OF %A AND %B OF T OR P) 
#X5W    #              BRANCH TO SCOMMAND<COMMAND NAME> 
#XKG    #   
#Y56    #   
#YJQ    SCOMMAND
#^4B          MHUNTW   3,AMXOR,ASCREEN  
#^J2          LDN  0  ISBITCE   
*23L          ERS   0  ISBITS(3)           [CLEAR CE
*2H=          HUNTW    2,FILE,FRB          [FIND COMMAND
*32W          TRACE   2,ISCOMAND          [<<<<<<<<<<>>>>>>>>>> 
*3GG          LDCT  4  #600 
*426          ANDX  4  A1+1(2)  
*4FQ          BNZ   4  SCOMMUP  
*4^B          ADN   4  1
*5F2    SCOMMUP 
*5YL          ADX   4  A1(2)
*6D=          SLC   4  2
*6XW          SBN   4  12   
*7CG          BZE   4  SETFPTR          [J IF NULL  
*7FP ...      LDN  0  80                   [LENGTH OF TOP LONE  
*7HY ...      SBX   0  ISTEXTCT(3)         [ - LENGTH OF LINE NO
*7L7 ...      SBN   0  3                   [ - "<- "
*7NB ...      BXL   4  0,SCOMMLENOK        [J IF WITHIN LIMITS  
*7QK ...      LDX   4  0                   [ELSE RESET TO MAX POSSIBLE  
*7SS ...SCOMMLENOK  
*7X6          STO   4  7            [SAVE COUNT 
*8BQ          ADN   2  A1+2-1   
*8WB          LDCT  6  #600 
*9B2          ORX   2  6              [PTR TO LAST CHAR - 1 
*9TL          CALL  6  NONSPACE        [TEST FOR NULL INPUT 
*=*=          BRN      SETFPTR        [IT WAS   
*=SW          LDX   4  7               [RESTORE COUNT   
*?#G          LDX   5  SSKATC(1)
*?S6          OUTMON   4,A1+2,5,FILE,FRB
*#?Q          MHUNTW   2,FILE,FRB   
*#RB          MHUNTW   3,AMXOR,ASCREEN  
**?2          ADN   2  A1+2-1   
**QL          LDCT  6  #600 
*B==          ORX   2  6                   [PTR TO CHAR BEFORE FIRST
*BPW          CALL  6  NONSPACE 
*C9G          NULL              [CANT BE NULL   
*CP6    #   
*D8Q          BXU   0  SSF(1),SCOMNOTF  
*DNB          CALL  6  NONSPACE 
*F82          BRN      SCOMMANDF          [J IF F               **** F  
*FML          LDX   5  ISOCURRENT(3)
*G7=          STO   5  ISOPREVCOM(3)
*GLW          LDX   5  ISNCURRENT(3)
*H6G          STO   5  ISNPREVCOM(3)
*HL6          BRN      SYNERR   
*J5Q    SCOMNOTF
*JKB          LDX   5  ISOCURRENT(3)
*K52          STO   5  ISOPREVCOM(3)
*KJL          LDX   5  ISNCURRENT(3)
*L4=          STO   5  ISNPREVCOM(3)
*LHW          STOZ     5                   [R MARKER
*M3G          BXU   0  SSR(1),SCOMA1       [J IF NOT R  
*MH6          LDN   5  ISBITR   
*N2Q          ORS   5  ISBITS(3)           [SET R   
*NGB          CALL  6  NONSPACE 
*P22          BRN      SYNERR              [R WHAT? 
*PFL    SCOMA1  
*PKH ...      SMO      FX2  
*PPD ...      STO   0  AWORK4             [SAVE COMMAND LETTER  
*PT* ...      BXE   0  SSI(1),SCOMAT      [I GOES TO T  
*P^=          BXE   0  SST(1),SCOMAT       [J IF T  
*QDW          BXE   0  SSP(1),SCOMAP       [J IF P  
*QYG    #     MUST BE F E F OR T BY DEFAULT 
*RD6          BXE   0  SSQ(1),SCOMZ1
*RXQ          BXE   0  SSE(1),SCOMZ1
*SCB          BXE   0  SSF(1),SCOMZ1
*SX2    #     ASSUME T  
*TBL          ORX   0  GSIGN        [AND REMEMBER   
*TW=          BRN      SCOMAT   
*W*W    SCOMZ1  
*WTG          BNZ   5  SSROTKINA        [ERR IF R   
*X*6          STO   0  7                [COMMAND LETTER 
*XSQ          CALL  6  NONSPACE 
*Y#B          BRN      SCOMZ2            [OK NO MORE CHARS  
*YS2          BRN      SYNERR            [TOO MANY CHARS
*^?L    SCOMZ2  
*^R=          BXE   7  SSQ(1),SCOMMANDQ     [               **** Q  
B2=W          BXU   7  SSF(1),SCOMMANDE    [               **** E   
B2QG          BRN      SCOMMANDF           [                **** F  
B3=6    SCOMAT  
B3PQ          LDN   6  ISBITT   
B49B          BRN      SCOMATP  
B4P2    SCOMAP  
B58L          LDN   6  ISBITP   
B5N=    SCOMATP 
B67W          ORS   6  ISBITS(3)           [SET T OR P  
B6MG          LDN   6  ISBITA+ISBITB
B776          ORS   6  ISBITS(3)
B7LQ          ERS   6  ISBITS(3)           [SET %A & %B AS NUMBERS  
B86B          STOZ     ISPARAMB+1(3)         [DEFAULT OF 0 FOR %A   
B8L2          STOZ     ISPARAMB(3)  
B95L          BNG   0  SCOMDEFT     [JI F T BY DEFAULT  
B9K=          CALL  6  NONSPACE 
B=4W          STOZ     2                   [SET EOL 
B=JG          BZE   2  SCOMAB9  
B?46    SCOMDEFT
B?HQ          ANDX  0  SSBITS22(1)        [CLEAR DEFAULT IF ANY 
B#3B          CALL  7  PARAMETER           [ANALYSE %A  
B#H2          BRN      SCOMAB9             [J IF NUMBER 
B*2L          LDN   6  ISBITA   
B*G=          ORS   6  ISBITS(3)           [SET STRING  
B*^W    SCOMAB9 
BBFG          LDN   5  ISPARAMB(3)  
BB^6          LDN   6  ISPARAMA(3)  
BCDQ          MOVE  5  ISPARAMB-ISPARAMA   [MOVE %A TO CORRECT POSN 
BCYB    SCOMAB2 
BD3G ...      STOZ     ISPARAMB+1(3)       [SET 0 IN CASE T 
BD6L ...      SMO      FX2  
BD9Q ...      LDX   5  AWORK4             [I T OR P 
BD#W ...      BXE   5  SSI(1),SCOMAB22    [J IF I   
BDD2          LDN   5  20   
BDXL          STO   5  ISPARAMB+1(3)         [20 DEFAULT FOR %B 
BF7D ...SCOMAB22
BFC=          STOZ     ISPARAMB(3)  
BFWW          BZE   2  SCOMAB4             [J IF END OF LINE
BGBG          BXU   0  SSSPACE(1),SCOMAB27 [J IF CHAR   
BGW6          CALL  6  NONSPACE 
BH*Q          BRN      SCOMAB4             [E O L   
BHTB    SCOMAB27
BH^? ...      SMO      FX2  
BJ58 ...      LDX   6  AWORK4             [ I T OR P
BJ95 ...      BXE   6  SSI(1),SYNERR      [EP2 NOT ALLOWED WITH I   
BJ*2          BXU   0  SSCOMMA(1),SYNERR    [SHOULD BE COMMA
BJSL          CALL  6  NONSPACE 
BK#=          BRN      SCOMAB4             [NO %B   
BKRW          CALL  7  PARAMETER           [ANALYSE %B  
BL?G          BRN      SCOMAB33            [J IF NUMBER 
BLR6          LDN   6  ISBITB   
BM=Q          ORS   6  ISBITS(3)           [SET STRING  
BMQB    SCOMAB33
BN=2          BZE   2  SCOMAB4              [J IF EOL   
BNPL          BXU   0  SSSPACE(1),SYNERR     [ERR IF ODD CH AT END OF LINE  
BP9=          CALL  6  NONSPACE 
BPNW          BRN      SCOMAB4            [EOL OK   
BQ8G          BRN      SYNERR              [WOTS THESE ODD CHARS
BQN6    SCOMAB4 
BR7Q          LDN   6  ISBITT   
BRMB          ANDX  6  ISBITS(3)
BS72          BNZ   6  SCOMMANDT           [               **** T   
BSLL          BRN      SCOMMANDP           [               **** P   
BT6=    SETFPTR 
BTKW          LDX   0  ISOCURRENT(3)
BW5G          STO   0  ISOPREVCOM(3)
BWK6          LDX   0  ISNCURRENT(3)
BX4Q          STO   0  ISNPREVCOM(3)
BXJB          BRN      POINTER  
BY42    #   
BYHL    #   
B^3=    #   
B^GW    #   
C22G    #   
C2G6    # K4 K4 K4 K4 K4 K4 K4 K4 K4 K4 K4 K4 K4 K4 K4 K4 K4 K4 K4 K4 K4 #  
C2^Q    #   
C3FB    #   
C3^2    #   
C4DL    #   
C4Y=    #              SORTOUT BREAKIN WHEN ONE DETECTED
C5CW    #   
C5XG    #              TAKE AUTOMATIC E ACTION IF NOT MOP BREAK IN  
C6C6    #   
C6WQ    #              IF PTR RDY REOUTPUT POINTER  
C7BB    #              IF TEXT RDY TERMINATE INSTRUCTION
C7W2    SBREAKIN
C8*L          MHUNTW   3,AMXOR,ASCREEN  
C8T=          LDN   0  ISBITR   
C9#W          ORS   0  ISBITS(3)
C9SG          ERS   0  ISBITS(3)           [CLEAR R 
C=#6          BRKINOFF SERIOUS           [J IF SERIOUS  
C=RQ    #              ONLY MOP BREAK IN
C??B          MHUNTW   3,AMXOR,ASCREEN  
C?R2          TRACE   3,ISMOPBRK           [<<<<<<<<<<>>>>>>>>>>
C#=L          LDCT  0  #002 
C#Q=          ANDX  0  ISMFORM(3)   
C*9W          BZE   0  POINTER             [J IF PTR READY  
C*PG    #              MUST BE DURING AN INSTRUCTION
CB96          LDN  0  ISBITLOP  
CBNQ          ORS   0  ISBITS(3)
CC8B          ERS   0  ISBITS(3)          [FORCE CLEAR SCREEN   
CCN2          LDCT  0  #030 
CD7L          STO   0  ISMERR(3)           [      ; 
CDM=          LDX   0  ISOPAGE(3)          [STEP BACK TO HERE   
CF6W          BNG  0  SSIT                 [J IF NOT VALID  
CFLG          CALL  7  STEPBACKOLD         [... IN OLD FILE 
CG66          MHUNTW   3,AMXOR,ASCREEN  
CGKQ          LDX   0  ISNPAGE(3)          [STEP BACK TO HERE IN
CH5B          CALL  7  STEPBACKNEW         [... NEW FILE
CHK2          BRN      SSIT                [INTR TERM   
CJ4L    #   
CJJ=    SERIOUS 
CK3W          TESTBRKIN  SER2            [TO CLEAR BRK IN BIT ONLY  
CKHG    SER2
CL36          MHUNTW   3,AMXOR,ASCREEN  
CLGQ          TRACE   3,ISABANDN           [<<<<<<<<<<>>>>>>>>>>
CLLX ...#   
CLR4 ...      LDCT  0  #002 
CLX9 ...      ANDX  0  ISMFORM(3)   
CM3B ...      BZE   0  SER1             [J IF ON PTR RDY
CM7H ...#     FORCE CLEAR SCREEN
CM?N ...      LDCT  0  #034 
CMCT ...      STO   0  ISMERR(3)
CMJ2 ...#     MUST BE DURING AN INSTRUCTION 
CMN7 ...#     POSSIBY SOME DATA DISPLAYED   
CMS# ...#     DONT LOOSE IT!
CMYF ...      LDX   0  ISOPAGE(3)           [GO BACK TO HERE
CN4L ...      BNG   0  SER1                [BUT J IF INVALID
CN8R ...      CALL  7  STEPBACKOLD          [OK SO STEP BACK
CN#Y ...      MHUNTW   3,AMXOR,ASCREEN  
CNF=    #   
CRWL    SER1
CSB=          LDX   5  ISMFORM(3)          [SAVE
CSTW          LDX   0  ISMERR(3)           [ERR MESS PLACEMENT  
CT*G          STO   0  ISMFORM(3)   
CTT6          LDX   6  ISOCURRENT(3)      [CURRENT OLD FILE PTR 
CW#Q          LDX   7  ISNCURRENT(3)      [CURRENT NEW FILE PTR 
CWSB          OUTBLOCKN   6 
CX#2          OUTNUM   6,0  
CXRL          OUTNUM   7,0  
CY?=          MONOUT   FILEUP   
CYQW          MHUNTW   3,AMXOR,ASCREEN  
C^=G          STO   5  ISMFORM(3)          [RESET   
C^Q6          LDCT  0  #020 
D29Q          ADS   0  ISMERR(3)           [EXTRA LINE FOR BIG MESSAGE  
D2PB          LDCT  0  #004 
D392          ORS   0  ISMERR(3)
D3NL          ERS   0  ISMERR(3)           [CLEAR CLEAR SCREEN  
D48=          BRN      SCOMMANDE          [AUTOMATIC E ACTION   
D4MW    #   
D57G    #   
D5M6    # ================================================================= #   
D66Q    #   
D6LB    #   
D762    #   
D7KL    #   
D85=    #   
D8JW    #              OUTPUT MESSAGE THEN POINTER READY
D94G    SSYROTBOTF     [YOUVE RUN OFF THE BEGINNING OF THE FILE 
D9J6          LDN   3  SYROTBOTF
D=3Q          BRN      SSOUTCOM 
D=HB    SSYRYBSL       [YOU'VE REACHED YOUR BACKING STORE LIMIT 
D?32          LDN   3  SYRYBSL  
D?GL          BRN      SSOUTCOM 
D#2=    SSE2MBAFR      [ENDPOINT2 MUST BE A FORWARD REFERENCE   
D#FW          LDN   3  SE2MBAFR 
D#^G          BRN      SSOUTCOM 
D*F6    SSROTKINA      [REPETITION OF THIS KIND IS NOT ALLOWED  
D*YQ          LDN   3  SROTKINA 
DBDB          BRN      SSOUTCOM 
DBY2    SSBTNA        [BACKWARDS TRANSCRIPTION NOT ALLOWED  
DCCL          LDN   3  SBTNA
DCX=          BRN      SSOUTCOM 
DDBW    SSYROTEOTF     [YOU'VE RUN OFF THE END OF THE FILE  
DDWG          LDN   3  SYROTEOTF
DFB6          BRN      SSOUTCOM 
DFTQ    SSFMNBUITC     [IF MAY NOT BE USED IN THIS CONTEXT  
DG*B          LDN   3  SFMNBUITC
DGT2          BRN      SSOUTCOM 
DH#L    SSYFYNF        [YOU'VE FILLED YOUR NEW FILE 
DHS=          LDN   3  SYFYNF   
DJ?W          BRN      SSOUTCOM 
DJRG    SSIT           [INSTRUCTION TERMINATED  
DK?6          LDN   3  SIT  
DKQQ          BRN      SSOUTCOM 
DL=B    SSNTL          [NUMBER TOO LARGE
DLQ2          LDN   3  SNTL 
DM9L          BRN      SSOUTCOM 
DMP=    SSEA           [EDIT ABANDONED  
DN8W          LDN   3  SEA  
DNNG          BRN      SSOUTCOM 
DP86    SSEOE          [END OE EDIT 
DPMQ          LDN   3  SEOE 
DQ7B    SSOUTCOM
DQM2          ADX   3  FX1               [ABS PTR TO EG 
DR6L          LDX   6  0(3)                [PTR TO MESSAGE  
DRL=          CALL  7  SCOMMENT 
DS5W          BRN      POINTER  
DSKG    #   
DT56    #   
DTJQ    #   
DW4B    #   
DWJ2    # ================================================================= #   
DX3L    #   
DXH=    #   
DY2W    #   
DYGG    #   
D^26    #   
D^FQ    #   
D^^B    #   
F2F2    #   
F2YL    # ================================================================= #   
F3D=    #   
F3XW    #   
F4CG    #   
F4X6    #   
F5BQ    #   
F5WB    #   
F6B2    #   
F6TL    #              SWITCH TO OTHER CHAPTERS 
F7*=    SDATA   
F7SW          ACROSS   SCEDITAR,1   
F8#G    SCONTROL
F8S6          ACROSS   SCEDITAR,2   
F9?Q    SCOMMANDT   
F9RB          ACROSS   SCEDITAR,3   
F=?2    SCOMMANDP   
F=QL          ACROSS   SCEDITAR,4   
F?==    SCOMMANDE   
F?PW          ACROSS   SCEDITAR,5   
F#9G    SCOMMANDF   
F#P6          ACROSS   SCEDITAR,6   
F*8Q    SCOMMANDQ   
F*NB          ACROSS   SCEDITAR,7   
FB82    #   
FBML    #   
FC7=    #   
FCLW    #END
^^^^ ...235266220005