{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: SCEDITAR84)}}
====== SCEDITAR84 ======
(George Source)
**Macros used:** [[george:macro:ACROSS|ACROSS]], [[george:macro:ALTLENG|ALTLENG]], [[george:macro:ALTLENGD|ALTLENGD]], [[george:macro:ASCEDIT|ASCEDIT]], [[george:macro:BACKSPACE|BACKSPACE]], [[george:macro:BXE|BXE]], [[george:macro:BXGE|BXGE]], [[george:macro:BXL|BXL]], [[george:macro:BXU|BXU]], [[george:macro:CATMASK|CATMASK]], [[george:macro:CHARS|CHARS]], [[george:macro:CLOSE|CLOSE]], [[george:macro:CLOSEABANDON|CLOSEABANDON]], [[george:macro:CURTAIL|CURTAIL]], [[george:macro:ENDCOM|ENDCOM]], [[george:macro:HUNT2J|HUNT2J]], [[george:macro:MHUNTW|MHUNTW]], [[george:macro:MONOUTX|MONOUTX]], [[george:macro:OFF|OFF]], [[george:macro:REPEAT|REPEAT]], [[george:macro:SEG|SEG]], [[george:macro:SEGENTRY|SEGENTRY]], [[george:macro:SETNCORE|SETNCORE]], [[george:macro:STEP|STEP]], [[george:macro:STEPAGAIN|STEPAGAIN]], [[george:macro:TESTBRKIN|TESTBRKIN]], [[george:macro:TESTREP|TESTREP]], [[george:macro:TRACE|TRACE]], [[george:macro:VFREEW|VFREEW]], [[george:macro:WIND|WIND]], [[george:macro:XCBINDEX|XCBINDEX]]
22FL SEG SCEDITAR,,KEITH H MARTIN
22^= #LIS K0SCEDITAR>K0ALLGEO>K0GREATGEO
23DW #
23YG #
24D6 #
24XQ #
25CB # IN
25X2 # **
26BL #
26W= SEGENTRY K1SCEDITAR,SDATA [SCREENFULL OF DATA
27*W SEGENTRY K2SCEDITAR,SCONTROL [CONTROL +6,+7
27TG SEGENTRY K3SCEDITAR,SCOMMANDT [T
28*6 SEGENTRY K4SCEDITAR,SCOMMANDP [P
28SQ SEGENTRY K5SCEDITAR,SCOMMANDE [E
29#B SEGENTRY K6SCEDITAR,SCOMMANDF [F
29S2 SEGENTRY K7SCEDITAR,SCOMMANDQ [Q
2=?L #
2=R= #
2?=W # OUT
2?QG # ***
2#=6 # K1SCEDITOR [OUTPUT POINTER READY
2#PQ # K2SCEDITOR [OUTPUT ASCREEN BLOCK
2*9B # K3SCEDITOR [REOUTPUT ASCREEN BLOCK
2*P2 # K4SCEDITOR [BREAK IN
2B8L #
2BN= #
2C7W #
2CMG #
2D76 # ================================================================= #
2DLQ #
2F6B #
2FL2 #
2G5L #
2GK= SSKATC CATMASK COMMANDS
2H4W SSCOMMA 4H000,
2HJG SSSPACE 4H000
2J46 SSSPACES 4H
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
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
2T58 ...XISBITNG #00010000 [FLAG FOR NON GRAPHIC FILES
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
38#J ...SCHOP 48HWARNING: TOTAL LINES TRUNCATED TO 80 CHARS
38JB #
3942 #
39HL #
3=3= #
3=GW # ================================================================= #
3?2G #
3?G6 #
3?^Q #
3#FB #
3#^2 #
3*DL # MATCH SUBROUTINE
3*Y= #
3BCW # DOES THE USER GIVEN STRING MATCH
3BXG # WITH THE CURRENT LINE
3CC6 #
3CWQ # GIVEN
3DBB # X1=PTR TO STRING(ISPARAMA+2 OR ISPARAMB+2)
3DW2 # X2=PTR TO LINE
3F*L #
3FT= # LINK X7
3G#W # USES
3GSG # X3 CHAR FROM STRING
3H#6 # X4 CHAR FROM LINE
3HRQ # X5 LENGTH OF STRING
3J?B # X6 LENGTH OF LINE
3JR2 # EXIT CALL+1 MATCH
3K=L # CALL+2 N0 MATCH
3KQ= MATCH
3L9W # CALCULATE LENGTHS
3LPG LDX 5 0(1) [STRING LENGTH
3M96 SMO FX1
3MNQ ANDX 5 SSBITS22 [IGNORE DIRECTION
3N8B LDCT 6 #600
3NN2 ANDX 6 FRH+1(2)
3P7L BNZ 6 MATCHUP
3PM= ADN 6 1
3Q6W MATCHUP
3QLG ADX 6 FRH(2)
3R66 SLC 6 2
3RKQ SBN 6 12
3S5B BZE 6 MATCHNO [NO MATCH IF ZERO LINE
3SK2 [LINE LENGTH
3T4L # STEP OVER RED TAPE ETC
3TJ= ADN 1 1
3W3W ADN 2 FRH+2
3WHG # TEST MATCH
3X36 MATCHA
3XGQ LDCH 3 0(1)
3Y2B LDCH 4 0(2)
3YG2 BXU 3 4,MATCHNO
3Y^L # STEP POINTERS
3^F= BCHX 1 £
3^YW BCHX 2 £
42DG # TEST COUNTS
42Y6 BCT 5 MATCHB
43CQ MATCHYES
43XB EXIT 7 0
44C2 MATCHB
44WL BCT 6 MATCHA
45B= MATCHNO
45TW EXIT 7 1
46*G #
46T6 #
47#Q #
47SB #
48#2 # ================================================================= #
48RL #
49?= #
49QW #
4==G #
4=Q6 #
4?9Q # STEPBACKOLD,STEPBACKNEW SUBROUTINES
4?PB # STEPS BACK TO LINE (X0) IN NEW OR OLD FILE AND
4#92 # RESETS CURRENT LINE NO
4#NL #
4*8= # LINK X7
4*MW #
4B7G # X3 MUST BE PTR TO AMXOR:ASCREEN
4BM6 #
4C6Q #
4CLB #
4D62 #
4DKL STEPBACKNEW
4DTD ... SBX 7 FX1
4F5= LDX 6 ISNCURRENT(3) [CURREN LINE NO
4FJW SBX 6 0 [DIFFERENCE
4G4G TRACE 6,ISNEWBAK [<<<<<<<<<<>>>>>>>>>>
4GJ6 BZE 6 STEPBNEX
4H3Q STO 0 ISNCURRENT(3) [RESET
4HHB STEPBNA
4J32 BACKSPACE 0
4JGL BCT 6 STEPBNA
4K2= LDN 0 0
4KFW CURTAIL 0 [SET APPEND=READ PTR
4K^G STEPBNEX
4L9# ... ADX 7 FX1
4LF6 EXIT 7 0
4LYQ #
4MDB #
4MY2 #
4NCL #
4NX= STEPBACKOLD
4P74 ... SBX 7 FX1
4PBW LDX 6 ISOCURRENT(3)
4PWG SBX 6 0
4QB6 TRACE 6,ISOLDBAK [<<<<<<<<<>>>>>>>>>>
4QTQ BZE 6 STEPBOEX
4R*B STO 0 ISOCURRENT(3)
4RK8 ... BNG 6 STEPBOB [J IF MOVE FORWARDS
4RT2 STEPBOA
4S#L BACKSPACE 1
4SS= BCT 6 STEPBOA
4T?W STEPBOEX
4THN ... ADX 7 FX1
4TRG EXIT 7 0
4TTD ...STEPBOB
4TXB ... NGX 6 6 [MAKE +VE COUNT
4T^# ...STEPBOC
4W3= ... STEP 1
4W58 ... BCT 6 STEPBOC [TO LOOP ON
4W76 ... ADX 7 FX1
4W94 ... EXIT 7 0
4W?6 #
4WQQ #
4X=B #
4XQ2 #
4Y9L # ================================================================= #
4YP= #
4^8W #
4^NG #
5286 #
52MQ #
537B # SETLOP SUBROUTINE
53M2 #
546L # MUST BE CALLED BEFORE OVERWRITING ISMFORM
54L= # WHEN OUTPUTTING TEXT RDY OR PTR RDY BUT
555W # NOT FOR ERROR MESSAGES
55KG #
5656 # CALL ON X7
56JQ #
574B # N.B THE LAST OUTPUT IS THE ONE PRIOR TO THE
57J2 # --- ONE ON THE SCREEN NOW OR THE ONE JUST
583L # ABOUT TO BE OUTPUT
58H= # CF LAST OUTPUT - CURRENT OUTPUT
592W SETLOP
59GG LDN 5 ISBITLOP
5=26 ORS 5 ISBITS(3) [SET LAST OUTPUT READY
5=FQ LDCT 0 #002 [B7=TEXT READY
5=^B ANDX 0 ISMFORM(3)
5?F2 BZE 0 SETLOPX [J IF PTR RDY
5?YL ERS 5 ISBITS(3) [CLEAR LAST OUTPUT PTR READY
5#D= SETLOPX
5#XW EXIT 7 0
5*CG #
5*X6 #
5BBQ #
5BWB #
5CB2 # ================================================================= #
5CTL #
5D*= #
5DSW #
5F#G #
5FS6 # SCOMMENT SUBROUTINE
5G?Q #
5GRB #
5H?2 # OUTPUT FIXED MESSAGE ON NEXT FREE LINE
5HQL #
5J== # CALL ON X7
5JPW # EXIT TO CALL+1
5K9G #
5KP6 # X6 PTR TO MESSAGE
5L8Q #
5LNB SCOMMENT
5LY8 ... SBX 7 FX1
5M82 MHUNTW 3,AMXOR,ASCREEN
5MML LDN 0 ISBITR
5N7= ORS 0 ISBITS(3)
5NLW ERS 0 ISBITS(3) [CLEAR R
5P6G LDN 0 ISBITLOP
5PL6 ANDX 0 ISBITS(3) [LAT OP PTR RDY
5Q5Q BNZ 0 SCOM1 [J IF SO
5QKB LDX 0 ISMERR(3)
5R52 SRL 0 18
5RJL SBN 0 3
5S4= BNZ 0 SCOM1 [J IF ONE ON SCREEN NOW
5SHW LDCT 0 #004
5T3G ORS 0 ISMERR(3) [SET CLEAR SCREEN
5TH6 SCOM1
5W2Q LDX 5 ISMFORM(3) [SAVE THIS
5WGB LDX 0 ISMERR(3)
5X22 STO 0 ISMFORM(3)
5XFL MONOUTX 6
5X^= MHUNTW 3,AMXOR,ASCREEN
5YDW STO 5 ISMFORM(3)
5YYG LDCT 0 #010
5^D6 ADS 0 ISMERR(3) [LINES+1
5^XQ LDCT 0 #004
62CB ORS 0 ISMERR(3)
62X2 ERS 0 ISMERR(3) [CLEAR CLEAR SCREEN
636S ... ADX 7 FX1
63BL EXIT 7 0
63W= #
64*W #
64TG #
65*6 #
65SQ # ================================================================= #
66#B #
66S2 #
67?L #
67R= #
68=W # WRITETIDY SUBROUNTINE
68QG #
69=6 # TIDY UP WHEN
69PQ # WRITING COMPLETED
6=9B #
6=P2 # SET READ POINTERS EQUAL TO END OF FILE
6?8L #
6?N= # UPDATE ISNCURRENT BY 1
6#7W #
6#MG # LINK X7
6*76 WRITETIDY
6*BY ... SBX 7 FX1
6*LQ WIND 0
6B6B MHUNTW 3,AMXOR,ASCREEN
6BL2 LDN 0 1
6C5L ADS 0 ISNCURRENT(3)
6C*D ... ADX 7 FX1
6CK= EXIT 7 0
6D4W #
6DJG #
6F46 #
6FHQ #
6G3B #
6GH2 # ================================================================= #
6H2L #
6HG= #
6H^W #
6JFG #
6J^6 # SDIRECTION SUBROUTINE
6KDQ # %A OR %B OF T OR B BACKWARDS OR FORWARDS
6KYB #
6LD2 # CALL ON X7
6LXL # X6=0 NUMBER
6MC= # X6=1 STRING
6MWW # X2=PTR TO ANALYSED PARAM
6NBG # (ISPARAMA OR ISPARAMB)
6NW6 # X3=PTR TO AMXOR/ASCREEN
6P*Q #
6PTB # EXIT CALL+1 BACKWARDS
6Q*2 # CALL+2 FORWARDS
6QSL #
6R#= #
6RRW SDIRECTION
6S?G BZE 6 SDIRA [J IF NUMBER
6SR6 LDX 6 2(2)
6T=Q BNG 6 SDIRX0
6TQB SDIRX1
6W=2 EXIT 7 1 [FORWARDS
6WPL SDIRX0
6X9= EXIT 7 0 [BACKWARDS
6XNW SDIRA
6Y8G LDX 6 0(2)
6YN6 BNG 6 SDIRX1 [J IF E
6^7Q SLL 6 1
6^MB BNG 6 SDIRX0 [J IF B
7272 LDX 6 0(2)
72LL SMO FX1
736= ANDX 6 SSBITS22 [LINE NO
73KW BXL 6 ISOCURRENT(3),SDIRX0 [J IF BACK
745G EXIT 7 1 [FORWARDS
74K6 #
754Q #
75JB #
7642 #
76HL # ================================================================= #
773= #
77GW #
782G #
78G6 #
78^Q # REFIND SUBROUTINE
79FB #
79^2 # USED BY ALTLEN
7=DL #
7=Y= REFIND
7?CW MHUNTW 2,AMXOR,ASCREEN
7?XG EXIT 1 0
7#C6 #
7#WQ #
7*BB #
7*W2 #
7B*L # ================================================================= #
7BT= #
7C#W #
7CSG #
7D#6 #
7DRQ #
7F?B # SABS SUBROUTINE
7FR2 #
7G=L # CONVERT RELATIVE ENDPOINT TO ABSOLUTE
7GQ= #
7H9W # LINK X7
7HPG #
7J96 # REQUIRES
7JNQ # X3=PTR TO ASCREEN BLOCK
7K8B # X2=PTR TO ENDPOINT
7KN2 #
7L7L SABS
7LM= LDX 0 0(2)
7M6W BNG 0 SABSX [J IF E
7MLG LDX 0 1(2)
7N66 BNG 0 SABSX [J IF ALREADY ABSOLUTE
7NKQ LDX 6 1(2)
7P5B SMO FX1
7PK2 ANDX 6 SSBITS22 [GET RELATIVE NO
7Q4L SLL 0 1
7QJ= BPZ 0 SABSF [J IF FORWARD
7R3W NGX 6 6 [SET BACKWARDS
7RHG SABSF
7S36 ADX 6 ISOCURRENT(3) [MAKE ABSOLUTE
7SGQ BPZ 6 SABSB [J IF NOT OFF TOP
7T2B LDCT 6 #200 [SET B
7TG2 SABSB
7T^L STO 6 0(2)
7WF= SABSX
7WYW EXIT 7 0
7XDG #
7XY6 #
7YCQ #
7YXB #
7^C2 # K1 K1 K1 K1 K1 K1 K1 K1 K1 K1 K1 K1 K1 K1 K1 K1 K1 K1 K1 K1 K1 #
7^WL # SDATA
82B= #
82TW # COME HERE WITH BLOCKFULL OF TEXT
83*G # TO BE WRITTEN AWAY TO NEW FILE
83T6 #
84#Q # USES
84SB # AWORK1 RELATIVE PTR TO NEXT LINE WITHIN BLOCK
85#2 # AWORK3 LENGTH OF TEXT LEFT
85RL #
86?= #
86QW # CODE FROM 'SDATEL' TO END IS COMMON
87=G # FOR WRITING TO NEWFILE FROM
87Q6 # FILE.FRB AWORK4=0
889Q # AMXOR.ASCREEN AWORK4#0
88PB #
8992 #
89NL SDATA
8=8= MHUNTW 1,FILE,FRB
8=MW TRACE 1,ISDATA [<<<<<<<<<<>>>>>>>>>>
8?7G LDN 0 A1+2 [DATA PTR
8?M6 STO 0 AWORK1(2)
8#6Q STOZ AWORK4(2)
8#LB # CALCULATE TOTAL CHAR LENGTH
8*62 LDCT 0 #600
8*KL ANDX 0 A1+1(1)
8B5= BNZ 0 SDATAB
8BJW ADN 0 1
8C4G SDATAB
8CJ6 ADX 0 A1(1)
8D3Q SLC 0 2
8DHB SBN 0 12 [CH COUNT OF DATA
8F32 STO 0 AWORK3(2) [CHS LEFT IN BLOCK
8FGL # ANY MORE DATA LEFT
8G2= SDATEL
8GFW LDX 2 FX2
8G^G LDX 0 AWORK3(2)
8HF6 BZE 0 SDATEND [J IF ALL COPIED
8HYQ # USE 80 CH LINES TO END
8JDB LDN 4 80 [SET 80
8JY2 BXGE 0 4,SDATX [J IF MORE THAN 80
8KCL LDX 4 0 [ELSE SET REMAINDER (LAST LINE)
8KX= SDATX
8LBW SBS 4 AWORK3(2) [DECREASE LENGTH LEFT
8LCC ...
8LCY ...# REMOVE ALL TRAILING SPACES
8LDF ... LDX 1 AWORK4(2)
8LF2 ... BNZ 1 SDLINA [J IF USING ACREEN
8LFH ... MHUNTW 1,FILE,FRB
8LG4 ... BRN SDLINB
8LGK ...SDLINA
8LH6 ... MHUNTW 1,AMXOR,ASCREEN
8LHM ...SDLINB
8LJ8 ... ADX 1 AWORK1(2)
8LJP ... SLC 1 2
8LK= ... SBN 1 1
8LKR ... SRC 1 2 [CH BEFORE FIRST
8LL# ... LDX 5 1
8LLT ... LDX 3 1
8LMB ...SDLINY
8LMX ... BCHX 3 £
8LND ... LDCH 0 0(3)
8LN^ ... SBN 0 #20
8LPG ... BZE 0 SDLINX [J IF SPACE
8LQ3 ... STO 3 5 [LAST KNOWN NON SPACE
8LQJ ...SDLINX
8LR5 ... BCT 4 SDLINY
8LRL ... SLC 1 2 [PTR BEFORE LINE
8LS7 ... SLC 5 2 [PTR TO LAST NON SPACE
8LSN ... SBX 5 1 [NEW CHAR COUNT
8LT9 ... LDX 4 5
8LWG # CALCULATE LENGTH OF NEW RECORD
8MB6 LDX 1 4 [CH COUNT
8MTQ SRC 1 2
8N*B LDCT 5 #600
8NT2 ANDX 5 1
8P#L BZE 5 SDATE
8PS= ADN 1 1
8Q?W SDATE
8QRG ADN 1 2 [RECORD LENGTH
8R?6 ANDN 1 #7777
8RQQ STO 1 5 [COPY
8S=B STEP 0,0(1),SBREAKIN
8SQ2 TESTREP FILEFULL,SDFF,REFUSED,SDREF
8WNG BRN SDIT
8X86 # FILE FULL
8XMQ SDFF
8Y7B LDN 6 SYFYNF
8YM2 BRN SDREF1
8^6L # BS LIMIT
8^L= SDREF
925W LDN 6 SYRYBSL
92KG SDREF1
9356 ADX 6 FX1
93JQ SMO 6
944B LDX 6 0
94J2 CALL 7 SCOMMENT [OUT PUT MESS
953L BRN SEDITEND [J TO TERMINATE
95H= # CONSTRUCT RECORD
962W SDIT
96GG #
9726 LDX 1 AWORK4(2)
97FQ BNZ 1 SDIT2 [J IF USING ASCREEN
97^B MHUNTW 1,FILE,FRB
98F2 BRN SDIT3
98YL SDIT2
99D= MHUNTW 1,AMXOR,ASCREEN
99XW SDIT3
9=CG # RED TAPE WD 0
9=X6 STO 5 FRH(3)
9?BQ # SPACEFILL LAST WORD
9?LJ ... BZE 4 SDIT4
9?WB SMO FX1
9#B2 LDX 0 SSSPACES
9#TL LDX 7 5 [RECORD LENGTH
9**= SBN 7 1
9*SW SMO 7
9B#G STO 0 0(3)
9BS6 # UPDATE PTR TO NEXT TEXT
9C?Q # GET PTR TO THIS TEXT
9CHJ ...SDIT4
9CRB LDX 7 AWORK1(2) [REL PTR TO TEXT
9D?2 LDN 0 20
9DQL ADS 0 AWORK1(2) [UPDATE
9F== LDX 2 1
9FPW ADX 2 7 [ABS PTR TO TEXT
9G9G # RED TAPE WD 1
9GP6 LDX 5 4 [CH LENGTH
9H8Q SRC 5 2
9HNB LDCT 6 #600
9J82 ANDX 6 5
9J9Y ... MHUNTW 1,AMXOR,ASCREEN
9J?W ... SMO FX1
9J*S ... LDX 0 XISBITNG
9JCQ ... ANDX 0 ISBITS(1) [IS NON GRAPHIC FLAG SET
9JFN ... BZE 0 SDIT6 [JUMP IF NOT
9JHL ... ADN 6 #7400 [SET ALPHA SHIFT
9JKJ ...SDIT6
9JML ADN 6 #41
9K7= STO 6 FRH+1(3)
9KLW # COPY TEXT
9KWN ... BZE 4 SDIT5
9L6G ADN 3 FRH+2
9LL6 SMO 4
9M5Q MVCH 2 0
9M*J ...SDIT5
9MKB ... CALL 7 WRITETIDY
9N52 BRN SDATEL [DEAL WITH REMAINDER
9NJL # ALL WRITTEN AWAY
9P4= SDATEND
9PHW MHUNTW 3,AMXOR,ASCREEN
9Q3G # IF COPYING THEN J TO CONSTRUCT ANOTHER SCREENFULL
9QH6 LDN 0 ISBITC
9R2Q ANDX 0 ISBITS(3)
9RGB BNZ 0 NEXTSCREEN [J IF COPYING
9S22 # IF NOT COPYING AND NOT REPEATING OUTPUT PTR RDY
9SFL LDN 0 ISBITR
9S^= ANDX 0 ISBITS(3)
9TDW BZE 0 POINTER [J IF NOT REPEATING
9TYG # IF REPEATING EXECUTE COMMAND AGAIN
9WD6 LDN 0 ISBITT
9WXQ ANDX 0 ISBITS(3)
9XCB BNZ 0 TREPEAT [J IF T
9XX2 BRN PREPEAT [J IF P
9YBL #
9YW= #
9^*W #
9^TG #
=2*6 #
=2SQ # K2 K2 K2 K2 K2 K2 K2 K2 K2 K2 K2 K2 K2 K2 K2 K2 K2 K2 K2 K2 K2 #
=3#B #
=3S2 #
=4?L #
=4R= #
=5=W #
=5QG #
=6=6 #
=6PQ #
=79B # DEAL WITH ACTION KEYS 6 AND 7
=7P2 #
=88L SCONTROL
=8N= MHUNTW 3,AMXOR,ASCREEN
=97W MHUNTW 2,FILE,FRB
=9MG TRACE 3,ISCONTRL [<<<<<<<<<<>>>>>>>>>>
==76 # GET NO OF AK
==LQ LDX 0 A1(2)
=?6B ANDN 0 #7777
=?L2 SBN 0 1
=#5L ADN 2 A1+2
=#K= SRC 0 2
=*4W ADX 2 0
=*JG LDCH 0 0(2)
=*S# ... ANDN 0 #17 [LOOSE ANY SHIFT
=B46 BXE 0 SS6(1),SAK6
=BHQ # MUST BE AK 7
=C3B SAK7
=CH2 LDN 0 ISBITLOP
=D2L ANDX 0 ISBITS(3) [LAST OP PTR RDY?
=DG= BNZ 0 REPEAT [J IF SO
=D^W #
=FFG LDCT 0 #002
=F^6 ANDX 0 ISMFORM(3) [THIS OP PTR RDY
=GDQ BNZ 0 SAK7Q [J IF NOT
=GYB # STEP BACK - THIS OP PTR RDY
=JWW LDX 0 ISOPAGE(3)
=KBG BNG 0 REPEAT [J IF NOT ALLOWED
=KGC ... LDN 1 ISBITCE
=KL# ... ORS 1 ISBITS(3)
=KQ9 ... ERS 1 ISBITS(3) [CLEAR COMMAND EXPECTED
=KW6 CALL 7 STEPBACKOLD
=L*Q MHUNTW 3,AMXOR,ASCREEN
=LTB LDX 0 ISNPAGE(3)
=M*2 CALL 7 STEPBACKNEW
=MSL BRN SMATCH
=N#= # THIS OP TEXT RDY
=NRW SAK7Q
=P?G LDX 0 ISOPAGE(3)
=PR6 BNG 0 REPEAT [J IF NOT ALLOWED
=Q=Q LDX 0 ISOPREVPAGE(3)
=QQB BNG 0 REPEAT [J IF NOT ALLOWED
=R=2 # STEP BACK TO PREVIOUS PAGE
=RPL CALL 7 STEPBACKOLD
=S9= MHUNTW 3,AMXOR,ASCREEN
=SNW LDX 0 ISNPREVPAGE(3)
=T8G CALL 7 STEPBACKNEW
=TN6 LDCT 0 #400
=W7Q STO 0 ISOPREVPAGE(3) [SET NOT ALLOWED
=WMB STO 0 ISOPAGE(3) [SAME
=X72 BRN SMATCH [CARRY ON
=XLL # ACTION KEY 6
=Y6= SAK6
=YKW LDCT 0 #002
=^5G ANDX 0 ISMFORM(3) [THIS OP PTR RDY
=^K6 BZE 0 REPEAT [J IF SO
?24Q # NOW WRITE AWAY DATA IN BLOCK
?2JB MHUNTW 1,AMXOR,ASCREEN
?2WR ... LDCT 0 #200 [CHAR 1,FOR PRECEEDING PACE
?398 ... ORN 0 ISTEXT [PTR TO DATA IN BLOCK
?3HL LDX 2 FX2
?43= STO 0 AWORK1(2)
?4GW ... STO 0 AWORK4(2) [SET NON ZERO FOR C+6
?52G # SET TOTAL CHAR LENGTH
?5G6 LDX 0 ISTEXTCT(1)
?5PY ... SBN 0 1 [FOR PRECEEDONG SPACE
?5^Q STO 0 AWORK3(2) [=CHARS LEFT IN BLOCK
?6FB BRN SDATEL
?6^2 #
?7DL #
?7Y= #
?8CW #
?8XG # K3 K3 K3 K3 K3 K3 K3 K3 K3 K3 K3 K3 K3 K3 K3 K3 K3 K3 K3 K3 K3 #
?9C6 #
?9WQ # K4 K4 K4 K4 K4 K4 K4 K4 K4 K4 K4 K4 K4 K4 K4 K4 K4 K4 K4 K4 K4 #
?=BB #
?=W2 #
??*L #
??T= #
?##W # TTT PPP
?#SG # T P P
?*#6 # T PPP
?*RQ # T P
?B?B # T P
?BR2 #
?C=L SCOMMANDP
?CQ= SCOMMANDT
?D9W MHUNTW 3,AMXOR,ASCREEN
?DPG # REPEATS COME HERE
?F96 # ENSURE X3 CORRECT BEFORE JUMP
?FNQ TREPEAT
?G8B PREPEAT
?GN2 TRACE 3,ISPPPTTT [<<<<<<<<<<>>>>>>>>>>
?H7L LDN 6 ISBITA
?HM= ANDX 6 ISBITS(3)
?J6W BNZ 6 REP1 [J IF STR
?JLG LDN 2 ISPARAMA(3)
?K66 CALL 7 SABS [ENSURE ENDPOINT1 IS ABSOLUTE
?KKQ REP1
?L5B LDN 6 ISBITA [WHAT IS ENDPOINT1
?LK2 ANDX 6 ISBITS(3)
?M4L LDN 2 ISPARAMA(3)
?MJ= CALL 7 SDIRECTION
?N3W BRN SBACKWARDS
?NHG BRN SFORWARDS
?P36 #
?PGQ #
?Q2B #
?QG2 #
?Q^L # ================================================================= #
?RF= #
?RYW #
?SDG #
?SY6 #
?TCQ #
?TXB #
?WC2 # MOVE BACKWARDS TO ENDPOINT1
?WWL SBACKWARDS
?XB= TRACE 3,ISBACK [<<<<<<<<<<>>>>>>>>>>
?XTW LDN 0 ISBITT
?Y*G ANDX 0 ISBITS(3)
?YT6 BNZ 0 SSBTNA [ERROR IF T & BACKWARDS
?^#Q LDX 0 ISOCURRENT(3)
?^SB BZE 0 SSYROTBOTF [OFF BEGINNING
#2#2 SBACK3
#2RL BACKSPACE 1 [BACK 1 LINE
#3?= STEPAGAIN 1 [AND LOOK AT IT
#3QW MHUNTW 2,AMXOR,ASCREEN
#4=G LDN 0 1
#4Q6 SBS 0 ISOCURRENT(2) [AND COUNT IT
#59Q STO 2 7
#5PB TESTBRKIN SBREAKIN [J IF BRK IN
#692 LDX 2 7
#6NL #
#78= # IS THIS THE LINE?
#7MW LDN 0 ISBITA
#87G ANDX 0 ISBITS(2)
#8M6 BNZ 0 SBACK [J IF STR
#96Q #
#9LB # LOOKING FOR NUMBER
#=62 LDX 0 ISPARAMA(2)
#=KL SLL 0 1
#?5= BNG 0 SBACK2 [J IF MUST RUN OF TOP
#?JW LDX 0 ISPARAMA(2)
##4G BXE 0 ISOCURRENT(2),SMATCH [J IF THIS IS IT
##J6 BRN SBACK2 [LOOP UNTIL FOUND
#*3Q #
#*HB # LOOKING FOR STRING
#B32 SBACK
#BGL LDX 0 2 [SAVE ASCREEN PTR
#C2= LDN 1 ISPARAMA+2(2) [STRING PTR
#CFW LDX 2 3 [PTR TO LINE
#C^G CALL 7 MATCH [IS THERE A STRING MATCH?
#DF6 BRN SMATCH [... YES
#DYQ LDX 2 0 [RESTORE ASCREEN PTR
#FDB #
#FY2 # THIS IS NOT THE LINE
#GCL SBACK2
#GX= LDX 2 ISOCURRENT(2) [IF LINE ZERO
#HBW BZE 2 SSYROTBOTF [THEN ERROR
#HWG BRN SBACK3 [ELSE TRY NEXT
#JB6 #
#JTQ #
#K*B #
#KT2 #
#L#L # ================================================================= #
#LS= #
#M?W #
#MRG #
#N?6 #
#NQQ #
#P=B # MOVE FORWARDS TO ENDPOINT1
#PQ2 # COPY OVER IF T
#Q9L # THROW AWAY IF P
#QP= SFORWARDS
#R8W TRACE 3,ISFORW [<<<<<<<<<<>>>>>>>>>>
#RNG SFOR7
#S86 STEPAGAIN 1 [LOOK AT LINE
#SMQ SFOR71
#T7B MHUNTW 2,AMXOR,ASCREEN
#TM2 SFORA
#W6L #
#WL= # IS THIS THE LINE?
#X5W LDN 0 ISBITA
#XKG ANDX 0 ISBITS(2)
#Y56 BNZ 0 SFOR1 [J IF STR
#YJQ #
#^4B # LOOKING FOR NUMBER
#^J2 LDX 0 ISPARAMA(2)
*23L BNG 0 SFOR2 [J IF E
*2H= BXE 0 ISOCURRENT(2),SMATCH [J IF THIS IS IT
*32W BRN SFOR2
*3GG #
*426 # LOOKING FOR STRING
*4FQ SFOR1
*4^B BZE 3 SFOROFF [J IF OFF END
*5F2 LDX 0 2 [SAVE ASCREEN PTR
*5YL LDN 1 ISPARAMA+2(2) [STRING PTR
*6D= LDX 2 3 [LINE PTR
*6XW CALL 7 MATCH [ARE THEY THE SAME?
*7CG BRN SMATCH [YES
*7X6 LDX 2 0 [PTR TO ASCREEN
*8BQ BRN SFOR2X
*8WB SFOR2
*9B2 #
*9TL # WHAT TO DO WITH THIS LINE?
*=*= BZE 3 SFOROFF [J IF OFF END
*=SW SFOR2X
*?#G LDN 0 ISBITT
*?S6 ANDX 0 ISBITS(2)
*#?Q BZE 0 SFOR3 [J IF P TO IGNORE
*#RB #
**?2 # CURRENT COMMAND IS T
**QL # SO WRITE THIS LINE AWAY
*B== SFORCOOR
*BPW STEPAGAIN 1 [PTR TO LINE
*C9G TESTREP COORED,SFORCOOR
*CP6 STO 3 4 [SAVE
*D8Q LDX 2 FRH(3) [REC LENGTH
*DNB STEP 0,0(2),SBREAKIN [APPEND
*F82 STO 3 5 [SET READY FOR MOVE
*FML TESTREP FILEFULL,SDFF,REFUSED,SDREF,COORED,SFORCOOR
*G7= SMO 4
*GLW LDX 2 FRH [LENGTH
*H6G MOVE 4 0(2) [COPY OVER
*HL6 CALL 7 WRITETIDY
*J5Q #
*JKB # COMMON T & P PATH AGAIN
*K52 # READ NEXT LINE - IF ANY
*KJL SFOR3
*L4= STEP 1 [READ AGAIN
*LHW MHUNTW 2,AMXOR,ASCREEN
*M3G LDN 0 1
*MH6 ADS 0 ISOCURRENT(2) [OLD FILE LINE NO + 1
*N2Q BZE 3 SFOROFF [J IF EOF
*NGB STO 2 7
*P22 TESTBRKIN SBREAKIN [J IF BRK IN
*PFL LDX 2 7
*P^= BRN SFORA
*QDW #
*QYG # RUN OFF END OF OLD FILE
*RD6 SFOROFF
*RXQ MHUNTW 3,AMXOR,ASCREEN
*SCB LDN 0 ISBITE
*SX2 ANDX 0 ISBITS(3)
*TBL BNZ 0 SEDITEND [J TO WIND UP IF E
*TW= LDN 0 ISBITA
*W*W ANDX 0 ISBITS(3)
*WTG BNZ 0 SSYROTEOTF [ERR IF STR
*X*6 LDX 0 ISPARAMA(3)
*XSQ BPZ 0 SSYROTEOTF [ERR IF NOT E
*Y#B #
*YS2 #
*^?L SMATCH
*^R= MHUNTW 3,AMXOR,ASCREEN
B2=W LDN 6 ISBITB
B2QG ANDX 6 ISBITS(3)
B3=6 BNZ 6 SMATCHX [ MJ IF STR
B3PQ LDN 2 ISPARAMB(3)
B49B CALL 7 SABS [ENSURE ENDPOINT 2 IS ABSOLUTE
B4P2 SMATCHX
B58L #
B5N= #
B67W #
B6MG #
B776 # ================================================================= #
B7LQ #
B86B #
B8L2 #
B95L #
B9K= #
B=4W # CONSTRUCT NEXT SCREENFULL
B=JG #
B?46 #
B?HQ #
B#3B NEXTSCREEN
B#H2 MHUNTW 1,AMXOR,ASCREEN
B*2L TRACE 1,ISNEXTSC [<<<<<<<<<<>>>>>>>>>>
B*G= LDN 0 ISBITC
B*^W ORS 0 ISBITS(1) [SET COPYING
BBFG LDX 3 1
BB^6 CALL 7 SETLOP [SET OR CLEAR LAST OUTPUT READY
BCDQ LDCT 0 #022 [LINE 2
BCYB ADN 0 79 [COL 79
BDD2 STO 0 ISMFORM(1)
BDXL LDX 2 FX2
BFC= STOZ AWORK2(2) [COUNT OF LINES=0
BFWW LDN 0 #20
BGBG LDN 3 ISTEXT(1) [DUMP LINES HERE
BGW6 DCH 0 0(3) [AFTER 1 SPACE
BH*Q BCHX 3 £
BHTB SBX 3 1 [MAKE REL
BJ*2 STO 3 ISTEXTCT(1) [SAVE PTR HERE
BJSL LDN 6 ISBITB
BK#= ANDX 6 ISBITS(1)
BKRW BNZ 6 NEX9 [J IF ENDPOINT2 TEXT
BL?G LDX 0 ISPARAMB+1(1)
BLR6 BZE 0 NEXTX [ J IF ,0
BM=Q NEX9
BMQB LDX 3 1 [ASCREEN PTR
BN=2 LDN 2 ISPARAMB(3) [PTR TO ENDPOINT2
BNPL CALL 7 SDIRECTION
BP9= BRN NEXTBAK [CANT GO BACKWARDS
BPNW NEX1
BQ8G MHUNTW 1,AMXOR,ASCREEN
BQN6 ... ALTLENGD 1,ASCREENLEN+401,REFIND
BR7Q STEPAGAIN 1
BRMB BZE 3 NEXTEOF [J IF OFF END
BS72 #
BSLL #
BT6= # NOW MAIN LOOP
BTKW NEXTLOOP
BW5G MHUNTW 1,AMXOR,ASCREEN
BWK6 LDN 0 ISBITB
BX4Q ANDX 0 ISBITS(1)
BXJB BNZ 0 NEXT2 [J IF STR
BY42 LDX 0 AWORK2(2) [LINES THIS TIME
BYHL ADX 0 ISOCURRENT(1) [+LINES LAST TIME
B^3= BXE 0 ISPARAMB(1),NEXTX [J IF MATCH
B^GW BRN NEXT3 [J IF E OR NOT THIS LINE
C22G NEXT2
C2G6 STO 1 AWORK3(2) [ASCREEN PTR
C2^Q STO 3 AWORK4(2) [LINE PTR
C3FB LDN 1 ISPARAMB+2(1) [PTR TO END PT 2
C3^2 LDX 2 3 [LINE PTR
C4DL CALL 7 MATCH
C4Y= BRN NEXTXY [J IF MATCH
C5CW LDX 2 FX2
C5XG LDX 1 AWORK3(2) [ASCREEN PTR
C6C6 LDX 3 AWORK4(2) [LINE PTR
C6WQ NEXT3
C7BB # SCREEN FULL?
C7MQ ...#
C7^6 ... LDX 7 AWORK2(2)
C8=G ... SBN 7 20
C8HW ... BPZ 7 NEXTQ [J IF FULL
C8T= # NOT THIS LINE - SO MUST DISPLAY IT
C9#W # BUT ONLY 80 CHS PER LINE
C9SG LDCT 6 #600
C=#6 ANDX 6 FRH+1(3)
C=RQ BNZ 6 NEXTEXT
C??B ADN 6 1
C?R2 NEXTEXT
C#=L ADX 6 FRH(3)
C#Q= SLC 6 2
C*9W SBN 6 12
C*PG LDN 7 80
CB96 BXL 6 7,NEXTA [J IF LENGTH OK
CB*3 ... BXE 6 7,NEXTA
CBDY ... LDCT 0 1
CBJT ... ADS 0 ISBITS(1)
CBNQ LDN 6 80 [RESET TO MAX
CC8B NEXTA
CCN2 SBX 7 6 [REMAINDER
CD7L # MOVE CONSTANT PART
CDM= LDN 3 FRH+2(3) [PTR TO TEXT
CF6W LDX 4 ISTEXTCT(1) [PTR TO NEXT FREE LOCATION
CFLG ADX 4 1 [MAKE ABSOLUTE
CG66 BZE 6 NEXTA1
CGKQ SMO 6
CH5B MVCH 3 0 [COPY TO BLOCK
CHK2 NEXTA1
CJ4L # SPACE FILL TO 80 CHARS
CJJ= LDX 3 4 [PTR TO NEXT FREE LOCN
CK3W BZE 7 NEXTA2 [J IF FULL
CKHG LDN 0 #20
CL36 NEXTA3
CLGQ DCH 0 0(3)
CM2B BCHX 3 £
CMG2 BCT 7 NEXTA3
CM^L NEXTA2
CNF= SBX 3 1 [MAKE REL
CNYW STO 3 ISTEXTCT(1)
CPDG # ROOM FOR MORE
CPY6 LDX 2 FX2
CQCQ LDX 6 AWORK2(2) [COUNT OF LINES
CQXB ADN 6 1
CRC2 STO 6 AWORK2(2) [RESET
CRWL STEP 1 [READ NEXT
CSB= BZE 3 NEXTEOF [J IF OFF END
CSTW BRN NEXTLOOP
CT*G NEXTEOF
CTT6 # RUN OFF END OF FILE
CW#Q # REMEMBER TO OUTPUT ASCREEN BLOCK AFTER MESSAGE
CWSB MHUNTW 1,AMXOR,ASCREEN
CX#2 LDN 0 ISBITB
CXRL ANDX 0 ISBITS(1)
CY?= BNZ 0 NEXTEOFA [J TO ERR IF STR
CYQW LDX 0 ISPARAMB(1)
C^=G BNG 0 NEXTX [OK IF TE
C^*L ...
C^DQ ... LDX 0 AWORK2(2) [NO OF LINES FOR SCREEN
C^HW ... ADX 0 ISOCURRENT(1) [+ START LINE NO
C^M2 ... BXE 0 ISPARAMB(1),NEXTX [JIF RIGHT LINE
C^Q6 NEXTEOFA
C^T= ...
C^YB ... LDX 0 AWORK2(2) [NO OF LINES FOR SCREEN
D23G ... SBN 0 20
D26L ... BZE 0 NEXTQ [J IF 20 LINES TO DISPLAY
D29Q SMO FX1
D2PB LDX 6 SYROTEOTF [OFF END
D392 CALL 7 SCOMMENT
D3NL LDX 1 3 [PTR TO ASCREEN
D48= LDCT 0 #010
D4MW ADS 0 ISMFORM(1) [SET LINES+1
D57G BRN NEXTX
D5M6 #
D66Q # TIDY UP BEFORE OUTPUTING BLOCK
D6LB NEXTXY
D762 MHUNTW 1,AMXOR,ASCREEN
D7KL NEXTX
D85= # CLEAR COPYING
D8JW LDN 0 ISBITC
D94G ORS 0 ISBITS(1)
D9J6 ERS 0 ISBITS(1)
D=3Q BRN NEXTZ
D=HB NEXTQ
D?32 MHUNTW 1,AMXOR,ASCREEN
D?GL NEXTZ
D?K# ... LDX 5 ISBITS(1)
D?N2 ... SRL 5 15
D?QN ... BZE 5 NEXZ2
D?TB ... HUNT2J 3,AMXOR,BBC,FX2,NEXZ1
D?Y4 ... BRN NEXZ2
D#2Q ...
D#5D ...NEXZ1
D#86 ... SETNCORE 14,3,AMXOR,BBC
D#=S ... LDN 6 SCHOP(1)
D#*G ... LDN 7 A1+2(3)
D#D8 ... MOVE 6 12
D#GW ... STOZ A1+1(3)
D#KJ ... LDN 0 48
D#N= ... STO 0 A1(3)
D#QY ... LDN 2 A1+5(3)
D#TL ...
D#Y# ... XCBINDEX 4,2,5
D*32 ... LDX 2 FX2
D*5N ... LDX 6 SCHOP+3(1)
D*8B ... STO 6 A1+5(3)
D*?4 ... MHUNTW 1,AMXOR,ASCREEN
D**Q ...NEXZ2
D*F6 # UPDATE ALL FILE LINE NUMBERS
D*YQ LDX 0 ISOPAGE(1)
DBDB STO 0 ISOPREVPAGE(1)
DBY2 #
DCCL LDX 0 ISNPAGE(1)
DCX= STO 0 ISNPREVPAGE(1)
DDBW #
DDWG LDX 0 ISOCURRENT(1)
DFB6 STO 0 ISOPAGE(1)
DFTQ #
DG*B LDX 0 ISNCURRENT(1)
DGT2 STO 0 ISNPAGE(1)
DH#L #
DHS= SMO FX2
DJ?W LDX 0 AWORK2
DJRG ADS 0 ISOCURRENT(1) [+LINES OUTPUT THIS TIME
DJWL ...# DONT OUTPUT IF B-IN
DJ^Q ... STO 1 7
DK4W ... TESTBRKIN SBREAKIN
DK82 ... LDX 1 7
DK?6 # NOW CALCULATE LENGTH OF TEXT AND SHRINK BLOCK
DKQQ LDX 5 ISTEXTCT(1)
DL=B LDN 6 ISTEXT
DLQ2 SLC 5 2
DM9L SLC 6 2
DMP= SBX 5 6 [CHAR LENGTH
DN8W STO 5 ISTEXTCT(1)
DN=K ... LDX 4 5 [CHAR LENGTH
DN## ... SBN 4 1
DNB3 ... BNZ 4 NEXTNZ [J IF NOT NULL
DNCQ ... LDX 4 ISMERR(1)
DNFF ... SRL 4 18
DNH8 ... SBN 4 3
DNJX ... BNZ 4 POINTER [J IF ERR MESS ON SCREEN
DNLL ...NEXTNZ
DNNG ADN 5 4*ASCREENLEN+3
DP86 SRL 5 2 [WD LENGTH OF BLOCK
DPMQ ALTLENG 1,5,REFIND
DQ7B BRN OUTPUT
DQM2 #
DR6L # CANT GO BACKWARDS - TERMINATE
DRL= NEXTBAK
DS5W SMO FX1
DSKG LDX 6 SIT
DT56 CALL 7 SCOMMENT [PART 1 OF MESS
DTJQ BRN SSE2MBAFR [ AND PART 2
DYGG #
D^26 #
D^FQ #
D^^B #
F2F2 # K5 K5 K5 K5 K5 K5 K5 K5 K5 K5 K5 K5 K5 K5 K5 K5 K5 K5 K5 K5 K5 #
F2YL #
F3D= # EEE
F3XW # E
F4CG # EEE
F4X6 # E
F5BQ # EEE
F5WB #
F6B2 #
F6TL # TWO PARTS TO E COMMAND
F7*= #
F7SW #
F8#G # PART 1 : COPY REST OF OLD FILE TO NEW FILE
F8S6 # SET TE,0
F9?Q SCOMMANDE
F9RB MHUNTW 3,AMXOR,ASCREEN
F=?2 TRACE 3,ISEEEEEE [<<<<<<<<<<>>>>>>>>>>
F=QL LDN 0 ISBITT+ISBITE
F?== ORS 0 ISBITS(3) [SET T+E
F?PW LDN 0 ISBITA+ISBITB
F#9G ORS 0 ISBITS(3)
F#P6 ERS 0 ISBITS(3) [BOTH ENDPOINTS ARE NUMBERS
F*8Q LDCT 0 #400
F*NB STO 0 ISPARAMA(3) [SET E
FB82 STO 0 ISPARAMA+1(3) [..AND ASOLUTE
FBML STOZ ISPARAMB(3) [SET RELATIVE 0
FC7= STOZ ISPARAMB+1(3)
FCLW BRN SCOMMANDT
FD6G #
FDL6 #
FF5Q #
FFKB # PART 2 : ALL COPYING DONE-TIDY UP
FG52 SEDITEND
FGJL TRACE 0,ISENDEND [<<<<<<<<<<>>>>>>>>>>
FH4= ... CLOSE
FHHW LDX 6 SEOE(1) [END OF EDIT
FJ3G # E AND Q JOIN FORCES HERE
FJH6 SEANDQ
FK2Q CALL 7 SCOMMENT [OUT MESSAGE
FKGB ... CLOSE
FL22 VFREEW FILE,FRB
FLFL MHUNTW 3,AMXOR,ASCREEN
FL^= LDX 0 ISMXMS(3)
FMDW STO 0 AMXMSK(2)
FMYG VFREEW AMXOR,ASCREEN
FND6 ASCEDIT OFF
FNXQ ENDCOM
FPCB #
FPX2 #
FQBL #
FQW= # K6 K6 K6 K6 K6 K6 K6 K6 K6 K6 K6 K6 K6 K6 K6 K6 K6 K6 K6 K6 K6 #
FR*W #
FRTG #
FS*6 # FFF
FSSQ # F
FT#B # FFF
FTS2 # F
FW?L # F
FWR= #
FX=W SCOMMANDF
FXQG MHUNTW 3,AMXOR,ASCREEN
FY=6 TRACE 3,ISFFFFFF [<<<<<<<<<<>>>>>>>>>>
FYPQ LDN 0 ISBITF
F^9B ORS 0 ISBITS(3) [SET F
F^P2 LDN 0 ISBITLC
G28L ANDX 0 ISBITS(3)
G2N= BZE 0 SSFMNBUITC [J IF F NOT VALID
G37W LDX 0 ISOPREVCOM(3)
G3MG CALL 7 STEPBACKOLD
G476 MHUNTW 3,AMXOR,ASCREEN
G4LQ LDX 0 ISNPREVCOM(3)
G56B CALL 7 STEPBACKNEW
G5L2 BRN POINTER
G65L #
G6K= #
G74W #
G7JG #
G846 # K7 K7 K7 K7 K7 K7 K7 K7 K7 K7 K7 K7 K7 K7 K7 K7 K7 K7 K7 K7 K7 #
G8HQ #
G93B #
G9H2 #
G=2L #
G=G= # QQ
G=^W # Q Q
G?FG # Q Q
G?^6 # Q Q
G#DQ # QQQQ
G#YB #
G*D2 SCOMMANDQ
G*XL TRACE 0,ISQQQQQQ [<<<<<<<<<<>>>>>>>>>>
GBC= ... CLOSEABANDON [FORGET NEW FILE
GBWW LDX 6 SEA(1) [EDIT ABANDONED
GCBG BRN SEANDQ
GCW6 #
GD*Q #
GDTB # ================================================================= #
GF*2 #
GFSL #
GG#= #
GGRW #
GH?G #
GHR6 # OUTPUT MESSAGE THEN POINTER READY
GJ=Q SSYROTBOTF [YOUVE RUN OFF THE BEGINNING OF THE FILE
GJQB LDN 3 SYROTBOTF
GK=2 BRN SSOUTCOM
GKPL SSYRYBSL [YOU'VE REACHED YOUR BACKING STORE LIMIT
GL9= LDN 3 SYRYBSL
GLNW BRN SSOUTCOM
GM8G SSE2MBAFR [ENDPOINT2 MUST BE A FORWARD REFERENCE
GMN6 LDN 3 SE2MBAFR
GN7Q BRN SSOUTCOM
GNMB SSROTKINA [REPETITION OF THIS KIND IS NOT ALLOWED
GP72 LDN 3 SROTKINA
GPLL BRN SSOUTCOM
GQ6= SSBTNA [BACKWARDS TRANSCRIPTION NOT ALLOWED
GQKW LDN 3 SBTNA
GR5G BRN SSOUTCOM
GRK6 SSYROTEOTF [YOU'VE RUN OFF THE END OF THE FILE
GS4Q LDN 3 SYROTEOTF
GSJB BRN SSOUTCOM
GT42 SSFMNBUITC [IF MAY NOT BE USED IN THIS CONTEXT
GTHL LDN 3 SFMNBUITC
GW3= BRN SSOUTCOM
GWGW SSYFYNF [YOU'VE FILLED YOUR NEW FILE
GX2G LDN 3 SYFYNF
GXG6 BRN SSOUTCOM
GX^Q SSIT [INSTRUCTION TERMINATED
GYFB LDN 3 SIT
GY^2 BRN SSOUTCOM
G^DL SSNTL [NUMBER TOO LARGE
G^Y= LDN 3 SNTL
H2CW BRN SSOUTCOM
H2XG SSEA [EDIT ABANDONED
H3C6 LDN 3 SEA
H3WQ BRN SSOUTCOM
H4BB SSEOE [END OE EDIT
H4W2 LDN 3 SEOE
H5*L SSOUTCOM
H5T= ADX 3 FX1
H6#W LDX 6 0(3) [PTR TO MESSAGE
H6SG CALL 7 SCOMMENT
H7#6 BRN POINTER
H7RQ #
H8?B #
H8R2 #
H9=L #
H9Q= # ================================================================= #
H=9W #
H=PG #
H?96 #
H?NQ #
H#8B # SWITCH TO OTHER CHAPTERS
H#N2 POINTER
H*7L ACROSS SCEDITOR,1
H*M= OUTPUT
HB6W ACROSS SCEDITOR,2
HBLG REPEAT
HC66 ACROSS SCEDITOR,3
HCKQ SBREAKIN
HD5B ACROSS SCEDITOR,4
HDK2 #
HF4L #
HFJ= #
HG3W #
HGHG # ================================================================= #
HH36 #
HHGQ #
HJ2B #
HJG2 #
HJ^L #
HKF= #
HKYW #
HLDG #
HLY6 #
HMCQ #END
^^^^ ...145126630014