OPEN-MACROS

(George Source)

OPEN-MACROS.txt
22FL ...[??? OPEN SECT FILE FGN 20 DOC  
2M^6    #MAC  OPEN  
2NDQ     SETMODE 0,%B,%C,%D,%E,%F,%G,%H,%I  
2NYB          OPEND    %A,0 
2PD2    #NOR
2PMS ...[??? OPENREL SECT FILE FGN 20 DOC   
2PXL    #MAC  OPENREL   
2QC=     SETMODE 0,%B,%C,%D,%E,%F,%G,%H,%I  
2QWW          OPENRELD %A,0 
2RBG    #NOR
2RL# ...[??? OPENDIR SECT FILE FGN 20 DOC   
2RW6    #MAC  OPENDIR   
2S*Q          OPEN     %A,%B,DIR,%C,%D,%E,%F,%G,%H,%I   
2STB    #NOR
2T58 ...[??? OPENMAS SECT FILE FGN 20 DOC   
2T*2    #MAC  OPENMAS   
2TSL     SETMODE 0,%B,%C,%D,%E,%F,%G,%H,%I  
2W#=          OPENMASD %A,0 
2WRW    #NOR
2X3N ...[??? SAVETHAW SECT FILE FGN 20 DOC  
2X?G    [   
2XR6    #MAC  SAVETHAW  
2Y=Q    #STR  %B,0  
2YQB    (   
2^=2          SETMODE   0,REOPEN,ERASING
2^PL          ORX   0  %B   
329=    )   
32NW    #STR  %B,0  
338G    #SKI
33N6          ADDMODE  0,REOPEN,ERASING 
347Q          OPEND    %A,0 
34MB    #NOR
34X8 ...[??? THAWSAVE SECT FILE FGN 20 DOC  
3572    #MAC  THAWSAVE  
35LL          SETMODE  0,READ,REOPEN,ERASING
366=          OPEND    %A,0 
36KW    #NOR
36TN ...[??? USEROPEN SECT FILE FGN 20 DOC  
375G    #MAC  USEROPEN  
37K6          BRN      M2USEROPEN   
384Q    #DEF M2USE=E%B^E%C^E%D^E%E^E%F^E%G^E%H^E%I  
38JB    M1USEROPEN +A%B^A%C^A%D^A%E^A%F^A%G^A%H^A%I 
3942    #SKI M2USE>#7777$#7777  
39HL    M0USEROPEN     +M2USE   
3=3=    M2USEROPEN  
3=GW          LDX   1  FX1  
3?2G          LDX   0  M1USEROPEN(1)
3?G6    #SKI  M2USE 
3?^Q    (   
3#FB    #SKI M2USE>#7777$#7777  
3#^2          LDX   1  M0USEROPEN(1)
3*DL    #SKI  M2USE<#10000$#10000   
3*Y=          LDN   1  M2USE
3BCW          USEROPEX %A,0,1   
3BXG    )   
3CC6    #SKI  M2USE<1-1 
3CWQ          USEROPEX %A,0 
3DBB    #FREE M2USE 
3DW2    #NOR
3F5S ...[??? USEROPEX SECT FILE FGN 20 DOC  
3F*L    #MAC  USEROPEX  
3FT=          LDX   2  FX2  
3G#W    #ACC %B 
3GSG    (   
3H#6          LDX   0  %B   
3HRQ          STO   0  ACOMMUNE1(2) 
3J?B    )   
3JR2    #ACC %B 
3K=L    #SKI
3KQ=    (   
3L9W    #STR %B,2   
3LPG    #SKI
3M96    ! B=2   
3MNQ          STO   %B ACOMMUNE1(2) 
3N8B    )   
3NN2    #STR %C,
3P7L    (   
3PM=    #ACC %C 
3Q6W    (   
3QLG          LDX   0  %C   
3R66          STO   0  ACOMMUNE2(2) 
3RKQ    )   
3S5B    #ACC %C 
3SK2    #SKI
3T4L    (   
3TJ=    #STR %C,2   
3W3W    #SKI
3WHG    ! C=2   
3X36    #STR %C,0   
3XGQ    #SKI
3Y2B    ! C=0   
3YG2          STO   %C ACOMMUNE2(2) 
3Y^L    )   
3^F=          DOWN     USERONE,10   
3^YW    )   
42DG    #STR  %C,   
42Y6    #SKI
43CQ    (   
43XB          DOWN     USERONE,1
44C2    )   
44WL          BRN      %A   
45B=    #NOR
45L4 ...[??? ADDMODE SECT FILE FGN 20 DOC   
45TW    #   
46*G    #MAC  ADDMODE   
46T6    #DEF M1ADDMODE=A%B^A%C^A%D^A%E^A%F^A%G^A%H^A%I  
47#Q    #DEF M2ADDMODE=E%B^E%C^E%D^E%E^E%F^E%G^E%H^E%I  
47SB    #SKI  M2ADDMODE 
48#2    !     "E" MODE GIVEN IN ADDMODE : USE ADDINMODE     !   
48RL    #FREE M2ADDMODE 
49?=    #SKI M1ADDMODE>#7777$#7777  
49QW    (   
4==G          BRN      M4ADDMODE
4=Q6    M3ADDMODE      +M1ADDMODE   
4?9Q    M4ADDMODE   
4?PB          SMO      FX1  
4#92    #ACC  %A
4#NL    (   
4*8=          LDX   0  M3ADDMODE
4*MW          ORS   0  %A   
4B7G    )   
4BM6    #ACC  %A
4C6Q    #SKI
4CLB          ORX   %A M3ADDMODE
4D62    )   
4DKL    #SKI  M1ADDMODE<#10000$#10000   
4F5=    (   
4FJW    #ACC  %A
4G4G    (   
4GJ6          LDN   0  M1ADDMODE
4H3Q          ORS   0  %A   
4HHB    )   
4J32    #ACC  %A
4JGL    #SKI
4K2=          ORN   %A M1ADDMODE
4KFW    )   
4K^G    #FREE M1ADDMODE 
4LF6    #NOR
4LNY ...[??? CLEARMOD SECT FILE FGN 20 DOC  
4LYQ    [   
4MDB    #MAC  CLEARMODE 
4MY2          SETMODE  0,%B,%C,%D,%E,%F,%G,%H,%I
4NCL          ANDX  0  %A   
4NX=          ERS   0  %A   
4PBW    #NOR
4PLN ...[??? TESTMAIN SECT FILE FGN 20 DOC  
4PWG    [   
4QB6    #MAC  TESTMAINMODE  
4QTQ          LDX   0  %A   
4R*B    #STR  READING,%D
4RT2    #SKI
4S#L    (   
4SS=          ANDN  0  #7000
4T?W          SBN   0  #3000
4TRG    #STR  NOT,%C
4W?6          BNG   0  %B   
4WQQ    #STR  NOT,%C
4X=B    #SKI
4XQ2          BPZ   0  %B   
4Y9L    #EXI
4YP=    )   
4^8W    #STR  UNCLEAN,%D
4^NG    #SKI
5286    (   
52MQ          ADN   0  #1000
537B          ANDN  0  #4000
53M2    #STR  NOT,%C
546L          BNZ   0  %B   
54L=    #STR  NOT,%C
555W    #SKI
55KG          BZE   0  %B   
5656    #EXI
56JQ    )   
574B    #STR  RANDOM,%D 
57J2    #SKI
583L    (   
58H=          ANDN  0  #1000
592W    #STR  NOT,%C
59GG          BZE   0  %B   
5=26    #STR  NOT,%C
5=FQ    #SKI
5=^B          BNZ   0  %B   
5?F2    #EXI
5?YL    )   
5#D=          ANDN  0  #7000
5#XW    #STR  NONE,%D   
5*CG          SBN   0  A%D  
5*X6    #STR  NOT,%C
5BBQ          BZE   0  %B   
5BWB    #STR  NOT,%C
5CB2    #SKI
5CTL    (   
5D*=    #STR  %E
5DSW          BZE   0  M1TESTMAINM  
5F#G    #STR  %E
5FS6    #SKI
5G?Q          BNZ   0  %B   
5GRB    )   
5H?2    #STR  %E
5HQL    (   
5J==          SBADN    0,A%E-A%D
5JPW    #STR  NOT,%C
5K9G          BZE   0  %B   
5KP6    #STR  NOT,%C
5L8Q    #SKI
5LNB    (   
5M82          BNZ   0  %B   
5MML    M1TESTMAINM 
5N7=    )   
5NLW    )   
5P6G    #NOR
5PB# ...[??? ADDINMOD SECT FILE FGN 20 DOC  
5PL6    [   
5Q5Q    #   
5QKB    #MAC  ADDINMODE 
5R52    #DEF M1ADD=A%C^A%D^A%E^A%F^A%G^A%H^A%I^A%J  
5RJL    #DEF M2ADD=E%C^E%D^E%E^E%F^E%G^E%H^E%I^E%J  
5S4=    #STR  %A
5SHW    #SKI
5T3G    (   
5TH6    #SKI  M1ADD 
5W2Q    !     "A" MODE USED BUT NO %A     ! 
5WGB    )   
5X22    #STR  %B
5XFL    #SKI
5X^=    (   
5YDW    #SKI  M2ADD 
5YYG    !     "E" MODE USED BUT NO %B     ! 
5^D6    )   
5^XQ    #SKI  M1ADD^M2ADD>#7777-#7777   
62CB    (   
62X2          BRN      M3ADDINMODE  
63BL    #SKI  M1ADD>#7777-#7777 
63W=    M1ADDINMODE    +M1ADD   
64*W    #SKI  M2ADD>#7777-#7777 
64TG    (   
65*6    M2ADDINMODE    +M2ADD   
65SQ    M3ADDINMODE 
66#B          SMO      FX1  
66S2          ORX   %B M2ADDINMODE  
67?L    )   
67R=    )   
68=W    #SKI  M2ADD<#10000-#10000   
68QG    (   
69=6    M3ADDINMODE 
69PQ    #SKI  M2ADD 
6=9B          ORN   %B M2ADD
6=P2    )   
6?8L    #SKI  M1ADD 
6?N=    (   
6#7W    #SKI  M1ADD>#7777-#7777 
6#MG    (   
6*76          SMO      FX1  
6*LQ          ORX   %A M1ADDINMODE  
6B6B    )   
6BL2    #SKI  M1ADD<#10000-#10000   
6C5L          ORN   %A M1ADD
6CK=    )   
6D4W    #FREE M1ADD 
6DJG    #FREE M2ADD 
6F46    #NOR
6F?Y ...[??? SMODE SECT FILE FGN 20 DOC 
6FHQ    #   
6G3B    #MAC  SMODE 
6GH2    #SKI  M1SETMODE 
6H2L    (   
6HG=    #SKI  M1SETMODE<#10000-#10000   
6H^W          LDN   %A M1SETMODE
6JFG    #SKI  M1SETMODE&#77777  
6J^6    #SKI
6KDQ    (   
6KYB    #DEF  M3SETMODE=M1SETMODE&#40000000<#400
6LD2          LDCT  %A M1SETMODE&#37700000/#77777^M3SETMODE 
6LXL    #FREE M3SETMODE 
6MC=    )   
6MWW    #SKI  M1SETMODE&#77770000   
6NBG    (   
6NW6    #SKI  M1SETMODE&#77777  
6P*Q    (   
6PTB    #DEF  M3SETMODE=M1SETMODE&#40000000<#4000   
6Q*2          LDN   %A M1SETMODE&#37770000/#7777^M3SETMODE  
6QSL    #FREE M3SETMODE 
6R#=          SLL   %A 12   
6RRW    #SKI  M1SETMODE&#7777   
6S?G          ORN   %A M1SETMODE&#7777  
6SR6    )   
6T=Q    )   
6TQB    )   
6W=2    #FREE M1SETMODE 
6WPL    #NOR
6W^D ...[??? SETMODE SECT FILE FGN 20 DOC   
6X9=    #   
6XNW    #MAC  SETMODE   
6Y8G    #DEF M1SETMODE=A%B^A%C^A%D^A%E^A%F^A%G^A%H^A%I  
6YN6    #DEF M2SETMODE=E%B^E%C^E%D^E%E^E%F^E%G^E%H^E%I  
6^7Q    #SKI  M2SETMODE 
6^MB    !     "E" MODE GIVEN IN SETMODE : USE SETUPMODE     !   
7272    #FREE M2SETMODE 
72LL    #ACC  %A
736=    (   
73KW          SMODE    0
745G          STO   0  %A   
74K6    )   
754Q    #ACC  %A
75JB    #SKI
7642          SMODE    %A   
76HL    #NOR
76RD ...[??? SETUPMOD SECT FILE FGN 20 DOC  
773=    #   
77GW    #MAC  SETUPMODE 
782G    #DEF M1SETMODE=A%C^A%D^A%E^A%F^A%G^A%H^A%I^A%J  
78G6    #DEF M2SET=E%C^E%D^E%E^E%F^E%G^E%H^E%I^E%J  
7?XG    #STR  %A
7#C6    #SKI
7#WQ    (   
7*BB    #SKI  M1SETMODE 
7*W2    !     "A" MODE USED BUT NO ACCUMULATOR PROVIDED     !   
7B*L    #FREE M1SETMODE 
7BT=    )   
7C#W    #STR  %B
7CSG    #SKI
7D#6    (   
7DRQ    #SKI  M2SET 
7F?B    !     "E" MODE USED BUT NO ACCUMULATOR PROVIDED     !   
7FR2    #FREE M2SET 
7G=L    )   
7GQ=    #STR  %A
7H9W          SMODE %A  
7HPG    #STR  %B
7J96    (   
7JNQ    #DEF  M1SETMODE=M2SET   
7K8B    #FREE M2SET 
7KN2          SMODE %B  
7L7L    )   
7T2B    #NOR
7T=8 ...[??? OPENRELD SECT FILE FGN 20 DOC  
7TG2    #MAC  OPENRELD                     [OPENREL IN MODE GIVEN IN %A 
7T^L          ACCSTO   %B,ACOMMUNE7,FX2 
7WF=          DOWN     OPENREL,2
7WYW          BRN      %A                  [BREAKIN 
7XDG    #NOR
7XN# ...[??? OPENRELN SECT FILE FGN 20 DOC  
7XY6    #MAC  OPENRELN  
7YCQ          SETMODE  0,%B,%C,%D,%E,%F,%G,%H,%I
7YXB          OPENRELX %A,0 
7^C2    #NOR
7^LS ...[??? OPENRELX SECT FILE FGN 20 DOC  
7^WL    #MAC  OPENRELX  
82B=          ACCSTO   %B,ACOMMUNE7,FX2 
82TW          DOWN     OPENREL,1
83*G          BRN      %A   
83T6    #NOR
844Y ...[??? OPENCREX SECT FILE FGN 20 DOC  
84#Q    [   
84SB    #MAC  OPENCREX  
85#2          ACCSTO   %B,ACOMMUNE7,FX2 
85RL          DOWN     OPENREL,3
86?=          BRN   %A  
86QW    #NOR
872N ...[??? OPENCREN SECT FILE FGN 20 DOC  
87=G    #MAC  OPENCREN  
87Q6          SETMODE  0,%B,%C,%D,%E,%F,%G,%H,%I
889Q          OPENCREX %A,0 
88PB    #NOR
88^8 ...[??? OPENMASD SECT FILE FGN 20 DOC  
8992    #MAC  OPENMASD                     [OPENMAS IN MODE GIVEN IN %A 
89NL          ACCSTO   %B,ACOMMUNE7,FX2 
8=8=          DOWN     ORELHALF,1   
8=MW          BRN      %A                  [BREAKIN 
8?7G    #NOR
8?C# ...[??? OPEND SECT FILE FGN 20 DOC 
8?M6    #MAC  OPEND 
8#6Q          ACCSTO   %B,ACOMMUNE7,FX2 
8#LB          DOWN     OPENFILE,1   
8*62          BRN      %A                  [BREAKIN 
8*KL    #NOR
8*TD ...[??? OPENENDX SECT FILE FGN 20 DOC  
8B5=    #MAC  OPENENDX                     [OPENREL LAST COMPONENT (SEE 3.6.3.6)
8BJW          ACCSTO   %B,ACOMMUNE7,FX2 
8C4G          DOWN     OPENEND,1
8CJ6          BRN      %A                  [BREAKIN 
8D3Q    #NOR
8D?J ...[??? OPENEND SECT FILE FGN 20 DOC   
8DHB    #MAC  OPENEND   
8F32          SETMODE  0,%B,%C,%D,%E,%F,%G,%H,%I
8FGL          OPENENDX %A,0 
8G2=    #NOR
8G=4 ...[??? HALFOPEX SECT FILE FGN 20 DOC  
8GFW    #MAC    HALFOPEX
8G^G          LDX  2  FX2   
8HF6          ACCSTO   %C,ACOMMUNE7(2)  
8HYQ          ACCSTO   %B,ACOMMUNE8(2)  
8JDB          DOWN     ORELHALF,2   
8JY2          BRN      %A   
8KCL    #NOR
8KMD ...[??? THAW SECT FILE FGN 20 DOC  
8KX=    [   
8LBW    #MAC  THAW  
8LWG    #STR  SAVE,%B   
8MB6    #SKI
8MTQ          DOWN  OPENEND,4   
8N*B    #STR  SAVE,%B   
8NT2          DOWN     OPENEND,2
8P#L          BRN      %A   
8PS=    #NOR
8Q44 ...[??? OPENINCX SECT FILE FGN 20 DOC  
8Q?W    #     THIS MACRO OPENS ?SYSTEM.INCINDEX - MODE IN %B
8QRG    #MAC  OPENINCX  
8R?6          OPENSYSX %A,INCINDEX,%B   
8RQQ    #NOR
8S2J ...[??? OPENINC SECT FILE FGN 20 DOC   
8S=B    #     THIS MACRO OPENS :SYSTEM.INCINDEX - N TYPE MODE   
8SQ2    #MAC  OPENINC   
8T9L          SETMODE  0,%B,%C,%D,%E,%F,%G,%H,%I
8TP=          OPENSYSX %A,INCINDEX,0
8W8W    #NOR
8WDN ...[??? OPENSYSX SECT FILE FGN 20 DOC  
8WNG    [   
8X86    #MAC  OPENSYSX  
8XMQ    # THIS MACRO OPENS A CERTAIN SYSTEM FILE AS SPECIFIED BY %B.
8Y7B    #    %A IS A BREAKIN ADDRESS. %B IS A LOCAL NAME OF AN ALLOWED FILE.
8YM2    # %C CONTAINS THE OPENING MODES.
8^6L    #   
8^L=          ACCSTO   %C,ACOMMUNE7,FX2 
925W    #STR  DICTIONARY,%B 
92KG    #SKI
9356          DOWN     OPENFILE,2   
93JQ    #STR  DICTIONARY,%B 
944B    (   
94J2    #STR  LEXICON,%B
953L    #SKI
95H=          DOWN     OPENFILE,3   
962W    #STR  LEXICON,%B
96GG    (   
9726    #STR  DOCUMENT,%B   
97FQ    #SKI
97^B          DOWN     OPENFILE,4   
98F2    #STR  DOCUMENT,%B   
98YL    (   
99D=    #STR  SERIAL,%B 
99XW    #SKI
9=CG          DOWN     OPENFILE,5   
9=X6    #STR  SERIAL,%B 
9?BQ    (   
9?WB    #STR  INCINDEX,%B   
9#B2    #SKI
9#TL          DOWN     OPENFILE,7   
9**=    #STR  INCINDEX,%B   
9*SW    (   
9B#G    #STR  OUTPUT,%B 
9BS6    #SKI
9C?Q          DOWN     OPENFILE,8   
9CRB    #STR  OUTPUT,%B 
9D?2    (   
9D*K ...#STR  IDFB,%B   
9DD8 ...#SKI
9DGR ...      DOWN     OPENFILE,13  
9DKB ...#STR  IDFB,%B   
9DM^ ...(   
9DQL    #STR  IDF,%B
9F==    #SKI
9FPW          DOWN     OPENFILE,9   
9G9G    #STR  IDF,%B
9GP6    (   
9H8Q    #STR  PROPERTY,%B   
9HNB    #SKI
9J82          DOWN     OPENFILE,10  
9JML    #STR  PROPERTY,%B   
9K7=    (   
9KLW    #STR  JOBLIST,%B
9L6G    #SKI
9LL6          DOWN     OPENFILE,11  
9M5Q    #STR  JOBLIST,%B
9MKB    (   
9N52    #STR  PARAMINDEX,%B 
9NJL    #SKI
9P4=          DOWN     OPENFILE,12  
9PHW    #STR  PARAMINDEX,%B 
9Q3G          GEOERR   1,WRNGNAME   
9Q?# ...)   
9QH6    )   
9R2Q    )   
9RGB    )   
9S22    )   
9SFL    )   
9S^=    )   
9TDW    )   
9TYG    )   
9WD6    )   
9WXQ    #STR  %A
9XCB          BRN      %A   
9XX2    #STR  %A
9YBL    #SKI
9YW=          BRN      (GEOERR) 
9^*W    #NOR
9^KN ...[??? OPENSYS SECT FILE FGN 20 DOC   
9^TG    #MAC  OPENSYS   
=2*6    # AS OPENSYSX EXCEPT THAT:- 
=2SQ    #    %C TO %J INCLUSIVE ARE THE FILE OPENING MODES. 
=3#B          SETMODE  0,%C,%D,%E,%F,%G,%H,%I,%J
=3S2          OPENSYSX %A,%B,0  
=4?L    #NOR
=4HD ...[??? MODCHANG SECT FILE FGN 20 DOC  
=4R=    [   
=5=W    [   
=5QG    #     THIS MACRO CHANGES THE MODE OF OPENING OF THE TOP FILE OPEN   
=6=6    #     FROM GENERAL TO READ MODE. IT DOES NOT GURANTEE THAT THE  
=6PQ    #     FILE WILL BE LISTFILED IF FROZEN. 
=79B    #MAC  MODCHANGE                    [CAN'T USE MODECHANGE AS MODE
=7P2                                       [IS AN INSTRUCTION ('125)
=88L          TOPFCAB 2,1   
=8N= ...      MBI      2,BAMAPP,BAMREAD    [SWITCH OPENING MODES
=97W          LDN   0  1
=9MG          STO   0  CTOPEN(1)            [1 READER   
==76          LDX   0  FWAITCOUNT(1)        [ANY WAITERS?   
==LQ          BZE   0  M1MODECHAN   
=?6B          STOZ     FWAITCOUNT(1)        [ZEROISE
=?L2          LONGON   6,BACK2(1)           [WAKE WAITERS   
=#5L    M1MODECHAN  
=#K=    #NOR
=#T4 ...[??? TESTOPEN SECT FILE FGN 20 DOC  
=*4W    #MAC  TESTOPEN  
=*JG ...      DOWN     OPENEND,3
=B46          BRN      %A   
=BHQ    #NOR
=BJ2 ...[??? COPYCOMM SECT FILE 
=BJ= ...#MAC  COPYCOMM  
=BJG ...[   THIS IS A RESTORE-TIME MACRO TO ALLOW THE USE OF COMMUNE
=BJQ ...[   AND GDR QUALIFIERS TO THE 2ND PARAMETER OF THE COPY COMMAND.
=BK2 ...[   
=BK= ...#STR ON,%A  
=BKG ...#SKI
=BKQ ...(   
=BL2 ...#MEN  COPYA 
=BL= ...#TRA  K55COPYA  
=BLG ...      NULL  
=BLQ ...#END
=BM2 ...#MEN  COPYB 
=BM= ...#TRA  K55COPYB  
=BMG ...      NULL  
=BMQ ...#END
=BN2 ...)   
=BN= ...#STR OFF,%A 
=BNG ...#SKI
=BNQ ...(   
=BP2 ...#MEN  COPYA 
=BP= ...#TRA  K55COPYA  
=BPG ...      BRN      K56COPYA 
=BPQ ...#END
=BQ2 ...#MEN  COPYB 
=BQ= ...#TRA  K55COPYB  
=BQG ...      BRN      K56COPYB 
=BQQ ...#END
=BR2 ...)   
=BR= ...#NOR
=BRJ ...[??? GDRPTRS SECT FILE FGN 20 DOC   
=C3B    #MAC  GDRPTRS   
=CH2    [   
=D2L    [     THIS MACRO CALCULATES THE READ POINTERS OF A NEWLY OPENED GENERAL 
=DG=    [     DESTRUCTIVE READ FILE,AND SETS THEM EQUAL TO THE READ PTRS OF THE 
=D^W    [     MOST ADVANCED READER. 
=FFG    [   
=F^6          LDX   %B %A   
=GDQ          ADX   %B FBACKPOINT(%A)      [%B -> FSTACK
=GYB     MOD  LDEX  0  ARINGNO,%B   
=HD2    #SKI  K6OPEN>100$100
=HXL          TRACE    0,NO.ELTDR   
=JC=          BCT   0  M1GDRPTRS           [J IF >1 ELEMENTS
=JWW    M8GDRPTRS   
=KBG          NGS   %B FREADBLOCK(%A)      [O/W SET 'REWOUND' POINTERS  
=KW6          NGS   %B FREADWORD(%A)
=L*Q          BRN      M2GDRPTRS
=LTB    M1GDRPTRS   
=M*2          NGX   0  0                   [REVERSE COUNT   
=MSL          ANDX  0  BITS22LS 
=N#=          STOZ     FREADBLOCK(%A)   
=NRW    M3GDRPTRS   
=P?G     MOD  LDXC  %C A1+FGENERAL1,%B  
=PR6          BCC      M4GDRPTRS           [J IF NOT OPEN IN READ MODE  
=Q=Q     MOD  LDN   %C A1+FREADBLOCK,%B 
=QQB          SBN   %C FREADBLOCK(%A)      [IS THIS'OUR' ELEMENT ?  
=R=2          BZE   %C M4GDRPTRS           [J IF SO 
=RPL     MOD  LDXC  %C FREADBLOCK+A1,%B 
=S9=          BCS      M4GDRPTRS           [J IF NEGATIVE POINTERS. 
=SNW          SBX   %C FREADBLOCK(%A)   
=T8G          BNG   %C M4GDRPTRS           [J IF READER BEHIND LATEST FOUND BEFO
=TN6          BZE   %C M5GDRPTRS           [J IF EQUAL TO CF. RECORD PTRS.  
=W7Q          ADS   %C FREADBLOCK(%A)      [UPDATE READ PTRS
=WMB    #SKI  K6OPEN>99$99  
=X72          TRACE    FREADBLOCK(%A),NEW BLDR  
=XLL     MOD  LDX   %C FREADWORD+A1,%B  
=Y6=    M6GDRPTRS   
=YKW          STO   %C FREADWORD(%A)       [
=^5G    #SKI  K6OPEN>99$99  
=^K6          TRACE    FREADWORD(%A),NEWRECDR   
?24Q    M4GDRPTRS   
?2JB          BZE   0  M7GDRPTRS           [EXIT IF END 
?342          ADN   %B FELLEN              [STEP ON FSTACK PTR  
?3HL    #SKI  K6OPEN>100$100
?43=          TRACE    FREADBLOCK+A1(%B),LOOP GDR   
?4GW          BUX   0  M3GDRPTRS           [CT = NEG.OF TOTAL ELTS.MINUS ONE
?52G    M5GDRPTRS   
?5G6     MOD  LDXC  %C FREADWORD+A1,%B  
?5^Q          BCS      M4GDRPTRS           [J IF RECORD PTR <0  
?6FB          BXL   %C FREADWORD(%A),M4GDRPTRS[J IF LESS THAN   
?6^2          BRN      M6GDRPTRS           [O/W UPDATE  
?7DL    M7GDRPTRS   
?7Y=          LDX   0  FREADBLOCK(%A)      [IF NO POINTER CALCULATED,SET <0.
?8CW          BZE   0  M8GDRPTRS
?8XG    M2GDRPTRS   
?9C6    #NOR
?9LY ...[??? XGDRPTRS SECT FILE FGN 20 DOC  
?9WQ    #MAC  XGDRPTRS  
?=BB          LDX   %B %A   
?=W2          ADX   %B FBACKPOINT(%A)   
??*L     MOD  LDEX  0  ARINGNO,%B   
??T=          SBN   0  1
?##W          BZE   0  M2XGDR   
?#SG    M1XGDR  
?*#6          NGX   0  0
?*RQ          ANDX  0  BITS22LS 
?B?B          NGNC  %C 2
?BR2          STO   %C FREADWORD(%A)
?C=L          STO   %C FREADBLOCK(%A)   
?CQ=    M3XGDR  
?D9W     MOD  LDXC  %C A1+FGENERAL1,%B  
?DPG          BCC      M4XGDR   
?F96     MOD  LDN  %C A1,%B 
?FNQ          SBN   %C 0(%A)
?G8B          BZE   %C  M4XGDR  
?GN2     MOD  LDXC  %C FREADBLOCK+A1,%B 
?H7L          BCS      M9XGDR   
?HM=          SBX   %C  FREADBLOCK(%A)  
?J6W          BZE   %C  M5XGDR  
?JLG          BPZ   %C  M4XGDR  
?K66          ADS   %C  FREADBLOCK(%A)  
?KKQ     MOD  LDX   %C FREADWORD+A1,%B  
?L5B    M6XGDR  
?LK2          STO   %C FREADWORD(%A)
?M4L    M4XGDR  
?MJ=          BZE   0  M7XGDR   
?N3W          ADN  %B FELLEN
?NHG          BUX   0  M3XGDR   
?P36    M9XGDR  
?PGQ          GEOERR 1,XGDRXTR  
?Q2B    M5XGDR  
?QG2     MOD  LDX   %C FREADWORD+A1,%B  
?Q^L          BNG   %C M6XGDR   
?RF=          BXL   %C FREADWORD(%A),M6XGDR 
?RYW          BRN      M4XGDR   
?SDG    M7XGDR  
?SY6    M2XGDR  
?TCQ    #NOR
?TMJ ...[??? MAPBOREL SECT FILE FGN 20 DOC  
?TXB    #MAC  MAPBOREL  
?WC2          LDX   1  ALOGLEN(%A)  
?WWL          SBN   1  FBITS-A1 
?XB=          BZE   1  M2MAPBOREL   
?XTW          NGN   0  1
?Y*G    M1MAPBOREL  
?YT6          SBN   1  1
?^#Q          SMO      1
?^SB          STO   0  FBITS(%A)
#2#2          BNZ   1  M1MAPBOREL   
#2RL    M2MAPBOREL  
#3?=    #NOR
#3H4 ...[??? GFCB SECT FILE FGN 20 DOC  
#3QW    #MAC  GFCB  
#4=G ...      GFCBC %A,%B   
#8M6    #NOR
#8WY ...[??? GFCBC SECT FILE FGN 20 DOC 
#96Q    #   
#9LB    # THIS MACRO LOCATES AN FCB IN THE FILE RING BY ITS UNIQUE NUMBER & 
#=62    # BRANCHES TO A GIVEN LABEL IF FCB NOT FOUND
#=KL    #   
#?5=    #MAC  GFCBC 
#?#8 ...      LDXC  0  %A         [DIRECTORY OR TERM FILE   
#?H6 ...      LDN   0  0
#?Q4 ...      ERN   0  1         [DIR=0  FILE=1 
#?^2 ...      STO   0  GEN0         [SMO MODIFIER =1 OR 0   
##7Y ...      BASEFCB %B,DIR,M2GFCBC,,SMO    GEN0   
##BW ...M1GFCBC 
##KS ...      SMO      CMIN64   
##SQ ...      BXE   %A  BACK2-FCBRING+64(%B),M3GFCBC         [COMPARE FCB NOS   
#*3N ...      NEXTFCB %B,DIR,M1GFCBC,,SMO     GEN0         [TRY NEXT FCB
#*=L ...M2GFCBC                     [FCB RING EXHAUSTED 
#*FJ ...#STR  %C
#*NG ...      BRN      %C   
#*XD ...#STR  %C
#B6B ...#STR
#B*# ...      GEOERR 1,FCB MISS 
#BJ= ...M3GFCBC 
#BR8 ...      SBN   %B  FCBRING 
#C2=    #NOR
#C=4 ...[??? PROPTEST SECT FILE FGN 20 DOC  
#CFW    #MAC  PROPTEST  
#C^G          DOWN     LEXIFIND,3   
#DF6    #NOR
^^^^ ...32275202002700000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1