MACROSBRBS

(George Source)

MACROSBRBS.txt
22FL ...[??? SHEETSIZ SECT FILE FGN 14 DOC  
22^=    #MAC  SHEETSIZE 
23DW    #MEND CONSTANT  
23YG    #SKI  %A>31-31  
24D6    (   
24XQ    !!    SHEETSIZE MUST BE 32K OR LESS 
25CB    #TRA  BSSS  
25X2          +31*1024  
26BL    )   
26W=    #SKI  %A<32-32  
27*W    (   
27TG    #TRA  BSSS  
28*6          +%A*1024  
28SQ    )   
29#B    #END
29S2    #NOR
2=3S ...[??? BLOCKBIT SECT FILE FGN 14 DOC  
2=?L    #MAC  BLOCKBITS 
2=R=          RESON    BSBITS   
2?=W    #NOR
2?GN ...[??? OLDA2SJM SECT FILE FGN 14 DOC  
2?QG    #   
2?S9 ...#   
2?TY ...#MAC  OLDA2SJMESS   
2?XM ...#MEN  SOUP  
2?^B ...#TRA  AOLDA2SJMES   
2#35 ...      NULL  
2#4S ...#END
2#6H ...#NOR
2#7B ...[??? NOINTEGR SECT FILE FGN 14 DOC  
2#8= ...#   
2#=6    #MAC  NOINTEGRITY   
2#PQ ...!!  NOINTEGRITY SPECIAL NOT SUPPORTED IN MK 867  !! 
2YQB    #NOR
2^28 ...[??? NOFILES SECT FILE FGN 14 DOC   
2^=2    #   
2^PL    #MAC  NOFILES   
329=    #MEND GETBAX
32NW    #STR  %A
338G    (   
33N6    #TRA  INOF  
347Q          +%A   
34MB    )   
3572    #STR  %B
35LL    (   
366=    #TRA  INOFA 
36KW          +%B   
375G    )   
37K6    #STR  %C
384Q    (   
38JB    #TRA  FACTOR
3942          +%C   
39HL    )   
3=3=    #END
3=GW    #NOR
3?2G ...[??? WHATBACK SECT FILE FGN 14 DOC  
3FT=    #MAC  WHATBACK  
3FWD ...#STR VSF,%E 
3FXL ...(   
3FYS ...      SMO      FX2  
3G22 ...      STOZ     ACOMMUNE5
3G38 ...)   
3G4B ...#STR VSF,%E 
3G5J ...#SKI
3G6Q ...(   
3G7Y ...      LDCT  0  #200 
3G96 ...      SMO      FX2  
3G=# ...      STO   0  ACOMMUNE5
3G?G ...)   
3G#W    #STR  SWAP,%D   
3GSG    (   
3H#6          SMO      FX2  
3HRQ          STOZ     ACOMMUNE6
3J?B    )   
3JR2    #STR  SWAP,%D   
3K=L    #SKI
3KQ=    (   
3L9W          LDCT  0  #400 
3LPG          SMO      FX2  
3M96          STO   0  ACOMMUNE6
3MNQ    )   
3N8B    #STR  %B
3NN2    (   
3P7L          LDX   0  %B   
3PM=          LDX   2  FX2  
3Q6W          STO   0  EXEC2(2) 
3QLG    )   
3R66    #STR  %B
3RKQ    #SKI
3S5B          LDX   2  FX2  
3SK2    #STR  %A
3T4L    (   
3TJ=          LDN   0  %A   
3W3W          STO   0  EXEC1(2) 
3WHG    )   
3X36    #STR  %A
3XGQ    #SKI
3Y2B          STOZ     EXEC1(2) 
3YG2    #STR  %C
3Y^L    (   
3^F=    #STR  %B
3^YW          DOWN     GETBAX,3            [%B & %C SPECIFIED   
42DG    #STR  %B
42Y6    #SKI
43CQ          DOWN     GETBAX,7            [%B NOT SPECIFIED
43XB          BRN      %C   
44C2    )   
44WL    #STR  %C
45B=    #SKI
45TW    (   
46*G    #STR  %B
46T6          DOWN     GETBAX,9            [%C NOT SPECIFIED
47#Q    #STR  %B
47SB    #SKI
48#2          DOWN     GETBAX,8            [%B & %C NOT SPECIFIED   
48RL    )   
49?=    #NOR
49H4 ...[??? GETBACK SECT FILE FGN 14 DOC   
49QW    #MAC  GETBACK   
4==G    #STR  %A,0  
4=Q6          LDX   0  %A   
4?9Q    #STR  %A
4?PB    #SKI
4#92          LDX   0  7                   [LOAD IN X7 IF NO PARAMETER  
4#NL          SMO      FX2  
4*8=          STO   0  ACOMMUNE7
4*MW    #STR  PRIV,%B   
4B7G    #SKI
4BM6    (   
4C6Q          LDCT  0  #200 
4CLB          SMO      FX2  
4D62          ORS   0  CLONG1   
4DKL    )   
4F5=    #STR  %C
4FJW    #SKI
4G4G    (   
4GJ6          SMO      FX2  
4H3Q          STOZ     ACOMMUNE9
4HHB    )   
4J32    #STR  %C
4JGL    (   
4K2=          NGN   0  1
4KFW          SMO      FX2  
4K^G          STO   0  ACOMMUNE9
4LF6    )   
4LYQ ...      DOWN     GETBACK,1
4MDB    #STR  %C
4MY2          BRN      %C   
4NCL    #STR  %A
4NX=    #SKI
4PBW          LDX   7  EXEC1(2) 
4PWG    #NOR
4Q6# ...[??? FREEBACK SECT FILE FGN 14 DOC  
4QB6    #MAC  FREEBACK  
4QTQ    #STR  %A,0  
4R*B          LDX   0  %A   
4RT2          SMO      FX2  
4S#L          STO   0  ACOMMUNE7
4SS=    #STR  %B
4T?W    (   
4TRG    #STR  %B,1  
4W?6          LDX   1  %B   
4WQQ    )   
4X=B    #STR  %B
4XQ2    #SKI
4Y9L    (   
4YP=    #STR  %A,0  
4^8W          LDX   1  1+%A 
4^NG    )   
5286          SMO      FX2  
52MQ          STO   1  ACOMMUNE8
537B ...      DOWN     GETBACK,2
53M2    #NOR
53WS ...[??? GETBSLIS SECT FILE FGN 14 DOC  
546L    #   
54L=    #   
555W    #MAC  GETBSLIS  
55KG    #STR  %A,7  
5656          LDX   7  %A   
56JQ          CALL  0  MP2  
574B    #OPT  MGET1=0   
57J2    #SKI  MGET1-1   
583L    (   
58H=          BRN      MGET2               [
592W    M2    BXGE  7  BLMP,MT1            [J IF LFN TOO BIG
59GG          BPZ   7  MT2                 [J IF LFN OKAY   
5=26    MT1   GEOERR   1,HARDLUMP   
5=FQ    MT2   LDX   1  BSAB                [BLOCK TYPE  BSTB BSLIST 
5=^B          LDN   2  BMISC               [BASE OF MISC CHAIN  
5?F2    MT3   LDX   2  FPTR(2)             [NEXT BLOCK IN CHAIN 
5?YL          TXU   1  ATYPE(2) 
5#D=          BCC      MT4                 [J IF BSLIST 
5#XW    MT5   TXU   2  BMISC+1  
5*CG          BCS      MT3                 [J IF NOT END OF CHAIN   
5*X6          GEOERR   1,LOSTLIST   
5BBQ    MT4   TXU   7  BACK1(2) 
5BWB          BCS      MT5                 [J IF NO T CORRECT LIST  
5CB2          EXIT  0  0
5CTL    MGET2   
5D*=    #FRE  MGET1 
5DSW    #OPT  MGET1=1   
5F#G    #DEF  MP2=M2
5FS6    )   
5G?Q    #NOR
5GHJ ...[??? FREEBAX SECT FILE FGN 14 DOC   
5GRB    #   
5H?2    #   
5HQL    [   
5J==    #MAC  FREEBAX   
5JPW    #STR  COPY,%A   
5K9G    #SKI
5KP6          DOWN     GETBAX,12
5L8Q    #STR  COPY,%A   
5LNB          DOWN     GETBAX,2 
5M82    #NOR
5MCS ...[??? GETBAX SECT FILE FGN 14 DOC
5MML    [   
5N7=    #MAC  GETBAX
5NLW    #STR  %A
5P6G    #SKI
5PL6    (   
5Q5Q          SMO      FX2  
5QKB          STOZ     ACOMMUNE9
5R52    )   
5RJL    #STR  %A
5S4=    (   
5SHW          NGN   0  1
5T3G          SMO      FX2  
5TH6          STO   0  ACOMMUNE9
5W2Q    )   
5WGB          DOWN  GETBAX,1
5X22    #STR  %A
5XFL          BRN      %A   
5X^=    #NOR
5Y94 ...[??? FSDESC SECT FILE FGN 14 DOC
5YDW    [   
5YYG    [   
5^D6    [   
5^XQ    [   
62CB    [THE FOLLOWING MACROS ARE USED TO MEND THE CURRENT DESCRIPTION  
62X2    [OF THE FILESTORE INTO THE BEGINNING OF THE CHAPTER WHICH FINDS 
63BL    [ THE FILESTORE (FINDFS).   
63W=    #MAC  FSDESC
64*W    #LIS  3 
64TG    #SKI  EXUDAS
65*6    #MEND FSTABLE   
65SQ    #SKI  EXUDAS<1$1
66#B    #MEND FINDFS                       [CHAPTER NAME
66S2    #LIS  0 
67?L    #DEF  MFINDFS7=0
67R=    #TRA  FIRS  
68=W    #REP  FSTABLEN+1*FIRLEN 
68QG          +0                           [    AREA
69=6    #LIS  3 
69PQ    #NORMAL 
69^J ...[??? FSFILE SECT FILE FGN 14 DOC
6=9B    [   
6=P2    [THE FOLLOWING MACRO USES THE LOCAL IDENTIFIERS MFINDFS,MFINDFS1,   
6?8L    [MFINDFS2,MFINDFS3. THEY HAVE THE FOLLOWING SIGNIFICANCE:-  
6?N=    [   
6#7W    [     MFINDFS: INITIALLY SET OPTIONALLY TO 2 TO CHECK VALIDITY OF THE   
6#MG    [              FIRST %A OF A GROUP (MUST BE EQUAL TO 3). THEREAFTER 
6*76    [              REDEFINED EQUAL TO EACH %A IN TURN TO CHECK ITS VALIDITY 
6*LQ    [              AS BEING GREATER THAN THE LAST %A OF THE GROUP.  
6B6B    [   
6BL2    [    MFINDFS1: POINTS TO NEXT AVAILABLE MEND SPACE. INITIALLY SET   
6C5L    [              OPTIONALLY TO FIRS & SUBSEQUENTLY REDEFINED AT END OF
6CK=    [              EACH ISSUE OF FSFILE.
6D4W    [   
6DJG    [    MFINDFS2: USED AS A TEMPORARY "STORAGE" IDENTIFIER TO REMEMBER 
6F46    [              CURRENT FIRS TABLE POINTER WHILE MFINDFS1 IS FREED AND   
6FHQ    [              REDEFINED.   
6G3B    [   
6GH2    [    MFINDFS3: OPTIONALLY SET TO 1 AT START OF EACH ISSUE. RESET TO ZERO
6H2L    [              IF DEVICE TYPE (%B) IS NONE OF 6,9,OR 13. SUBSEQUENTLY   
6HG=    [              USED TO SKIP OVER THIS FILESTORE DESCRIPTION IF WRONG
6H^W    [              DEVICE TYPE. 
6JFG    [   
6J^6    [    MFINDFS4: USED TO COUNT THE NUMBER OF DESCRIPTIONS MENDED  
6KDQ    [              IN   
6KYB    [   
6LD2    [    MFINDFS5: USED AS A TEMPORARY IDENTIFIER WHILE MFINDFS4 IS UPDATED 
6LXL    [   
6MC=    [     MFINDFS6 : TO REMEMBER IF RESIDENCES ARE DECLARED IN ORDER
6MWW    [   
6NBG    [    MFINDFS7: TO REMEMBER IF A SWAP RESIDENCE HAS BEEN DECLARED.   
6NW6    [              SET NON-ZERO IF THIS FSFILE IS FOR A SWAP RES.   
6P*Q    #MAC  FSFILE
6PTB    #LIS  0 
6Q*2    #SKI  %A-64&#40000000   
6QSL    (   
6R#=    #OPT  MFINDFS3=1
6RRW    #DEF  MFINDFS6=1
6S?G    #STR  %B,6  
6SR6    (   
6T=Q    #STR  %B,9  
6TQB    (   
6W=2    #STR  %B,13 
6WPL    (   
6X9=    #STR  %B,25 
6XNW    (   
6Y8G    #STR  %B,26 
6YN6    (   
6^7Q    #FREE MFINDFS3  
6^MB    #DEF  MFINDFS3=0
7272    )   
72LL    )   
736=    )   
73KW    )   
745G    )   
74K6    #SKI  MFINDFS3  
754Q    (   
75JB    #OPT  MFINDFS=2 
7642    #SKI  MFINDFS-2 
76HL    #SKI
773=    #STR  %A,3  
77GW    #SKI  MFINDFS-2 
782G    (   
78G6    #SKI  %A-MFINDFS
78^Q    #SKI  %A-MFINDFS&#40000000  
79FB    #SKI
79^2    (   
7=DL    #FREE MFINDFS   
7=Y=    #DEF  MFINDFS=%A       [MFINDFS NOW = NEXT LOGICAL FILE NO. 
7?CW    #OPT  MFINDFS1=FIRS    [FIRS = ADDRESS OF START OF MEND AREA
7?XG    #OPT  MFINDFS4=0
7#C6    #SKI  MFINDFS4-FSTABLEN 
7#WQ    #SKI
7*BB          !!TOO MANY FILESTORE DESCRIPTIONS 
7*W2    #SKI  MFINDFS4-FSTABLEN 
7B*L    (   
7BT=    #LIS  3 
7C#W    #TRA  MFINDFS1  
7CSG          12H%C            [FILENAME
7D#6          +%A              [LOGICAL FILE NO.
7DRQ    #FID  0  5 +%B         [DEVICE TYPE 
7F?B    #STR  SWAP,%E   
7FR2    #SKI
7G=L    (   
7GQ=    #SKI  %A-3<1$1  
7H9W    !!RESIDENCE 3 ASWAP FILE??  
7HPG    #SKI  %A>15-15*G4   
7J96    !! SWAP RESIDENCE %A IN G4??
7JNQ    #SKI  %A-3  
7K8B    (   
7KN2    #SKI  %A>15-15*G4<1$1   
7L7L    (   
7LM=    #FID  6 6 1 
7M6W    #SKI  MFINDFS7<1$1  
7MLG    (   
7N66    #FRE  MFINDFS7  
7NKQ    #DEF  MFINDFS7=1                   [REMEMBER SWAP RESIDENCE DECLARED
7P5B    )   
7PK2    )   
7Q4L    )   
7QJ=    )   
7R3W    #STR  %D
7RHG    #SKI
7S36          +0               [ZERO IF NO SERIAL NO PARAMETER  
7SGQ    #STR  %D
7T2B    (   
7TG2          +#%D                         [SERIAL NO.  
7T^L    #SKI  +#%D&#77000000
7WF=    (   
7WYW    !!SERIAL NO. TOOBIG!!   
7XDG    #DEF  0?=0?-1   
7XY6          +0
7YCQ    )   
7YXB    )   
7^C2    #DEF  MFINDFS2=MFINDFS1+5          [STEP IDENTIFIER FOR NEXT MEND AREA  
7^WL    #FREE MFINDFS1  
82B=    #DEF  MFINDFS1=MFINDFS2        [MFINDFS1 SET FOR NEXT MACRO 
82TW    #FREE MFINDFS2                 [FREE READY FOR NEXT TIME ROUND REDEF
83*G    #DEF  MFINDFS5=MFINDFS4+1   
83T6    #FRE  MFINDFS4  
84#Q    #DEF  MFINDFS4=MFINDFS5 
84SB    #FRE  MFINDFS5  
85#2    #FRE  MFINDFS6  
85RL    #DEF  MFINDFS6=0
86?=    #LIS  0 
86QW    )   
87=G    )   
87Q6    #SKI  MFINDFS6  
889Q    !!FSFILE OUT OF SEQUENCE!!  
88PB    )   
8992    #SKI  MFINDFS-2 
89NL    #SKI
8=8=    (   
8=MW    #STR  %A,3  
8?7G    !WHERE'S RES.3??
8?M6    )   
8#6Q    )   
8#LB    #SKI  MFINDFS3<1$1  
8*62       !!WRONG DEVICE TYPE  
8*KL    #FRE  MFINDFS3,MFINDFS6 
8B5=    )   
8BJW    #SKI  63<%A-%A  
8C4G    (   
8CJ6    !! RESIDENCE NO. %A??   
8D3Q    )   
8DHB    #LIS  3 
8F32    #NORMAL 
8F=S ...[??? ENDESC SECT FILE FGN 14 DOC
8FGL    [   
8G2=    [   
8GFW    #MAC  ENDESC
8G^G    #SKI  MFINDFS7<1$1  
8HF6    !! NO SWAP RESIDENCE DECLARED!! 
8HYQ    #FRE  MFINDFS7  
8JDB    #END
8JY2    #NORMAL 
8K7S ...[??? DATUMADD SECT FILE FGN 14 DOC  
8KCL    #MAC  DATUMADD  
8KX=          LDX   0  %A   
8LBW          STO   0  BSL1 
8LWG          LDX   0  %B   
8MB6          STO   0  BSL2 
8MTQ          LDX   0  %C   
8N*B          STO   0  BSL3 
8NT2          CALL  0  (BSP1)   
8P#L    #NORMAL 
8PJD ...[??? DATUMBLK SECT FILE FGN 14 DOC  
8PS=    #MAC  DATUMBLK  
8Q?W          LDX   0  %A   
8QRG          STO   0  BSL1 
8R?6          LDX   0  %B   
8RQQ          STO   0  BSL2 
8S=B    #STR  %C
8SQ2    #SKI
8T9L    #SKI
8TP=    (   
8W8W          LDX   0  %C   
8WNG          STO   0  BSL3 
8X86    )   
8XMQ    #STR  %C
8Y7B    #SKI
8YM2    (   
8^6L          LDX   0  BSBS 
8^L=          STO   0  BSL3 
925W    )   
92KG          CALL  0  (BSP2)   
9356    #NORMAL 
93#Y ...[??? JAMQUERY SECT FILE FGN 14 DOC  
93JQ    #   
944B    #   
94J2    #   
953L    #   
95H=    #MAC  JAMQUERY  
962W    #STR     %A                        [SKIP IF A PARAMETER SPECIFIED   
96GG    #SKI
9726          LDX   1  A1+1(2)             [NUMBER OF BLOCKS LEFT IN BSLIST 
97FQ ...      BSON      EMSBIT,M1JM 
97^B          BNG   1  M3JM                [NO BLOCKS LEFT  
98F2          BXGE  1  A1+2(2),M1JM        [OK IF MORE LEFT THAN JAM PERCENTAGE 
98YL    M3JM
99D=          LDN   0  #4000
99XW          ANDX  0  A1+4(2)             [CHECK IF UNJAM MARKER IN BSLIST BLOC
9=CG          BNZ   0  M1JM                [J IF MARKER PRESENT 
9=X6          LDN   0  #4000
9?BQ          ORS   0  A1+4(2)             [IF NOT PUT UNJAM MARKER IN BSLIST BL
9?WB          LDX   5  2                   [KEEP POINTER TO BSLIST  
9#B2          FON      9,0                 [AND SET THE BSUNJAMMER GOING
9#TL          LDX   2  5                   [RESTORE POINTER 
9**=    M1JM
9*SW    #NOR
9B4N ...[??? RESQUERY SECT FILE FGN 14 DOC  
9B#G    #MAC  RESQUERY  
9BS6          LDX   0  %A   
9C?Q          LDX   1  BSAB 
9CRB          LDN   2  BMISC
9D?2    MRESQUERY   
9DQL          LDX   2  FPTR(2)  
9F==          TXU   2  CXMI 
9FPW          BCC      %B   
9G9G          TXU   1  ATYPE(2) 
9GP6          TXU   0  BACK1(2) 
9H8Q          BCS      MRESQUERY
9HNB          LDX   0  A1+4(2)  
9J82          BNG   0  %B   
9JML    #NOR
9JXD ...[??? LBSUN SECT FILE FGN 14 DOC 
9K7=    #MAC  LBSUN 
9KLW          LADDP    %A,%B
9L6G          LTYPE    %A,0 
9LL6          SBN   0  9
9M5Q          BZE   0  MBDR 
9MKB          SBN   0  16   
9N52          BZE   0  MBDR 
9NJL      MOD LDX   %B BSUNIT,%B
9P4=          BRN      MBSU 
9PHW    MBDR
9Q3G      MOD LDX   %B BDRUM,%B 
9QH6    MBSU  ANDN  %B #7777
9R2Q    #NOR
9RGB ...[??? NOTALLOC SECT FILE FGN 14 DOC  
9S22 ...#MAC NOTALLOC   
9SFL ...#UNS FSHB   
9S^= ...(   
9TDW ...#UNS FSHTEST
9TYG ...#SKI
9WD6 ...(   
9WXQ ...!! NOTALLOC ILLEGAL IN MACHINE B !! 
9XCB ...#EXIT   
9XX2 ...)   
9YBL ...)   
9YW= ...#STR %A 
9^*W ...(   
9^TG ...#SKI (%A<4$4)^(%A>63$63)
=2*6 ...(   
=2SQ ...!! RESIDENCE NO. OUT OF RANGE: %A !!
=3#B ...#EXIT   
=3S2 ...)   
=4?L ...#MEND GETBAX
=4R= ...#TRA  K100GETBAX
=5=W ...      NULL  
=5QG ...#END
=6=6 ...#MEND SETLIST   
=6PQ ...#TRA  K100SETLIST   
=79B ...      NULL  
=7P2 ...#SKI %A<24$24   
=88L ...(   
=8N= ...#TRA ANOTALRES  
=97W ...#DEF 21?=#40000000@C-%A 
=9MG ...         +34?+0?]^21?   
==76 ...#END
==LQ ...#EXIT   
=?6B ...)   
=?L2 ...#SKI %A<48$48   
=#5L ...(   
=#K= ...#TRA ANOTALRES+1
=*4W ...#DEF 21?=#40000000@C-(%A-24)
=*JG ...         +34?+0?]^21?   
=B46 ...#END
=BHQ ...#EXIT   
=C3B ...)   
=CH2 ...#TRA ANOTALRES+2
=D2L ...#DEF 21?=#40000000@C-(%A-48)
=DG= ...         +34?+0?]^21?   
=D^W ...#END
=FFG ...#EXIT   
=F^6 ...)   
=GDQ ...#MEND GETBAX                       [%A MISSING SWITCH OFF   
=GYB ...#TRA K100GETBAX 
=HD2 ...     BRN  K101GETBAX
=HXL ...#END
=JC= ...#MEND SETLIST   
=JWW ...#TRA K100SETLIST
=KBG ...     BRN  K101SETLIST   
=KW6 ...#TRA ANOTALRES  
=L*Q ...         +0 
=LTB ...         +0 
=M*2 ...         +0 
=MSL ...#END
=N#= ...#NOR
^^^^ ...041534030019