{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: MACROSBRBS)}}
====== MACROSBRBS ======
(George Source)
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
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
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
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