IFMACS

(George Source)

IFMACS.txt
24D6    [   
24XQ    [ HERE FOLLOW THE USER MACROS   
25CB    [ ===========================   
25X2    [   
26BL    [   
26W=    [??? IF SECT DEVT FGN 1 DOC 
27*W    [   
27TG    #MAC           IF   
28*6    [              ==   
28SQ    [   
29#B    [ SETS: 
29S2    [     DEPTH UP, ADVANCES THE THREE STACK IDENTIFIERS
2=?L    [     CURRENT STRUCTURE = CONDITIONAL   
2=R=    [     'THEN' NOT FOUND  
2?=W    [     'OR' NOT EXPECTED 
2?QG    [ COMPILES: 
2#=6    [     A JUMP OR BRANCH  
2#PQ    [   
2*9B    #OPT           NESTREASON=0 
2*P2    #OPT           NESTDEPTH=0  
2B8L    #OPT           NESTFLAG=0   
2BN=    #OPT           NESTEITHERS=0
2C7W          STRUCTURE 1,ON
2CMG          ALTDEPTH +1   
2D76    #SKI           NESTDEPTH/9         [INCLUDE IF NESTDEPTH 9-16 INCLUSIVE 
2DLQ    (   
2F6B          GOIFALSE NIF7,NIF6,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%-
2FL2    P,%Q,%R,%S,%T,%U,%V 
2G5L    #EXI
2GK=    )   
2H4W    [ELSE INCLUDE IF NESTDEPTH 1-8 INCLUSIVE
2HJG          GOIFALSE NIF2,NIF1,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%-
2J46    P,%Q,%R,%S,%T,%U,%V 
2JHQ    #NOR
2K3B    [   
2KH2    [   
2L2L    [??? THEN SECT DEVT FGN 1 DOC   
2LG=    [   
2L^W    #MAC           THEN 
2MFG    [              ==== 
2M^6    [   
2NDQ    [ ENSURES:  
2NYB    [     DEPTH NON-ZERO
2PD2    [     CURRENT STRUCTURE = CONDITIONAL   
2PXL    [     'OR' NOT EXPECTED 
2QC=    [     'THEN' NOT FOUND  
2QWW    [ COMPILES: 
2RBG    [     'THEN' LABEL  
2RW6    [   
2S*Q    #UNS           NESTDEPTH
2STB    (   
2T*2          STRUCTURE 1,CHECK 
2TSL          FLAGTEST THEN,0,NOT,0,NOT,THEN
2W#=    #ALT           NESTFLAG=NESTFLAG^1  
2WRW    #SKI           NESTDEPTH/9  
2X?G    (   
2XR6    #ALT           20?=NESTDEPTH-9  
2Y=Q          NESTLABEL NIF6,FREE   
2YQB    #EXI
2^=2    )   
2^PL    #ALT           20?=NESTDEPTH-1  
329=          NESTLABEL NIF1,FREE   
32NW    #EXI
338G    )   
33N6    !! MEANINGLESS AT NESTING DEPTH ZERO !!!
347Q    #NOR
34MB    [   
3572    [   
35LL    [??? ELSE SECT DEVT FGN 1 DOC   
366=    [   
36KW    #MAC           ELSE 
375G    [              ==== 
37K6    [   
384Q    [     DEPTH NON-ZERO
38JB    [     CURRENT STRUCTURE = CONDITIONAL   
3942    [     'OR' NOT EXPECTED 
39HL    [     'THEN' FOUND  
3=3=    [ COMPILES: 
3=GW    [     BRN TO END OF CONDITIONAL 
3?2G    [     'ELSE' LABEL  
3?G6    [   
3?^Q    #UNS           NESTDEPTH
3#FB    (   
3#^2          STRUCTURE 1,CHECK 
3*DL          FLAGTEST ELSE,0,NOT,1,,THEN   
3*Y=    #SKI           NESTDEPTH/9         [INCLUDE IF NESTDEPTH 9-16 INCLUSIVE 
3BCW    (   
3BXG    #ALT           20?=NESTDEPTH-9  
3CC6          NESTBRANCH RN,NIF8
3CWQ    #ALT           20?=NESTDEPTH-9  
3DBB          NESTLABEL NIF7,FRE
3DW2    #EXI
3F*L    )   
3FT=    #ALT           20?=NESTDEPTH-1  
3G#W          NESTBRANCH RN,NIF3
3GSG    #ALT           20?=NESTDEPTH-1  
3H#6          NESTLABEL NIF2,FRE
3HRQ    #EXI
3J?B    )   
3JR2    !! MEANINGLESS AT NESTING DEPTH ZERO !! 
3K=L    #NOR
3KQ=    [   
3L9W    [   
3LPG    [??? FI SECT DEVT FGN 1 DOC 
3M96    [   
3MNQ    #MAC           FI   
3N8B    [              ==   
3NN2    [   
3P7L    [ ENSURES:  
3PM=    [     DEPTH NON-ZERO
3Q6W    [     CURRENT STRUCTURE = CONDITIONAL   
3QLG    [     'OR' NOT EXPECTED 
3R66    [     'THEN' FOUND  
3RKQ    [ COMPILES: 
3S5B    [     'ELSE' LABEL  
3SK2    [     LABEL FOR END OF CONDITIONAL  
3T4L    [ SETS: 
3TJ=    [     DEPTH DOWN, RETRACTS THE THREE STACK IDENTIFIERS  
3W3W    [   
3WHG    #UNS           NESTDEPTH
3X36    (   
3XGQ          STRUCTURE 1,OFF   
3Y2B          FLAGTEST FI,0,NOT,1,,THEN 
3YG2    #SKI           NESTDEPTH/9         [INCLUDE IF NESTDEPTH 9-16 INCLUSIVE 
3Y^L    (   
3^F=    #ALT           20?=NESTDEPTH-9  
3^YW          NESTLABEL NIF7,FREE,NIF8,FREE 
42DG          ALTDEPTH -1   
42Y6    #EXI
43CQ    )   
43XB    [ELSE INCLUDE IF NESTDEPTH 1-8 INCLUSIVE
44C2    #ALT           20?=NESTDEPTH-1  
44WL          NESTLABEL NIF2,FREE,NIF3,FREE 
45B=          ALTDEPTH -1   
45TW    #EXI
46*G    )   
46T6    !! MEANINGLESS AT NESTING DEPTH ZERO !! 
47#Q    #NOR
47SB    [   
48#2    [   
48RL    [??? ELSF SECT DEVT FGN 1 DOC   
49?=    [   
49QW    #MAC           ELSF 
4==G    [              ==== 
4=Q6    [   
4?9Q    [ ENSURES:  
4?PB    [     DEPTH NON-ZERO
4#92    [     CURRENT STRUCTURE = CONDITIONAL   
4#NL    [     'OR' NOT EXPECTED 
4*8=    [     'THEN' FOUND  
4*MW    [ SETS: 
4B7G    [     'THEN' NOT FOUND  
4BM6    [ COMPILES: 
4C6Q    [     BRN TO END OF CONDITIONAL 
4CLB    [     'ELSE' LABEL  
4D62    [     A JUMP OR BRANCH  
4DKL    [   
4F5=    #UNS           NESTDEPTH
4FJW    (   
4G4G          STRUCTURE 1,CHECK 
4GJ6          FLAGTEST ELSF,0,NOT,1,,THEN   
4H3Q    #ALT           NESTFLAG=NESTFLAG$1 [CLEAR 'THEN'
4HHB    #SKI           NESTDEPTH/9  
4J32    (   
4JGL    #ALT           20?=NESTDEPTH-9  
4K2=          NESTBRANCH RN,NIF8
4KFW    #ALT           20?=NESTDEPTH-9  
4K^G          NESTLABEL NIF7,FREE   
4LF6    #ALT           20?=NESTDEPTH-9  
4LYQ          GOIFALSE NIF7,NIF6,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%-
4MDB    P,%Q,%R,%S,%T,%U,%V 
4MY2    #EXI
4NCL    )   
4NX=    #ALT           20?=NESTDEPTH-1  
4PBW          NESTBRANCH RN,NIF3
4PWG    #ALT           20?=NESTDEPTH-1  
4QB6          NESTLABEL NIF2,FREE   
4QTQ    #ALT           20?=NESTDEPTH-1  
4R*B          GOIFALSE NIF2,NIF1,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%-
4RT2    P,%Q,%R,%S,%T,%U,%V 
4S#L    #EXI
4SS=    )   
4T?W    !! MEANINGLESS AT NESTING DEPTH ZERO !! 
4TRG    #NOR
4W?6    [   
4WQQ    [   
4X=B    [??? OR SECT DEVT FGN 1 DOC 
4XQ2    [   
4Y9L    #MAC           OR   
4YP=    [              ==   
4^8W    [   
4^NG    [ ENSURES:  
5286    [     DEPTH NON-ZERO
52MQ    [     'THEN' / 'DO' NOT FOUND   
537B    [     'OR' EXPECTED 
53M2    [ COMPILES: 
546L    [     A JUMP OR BRANCH  
54L=    [     LABEL FOR START OF NEXT CONDITION STEP
555W    [   
55KG    #UNS           NESTDEPTH
5656    (   
56JQ          FLAGTEST OR,1,,0,NOT,THEN/DO  
574B    #ALT           NESTEITHERS=NESTEITHERS$1 [CLEAR 'EITHER'
57J2    #SKI           NESTDEPTH/9  
583L    (   
58H=          GOIFALSE NIF7,NIF6,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%-
592W    P,%Q,%R,%S,%T,%U,%V 
59GG    #ALT           20?=NESTDEPTH-9  
5=26    #STR           EITHER,%A
5=FQ    (   
5=^B          NESTLABEL NIF6,FREE   
5?F2    #EXI
5?YL    )   
5#D=          NESTLABEL NIF7,FREE   
5#XW    #EXI
5*CG    )   
5*X6          GOIFALSE NIF2,NIF1,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%-
5BBQ    P,%Q,%R,%S,%T,%U,%V 
5BWB    #ALT           20?=NESTDEPTH-1  
5CB2    #STR           EITHER,%A
5CTL    (   
5D*=          NESTLABEL NIF1,FREE   
5DSW    #EXI
5F#G    )   
5FS6          NESTLABEL NIF2,FREE   
5G?Q    #EXI
5GRB    )   
5H?2    !! MEANINGLESS AT NESTING DEPTH ZERO !! 
5HQL    #NOR
5J==    [   
5JPW    [   
5K9G    [??? AND SECT DEVT FGN 1 DOC
5KP6    [   
5L8Q    #MAC           AND  
5LNB    [              ===  
5M82    [   
5MML    [ ENSURES:  
5N7=    [     DEPTH NON-ZERO
5NLW    [     'THEN' / 'DO' NOT FOUND   
5P6G    [     'OR' EXPECTED 
5PL6    [ COMPILES: 
5Q5Q    [     A JUMP OR BRANCH  
5QKB    [     LABEL FOR START OF NEXT CONDITION STEP
5R52    [   
5RJL    #UNS           NESTDEPTH
5S4=    (   
5SHW          FLAGTEST AND,0,NOT,0,NOT,THEN/DO  
5T3G    #SKI           NESTDEPTH/9  
5TH6    (   
5W2Q          GOIFALSE NIF7,NIF6,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%-
5WGB    P,%Q,%R,%S,%T,%U,%V 
5X22    #ALT           20?=NESTDEPTH-9  
5XFL    #STR           EITHER,%A
5X^=    (   
5YDW          NESTLABEL NIF6,FREE   
5YYG    #EXI
5^D6    )   
5^XQ          NESTLABEL NIF7,FREE   
62CB    #EXI
62X2    )   
63BL          GOIFALSE NIF2,NIF1,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%-
63W=    P,%Q,%R,%S,%T,%U,%V 
64*W    #ALT           20?=NESTDEPTH-1  
64TG    #STR           EITHER,%A
65*6    (   
65SQ          NESTLABEL NIF1,FREE   
66#B    #EXI
66S2    )   
67?L          NESTLABEL NIF2,FREE   
67R=    #EXI
68=W    )   
68QG    !! MEANINGLESS AT NESTING DEPTH ZERO !! 
69=6    #NOR
69PQ    [   
6=9B    [   
6=P2    #   
6?8L    [??? WHILE SECT DEVT FGN 1 DOC  
6?N=    [   
6#7W    #MAC           WHILE
6#MG    [              =====
6*76    [   
6*LQ    [ SETS: 
6B6B    [     DEPTH UP, ADVANCES THE THREE STACK IDENTIFIERS
6BL2    [     CURRENT STUCTURE = ITERATION  
6C5L    [     'DO' NOT FOUND
6CK=    [     'OR' NOT EXPECTED 
6D4W    [ COMPILES: 
6DJG    [     LABEL FOR START OF ITERATION  
6F46    [     A JUMP OR BRANCH  
6FHQ    [   
6G3B    #OPT           NESTREASON=0 
6GH2    #OPT           NESTDEPTH=0  
6H2L    #OPT           NESTFLAG=0   
6HG=    #OPT           NESTEITHERS=0
6H^W          STRUCTURE 0,ON
6JFG          ALTDEPTH +1   
6J^6    #SKI           NESTDEPTH/9         [INCLUDE IF NESTDEPTH 9-16 INCLUSIVE 
6KDQ    (   
6KYB    #ALT           20?=NESTDEPTH-9  
6LD2          NESTLABEL NIF5
6LXL          GOIFALSE NIF7,NIF6,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%-
6MC=    P,%Q,%R,%S,%T,%U,%V 
6MWW    #EXI
6NBG    )   
6NW6    #ALT           20?=NESTDEPTH-1  
6P*Q          NESTLABEL NIF0
6PTB          GOIFALSE NIF2,NIF1,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%-
6Q*2    P,%Q,%R,%S,%T,%U,%V 
6QSL    #NOR
6R#=    [   
6RRW    [   
6S?G    [??? DO SECT DEVT FGN 1 DOC 
6SR6    [   
6T=Q    #MAC           DO   
6TQB    [              ==   
6W=2    [   
6WPL    [ (FOLLOWING 'WHILE')   
6X9=    [ ENSURES:  
6XNW    [     'DO' NOT FOUND
6Y8G    [     'OR' NOT EXPECTED 
6YN6    [     CURRENT STUCTURE = ITERATION  
6^7Q    [ SETS: 
6^MB    [     'DO' FOUND
7272    [ COMPILES: 
72LL    [     LABEL FOR START OF ITERATION BODY 
736=    [   
73KW    [ (NOT FOLLOWING 'WHILE')   
745G    [ SETS: 
74K6    [     DEPTH UP, ADVANCES THE THREE STACK IDENTIFIERS
754Q    [     CURRENT STUCTURE = ITERATION  
75JB    [     'DO' FOUND
7642    [     'OR' NOT EXPECTED 
76HL    [ COMPILES: 
773=    [     LABEL FOR START OF ITERATION  
77GW    [   
782G    #UNS           NESTDEPTH
78G6    (   
78^Q    #SKI           NESTFLAG^NESTREASON&1<1$1
79FB    (                                  [IF FOLLOWS 'WHILE'  
79^2          FLAGTEST DO,0,NOT,0,,A CATASTROPHE
7=DL    #ALT           NESTFLAG=NESTFLAG^1 [SET 'DO'
7=Y=          STRUCTURE 0,CHECK 
7?CW    #SKI           NESTDEPTH/9  
7?XG    (   
7#C6    #ALT           20?=NESTDEPTH-9  
7#WQ          NESTLABEL NIF6,FREE   
7*BB    #EXI
7*W2    )   
7B*L    #ALT           20?=NESTDEPTH-1  
7BT=          NESTLABEL NIF1,FREE   
7C#W    #EXI
7CSG    )   
7D#6    )                                  [IF DOESN'T FOLLOW 'WHILE'   
7DRQ    #OPT           NESTREASON=0 
7F?B    #OPT           NESTFLAG=0   
7FR2    #OPT           NESTDEPTH=0  
7G=L    #OPT           NESTEITHERS=0
7GQ=          STRUCTURE 0,ON
7H9W          ALTDEPTH +1   
7HPG    #ALT           NESTFLAG=NESTFLAG^1 [SET 'DO'
7J96    #SKI           NESTDEPTH/9  
7JNQ    (   
7K8B    #ALT           20?=NESTDEPTH-9  
7KN2          NESTLABEL NIF5
7L7L    #EXI
7LM=    )   
7M6W    #ALT           20?=NESTDEPTH-1  
7MLG          NESTLABEL NIF0
7N66    #NOR
7NKQ    [   
7P5B    [   
7PK2    [??? REPEAT SECT DEVT FGN 1 DOC 
7Q4L    [   
7QJ=    #MAC           REPEAT   
7R3W    [              ======   
7RHG    [   
7S36    [ ENSURES:  
7SGQ    [     DEPTH NON-ZERO
7T2B    [     CURRENT STUCTURE = ITERATION  
7TG2    [     'DO' FOUND
7T^L    [     'OR' NOT EXPECTED 
7WF=    [ COMPILES: 
7WYW    [     A JUMP OR BRANCH  
7XDG    [     LABEL FOR END OF ITERATION
7XY6    [ SETS: 
7YCQ    [     DEPTH DOWN, RETRACTS THE THREE STACK IDENTIFIERS  
7YXB    [   
7^C2    #UNS           NESTDEPTH
7^WL    (   
82B=          STRUCTURE 0,OFF   
82TW          FLAGTEST REPEAT,0,NOT,1,,DO   
83*G    #STR           UNTIL,%A 
83T6    (   
84#Q    #SKI           NESTDEPTH/9         [INCLUDE IF NESTDEPTH 9-16 INCLUSIVE 
84SB    (   
85#2    #ALT           20?=NESTDEPTH-9  
85RL    #STR           %A   
86?=          NESTFBRANCH %A,NIF5   
86QW    #STR           %A   
87=G    #SKI
87Q6          NESTFBRANCH RN,NIF5   
889Q    #ALT           20?=NESTDEPTH-9  
88PB          NESTLABEL NIF7,FREE   
8992    #ALT           20?=NESTDEPTH-9  
89NL          ALTDEPTH -1   
8=8=    #EXI
8=MW    )   
8?7G    #ALT           20?=NESTDEPTH-1  
8?M6    #STR           %A   
8#6Q          NESTFBRANCH %A,NIF0   
8#LB    #STR           %A   
8*62    #SKI
8*KL          NESTFBRANCH RN,NIF0   
8B5=    #ALT           20?=NESTDEPTH-1  
8BJW          NESTLABEL NIF2,FREE   
8C4G    #ALT           20?=NESTDEPTH-1  
8CJ6          ALTDEPTH -1   
8D3Q    #EXI
8DHB    )   
8F32    #SKI           NESTDEPTH/9  
8FGL    (   
8G2=          GOIFALSE NIF5,NIF5,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%-
8GFW    Q,%R,%S,%T,%U   
8G^G    #ALT           20?=NESTDEPTH-9  
8HF6    #ALT           21?=20?  
8HYQ          NESTLABEL NIF7,FREE   
8JDB    #ALT           20?=21?  
8JY2          NESTFREE NIF5 
8KCL          ALTDEPTH -1   
8KX=    #EXI
8LBW    )   
8LWG          GOIFALSE NIF0,NIF0,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%-
8MB6    Q,%R,%S,%T,%U   
8MTQ    #ALT           20?=NESTDEPTH-1  
8N*B    #ALT           21?=20?  
8NT2          NESTLABEL NIF2,FREE   
8P#L    #ALT           20?=21?  
8PS=          NESTFREE NIF0 
8Q?W          ALTDEPTH -1   
8QRG    #EXI
8R?6    )   
8RQQ    !! MEANINGLESS AT NESTING DEPTH ZERO !! 
8S=B    #NOR
8SQ2    [   
8T9L    [   
8T9W ...[??? IFR SECT COMM FGN 1 DOC
8T=6 ...[   
8T=B ...#MAC           IFR  
8T=L ...[              ===  
8T=W ...[   
8T?6 ...[ CONTRACTION OF 'IF  EITHER'   
8T?B ...[   
8T?L ...      IF       EITHER,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P, -
8T?W ...               %Q,%R,%S,%T  
8T#6 ...#NOR
8T#B ...[   
8T#L ...[   
8T#W ...[??? ANDR SECT COMM FGN 1 DOC   
8T*6 ...[   
8T*B ...#MAC           ANDR 
8T*L ...[              ==== 
8T*W ...[   
8TB6 ...[ CONTRACTION OF 'AND  EITHER'  
8TBB ...[   
8TBL ...      AND      EITHER,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P, -
8TBW ...               %Q,%R,%S,%T  
8TC6 ...#NOR
8TCB ...[   
8TCL ...[   
8TCW ...[??? ORR SECT COMM FGN 1 DOC
8TD6 ...[   
8TDB ...#MAC           ORR  
8TDL ...[              ===  
8TDW ...[   
8TF6 ...[ CONTRACTION OF 'OR  EITHER'   
8TFB ...[   
8TFL ...      OR       EITHER,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P, -
8TFW ...               %Q,%R,%S,%T  
8TG6 ...#NOR
8TGB ...[   
8TGL ...[   
8TGW ...[??? ELSFR SECT COMM FGN 1 DOC  
8TH6 ...[   
8THB ...#MAC           ELSFR
8THL ...[              =====
8THW ...[   
8TJ6 ...[ CONTRACTION OF 'ELSF  EITHER' 
8TJB ...[   
8TJL ...      ELSF     EITHER,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P, -
8TJW ...               %Q,%R,%S,%T  
8TK6 ...#NOR
8TKB ...[   
8TKL ...[   
8TKW ...[??? WHILER SECT COMM FGN 1 DOC 
8TL6 ...[   
8TLB ...#MAC           WHILER   
8TLL ...[              ======   
8TLW ...[   
8TM6 ...[ CONTRACTION OF 'WHILE  EITHER'
8TMB ...[   
8TML ...      WHILE    EITHER,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P, -
8TMW ...               %Q,%R,%S,%T  
8TN6 ...#NOR
8TNB ...[   
8TNL ...[   
8TP=    [ HERE FOLLOW THE UTILITY MACROS
8W8W    [ ================================  
8WNG    [   
8X86    [   
8XMQ    [??? BRANCHIF SECT DEVT FGN 1 DOC   
8Y7B    [   
8YM2    #MAC           BRANCHIF 
8^6L    [              ======== 
8^L=    [   
925W    [   
92KG    [ %A - LABEL ROOT   
9356    [ %B - BRANCH DEFINER   
93JQ    [ %C - (OPTIONAL) ACCUMULATOR, OR STORE LOCATION TO BE LOADED INTO X0   
944B    [      (ONLY USED FOR VISIBLE REGISTER DEFINERS)
94J2    [ %D - (OPTIONAL) OPERAND FOR MACRO BRANCH DEFINER  
953L    [   
95H=    [ LOADS X0 IF NECESSARY, SETS UP THE BRANCH AND CALLS 'NESTBRANCH' TO   
962W    [ PUT THE APPROPRIATE NUMBER (NESTDEPTH MOD 9, HELD IN 20?) OF N'S AT   
96GG    [ THE START OF THE LABEL ROOT   
9726    [   
97FQ    #STR           %C   
97^B    (   
98F2    #ACC           %C   
98YL    (   
99D=          LDX   0  %C   
99XW          BRANCHIF %A,%B,0,%D   
9=CG    #EXI
9=X6    )   
9?BQ    )   
9?WB    #ALT           20?=NESTDEPTH-1  
9#B2    #SKI           NESTDEPTH/9  
9#TL    #ALT           20?=20?-8
9**=    #STR           %D   
9*SW    (   
9B#G          NESTBRANCH X%B %C %D,%A   
9BS6    #EXI
9C?Q    )   
9CRB          NESTBRANCH %B %C,%A   
9D?2    #NOR
9DQL    [   
9F==    [   
9FPW    [??? GOIFALSE SECT DEVT FGN 1 DOC   
9G9G    [   
9GP6    #MAC           GOIFALSE 
9H8Q    [              ======== 
9HNB    [   
9J82    [   
9JML    [ %A - LABEL ROOT FOR STANDARD JUMP 
9K7=    [ %B - LABEL ROOT FOR IF 'EITHER' GIVEN, I.E. 'OR' EXPECTED TO FOLLOW   
9KLW    [ %C ... PARAMETERS TO THE CALLING USER LEVEL MACRO 
9L6G    [   
9LL6    [ IF 'EITHER' GIVEN THEN
9M5Q ...[     SETS 'OR EXPECTED' IN 'NESTEITHERS'   
9MKB    [     CALLS 'GOIFTRUE' WITHOUT THE 'EITHER' AND WITH %A, %B REVERSED
9N52    [ ELSE INVERTS JUMP DIRECTION BY 'IFN<CONDITION DEFINER>' MACRO 
9NJL    [   
9P4=    #STR           BOTH,%C             ['BOTH' HAS NO EFFECT
9PHW    #SKI
9Q3G    (   
9QH6          GOIFALSE %A,%B,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R,%S,%T-
9R2Q    ,%U,%V  
9RGB    #EXI
9S22    )   
9SFL    #STR           EITHER,%C           ['EITHER' CHANGES JUMP   
9S^=    #SKI
9TDW    (   
9TYG    #ALT           NESTEITHERS=NESTEITHERS^1 [SET 'EITHER'  
9WD6          GOIFTRUE %B,%A,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R,%S,%T-
9WXQ    ,%U,%V  
9XCB    #EXI
9XX2    )   
9YBL    #ACC           %C   
9YW=    (   
9^*W    #STR           +,%C 
9^TG    (   
=2*6          IFN%C    %A,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R,%S,%T,%U-
=2SQ    ,%V,%W  
=3#B    [ E.G. IFNCS NIF2   
=3S2    [ OR IFNBS NIF1,2,BIT1  
=4?L    #EXI
=4R=    )   
=5=W    )   
=5QG          IFN%D    %A,%C,%E 
=6=6    [ E.G. IFNGE NIF1,0,GSIGN   
=6PQ    #NOR
=79B    [   
=7P2    [   
=88L    [??? GOIFTRUE SECT DEVT FGN 1 DOC   
=8N=    [   
=97W    #MAC           GOIFTRUE 
=9MG    [              ======== 
==76    [   
==LQ    [   
=?6B    [ %A - LABEL ROOT FOR STANDARD JUMP 
=?L2    [ %B - LABEL ROOT FOR IF 'EITHER' GIVEN, I.E. 'OR' EXPECTED TO FOLLOW   
=#5L    [ %C ... PARAMETERS TO THE CALLING USER LEVEL MACRO 
=#K=    [   
=*4W    [ IF 'EITHER' GIVEN THEN
=*JG ...[     SETS 'OR EXPECTED' IN 'NESTEITHERS'   
=B46    [     CALLS 'GOIFALSE' WITHOUT THE 'EITHER' AND WITH %A, %B REVERSED
=BHQ    [ ELSE CALLS 'JUMPIF' OR 'BRANCHIF' TO COMPILE THE BRANCH   
=C3B    [   
=CH2    #STR           BOTH,%C             ['BOTH' HAS NO EFFECT
=D2L    #SKI
=DG=    (   
=D^W          GOIFTRUE %A,%B,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R,%S,%T-
=FFG    ,%U,%V  
=F^6    #EXI
=GDQ    )   
=GYB    #STR           EITHER,%C           ['EITHER' CHANGES JUMP   
=HD2    #SKI
=HXL    (   
=JC=    #ALT           NESTEITHERS=NESTEITHERS^1 [SET 'EITHER'  
=JWW          GOIFALSE %B,%A,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R,%S,%T-
=KBG    ,%U,%V  
=KW6    #EXI
=L*Q    )   
=LTB    #ACC           %C   
=M*2    (   
=MSL    #STR           +,%C 
=N#=    (   
=NRW    #STR           %D   
=P?G    (   
=PR6          JUMPIF   %C,%A,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R,%S,%T-
=Q=Q    ,%U,%V,%W   
=QQB    [ E.G. JUMPIF MBS,NIF2,2,ENPR,FSTAR 
=R=2    #EXI
=RPL    )   
=S9=          BRANCHIF %A,%C
=SNW    [ E.G. BRANCHIF NIF1,CS 
=T8G    #EXI
=TN6    )   
=W7Q    )   
=WMB          BRANCHIF %A,%D,%C,%E  
=X72    [ E.G. BRANCHIF NIF2,GE,0,GSIGN 
=XLL    #NOR
=Y6=    [   
=YKW    [   
=^5G    [??? NESTJUMP SECT DEVT FGN 1 DOC   
=^K6    [   
?24Q    #MAC           NESTJUMP 
?2JB    [              ======== 
?342    [   
?3HL    [   
?43=    [ %A - LABEL ROOT   
?4GW    [ %B - JUMP CONDITION DEFINER   
?52G    [ %C - PARAMETERS TO JUMP CONDITION DEFINER 
?5G6    [   
?5^Q    [ PREFIXES THE LABEL ROOT WITH 20? N'S AND SETS UP THE JUMP 
?6FB    [ FOR COMPILATION   
?6^2    [   
?7DL    #SKI           20?  
?7Y=    (   
?8CW    #ALT           20?=20?-1
?8XG          NESTJUMP N%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R,%-
?9C6    S,%T,%U,%V  
?9WQ    #EXI
?=BB    )   
?=W2          J%B      %A,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R,%S,%T-
??*L    ,%U,%V  
??T=    #NOR
?##W    [   
?#SG    [   
?*#6    [??? JUMPIF SECT DEVT FGN 1 DOC 
?*RQ    [   
?B?B    #MAC           JUMPIF   
?BR2    [              ======   
?C=L    [   
?CQ=    [   
?D9W    [ %A - JUMP CONDITION DEFINER   
?DPG    [ %B - LABEL ROOT   
?F96    [ %C - PARAMETERS TO JUMP CONDITION DEFINER 
?FNQ    [   
?G8B    [ CALLS 'NESTJUMP' TO PUT THE APPROPRIATE NUMBER (NESTDEPTH MOD 9,  
?GN2    [ HELD IN 20?) OF N'S AT THE START OF THE LABEL ROOT AND COMPILE THE
?H7L    [ JUMP MACRO
?HM=    [   
?HND ...#STR  BUSY,%A   
?HPL ...#SKI
?HQS ...(   
?HS2 ...   JUMPIF   INUSE,%B,%C 
?HT8 ...#EXI
?HWB ...)   
?HXJ ...#STR  UNBUSY,%A 
?HYQ ...#SKI
?H^Y ...(   
?J36 ...   JUMPIF   NOTINUSE,%B,%C  
?J4# ...#EXI
?J5G ...)   
?J6W    #ALT           20?=NESTDEPTH-1  
?JLG    #SKI           NESTDEPTH/9  
?K66    #ALT           20?=20?-8
?KKQ          NESTJUMP %B,%A,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%R,%S-
?L5B    ,%T,%U,%V   
?LK2    #NOR
?M4L    [   
?MJ=    [   
?N3W    [??? NESTBRANCH SECT DEVT FGN 1 DOC 
?NHG    [   
?P36    #MAC           NESTBRANCH   
?PGQ    [              ==========   
?Q2B    [   
?QG2    [   
?Q^L    [ %A - BRANCH ROOT, E.G. 'CC' OR 'ZE 7' OR 'XGE 5 BCOUNT'   
?RF=    [ %B - LABEL ROOT   
?RYW    [   
?SDG    [ PREFIXES THE LABEL ROOT WITH 20? N'S AND SETS UP THE BRANCH OR
?SY6    [ BRANCH MACRO FOR COMPILATION  
?TCQ    [   
?TXB    #SKI           20?  
?WC2    (   
?WWL    #ALT           20?=20?-1
?XB=          NESTBRANCH %A,N%B 
?XTW    #EXI
?Y*G    )   
?YT6    #STR           X,%A 
?^#Q    (   
?^SB          B%A      %B   
#2#2    #EXI
#2RL    )   
#3?=          B%A,%B
#3QW    #NOR
#4=G    [   
#4Q6    [   
#59Q    [??? NESTFBRANCH SECT DEVT FGN 1 DOC
#5PB    [   
#692    #MAC           NESTFBRANCH  
#6NL    [              ===========  
#78=    [   
#7MW    [   
#87G    [ AS NESTBRANCH ABOVE, BUT FREES THE LABEL AFTER COMPILING THE BRANCH   
#8M6    [ (SAVES AN EXTRA CALL - TO NESTFREE)   
#96Q    [   
#9LB    #SKI           20?  
#=62    (   
#=KL    #ALT           20?=20?-1
#?5=          NESTFBRANCH %A,N%B
#?JW    #EXI
##4G    )   
##J6    #STR           X,%A 
#*3Q    (   
#*HB          B%A      %B   
#B32    #FRE           %B   
#BGL    #EXI
#C2=    )   
#CFW          B%A,%B
#C^G    #FRE           %B   
#DF6    #NOR
#DYQ    [   
#FDB    [   
#FY2    [??? NESTFREE SECT DEVT FGN 1 DOC   
#GCL    [   
#GX=    #MAC           NESTFREE 
#HBW    [              ======== 
#HWG    [   
#JB6    [   
#JTQ    [ %A - LABEL ROOT   
#K*B    [   
#KT2    [ PREFIXES %A WITH 20? N'S AND #FRE'S THE RESULT
#L#L    [   
#LS=    #SKI           20?  
#M?W    (   
#MRG    #ALT           20?=20?-1
#N?6          NESTFREE N%A  
#NQQ    #EXI
#P=B    )   
#PQ2    #FRE           %A   
#Q9L    #NOR
#QP=    [   
#R8W    [   
#RNG    [??? NESTLABEL SECT DEVT FGN 1 DOC  
#S86    [   
#SMQ    #MAC           NESTLABEL
#T7B    [              =========
#TM2    [   
#W6L    [   
#WL=    [ %A - LABEL ROOT   
#X5W    [   
#XKG    [ PREFIXES %A WITH 20? N'S AND USES THE RESULT AS A LABEL   
#Y56    [ IF IDENTIFIER 'NOIFLABELS' IS SET NON-ZERO THEN THIS IS DONE  
#YJQ    [     BY #DEF LABEL=CURRENT WORD ADDRESS (TO AVOID SHOWING LABELS   
#^4B    [     ON THE COMPILATION LISTING)   
#^J2    [   
*23L    #SKI           20?  
*2H=    (   
*32W    #ALT           20?=20?-1
*3GG          NESTLABEL N%A,%B,N%C,%D   
*426    #EXI
*4FQ    )   
*4^B    #UNS           NOIFLABELS   
*5F2    #DEF           %A=0?+37?
*5YL    #UNS           NOIFLABELS   
*6D=    #SKI
*6XW    %A  
*7CG    #STR           %B   
*7X6    #FRE           %A   
*8BQ    #STR           %C,%A
*8WB    (   
*9B2    #UNS           NOIFLABELS   
*9TL    #DEF           %C=0?+37?
*=*=    #UNS           NOIFLABELS   
*=SW    #SKI
*?#G    %C  
*?S6    #STR           %D   
*#?Q    #FRE           %C   
*#RB    )   
**?2    #NOR
**QL    [   
*B==    [   
*BPW    [??? STRUCTURE SECT DEVT FGN 1 DOC  
*C9G    [   
*CP6    #MAC           STRUCTURE
*D8Q    [              =========
*DNB    [   
*F82    [   
*FML    [ %A - 1 OR 0 (1 => CONDITIONAL, 0 => ITERATION)
*G7=    [ %B - 'ON' OR 'OFF' OR 'CHECK' 
*GLW    [   
*H6G    [ IF 'ON', INCREASES DEPTH OF 'NESTREASON' AND SETS B23 TO %A   
*HL6    [ IF 'OFF', CHECKS B23 = %A AND DECREASES DEPTH OF 'NESTREASON' ANYWAY  
*J5Q    [ IF 'CHECK', CHECKS B23 = %A   
*JKB    [ GENERATES A DIAGNOSTIC ERROR LINE IF A CHECK FAILS
*K52    [   
*KJL    #STR           ON,%B
*L4=    #SKI
*LHW    (   
*M3G    #ALT           NESTREASON=NESTREASON@L1+%A  
*MH6    #EXI
*N2Q    )   
*NGB    #STR           OFF,%B   
*P22    #SKI
*PFL    (   
*P^=    #SKI           NESTREASON&1-%A  
*QDW    (   
*QYG    !! CLOSING WRONG STRUCTURE !!   
*RD6    #EXI
*RXQ    )   
*SCB    #ALT           NESTREASON=NESTREASON@L-1
*SX2    #EXI
*TBL    )   
*TW=    #STR           CHECK,%B 
*W*W    #SKI
*WTG    (   
*X*6    #SKI           NESTREASON&1-%A  
*XSQ    !! IN WRONG STRUCTURE !!
*Y#B    #EXI
*YS2    )   
*^?L    !! ACTION MUST BE ON, OFF OR CHECK !!   
*^R=    #NOR
B2=W    [   
B2QG    [   
B3=6    [??? ALTDEPTH SECT DEVT FGN 1 DOC   
B3PQ    [   
B49B    #MAC           ALTDEPTH 
B4P2    [              ======== 
B58L    [   
B5N=    [   
B67W    [ %A - +1 OR -1 
B6MG    [   
B776    [ ALTERS 'NESTDEPTH' AND SHIFTS STACK IDENTIFIERS 'NESTEITHERS' 
B7LQ    [ AND 'NESTFLAG' APPROPRIATELY  
B86B    [   
B8L2    #ALT           NESTDEPTH=NESTDEPTH%A
B95L    #STR           +,%A 
B9K=    (   
B=4W    #ALT           NESTEITHERS=NESTEITHERS@L-1  
B=JG    #ALT           NESTFLAG=NESTFLAG@L-1
B?46    #EXI
B?HQ    )   
B#3B    #ALT           NESTEITHERS=NESTEITHERS@L1   
B#H2    #ALT           NESTFLAG=NESTFLAG@L1 
B*2L    #NOR
B*G=    [   
B*^W    [   
BBFG    [??? FLAGTEST SECT DEVT FGN 1 DOC   
BB^6    [   
BCDQ    #MAC           FLAGTEST 
BCYB    [              ======== 
BDD2    [   
BDXL    [   
BFC=    [ %A - NAME OF CALLING USER LEVEL MACRO 
BFWW    [ %B - 1 => 'EITHER' SHOULD HAVE BEEN GIVEN PREVIOUSLY (ELSE 0) 
BGBG    [ %C - 'NOT' OR NULL - USED IN ERROR MESSAGE
BGW6    [ %D - 1 => 'THEN' OR 'DO' SHOULD HAVE BEEN GIVEN PREVIOUSLY (ELSE 0)   
BH*Q    [ %E - 'NOT' OR NULL - USED IN ERROR MESSAGE
BHTB    [ %F - 'THEN', 'DO' OR 'THEN/DO' AS APPROP - USED IN ERROR MESSAGE  
BJ*2    [   
BJSL    [ CHECKS THAT B23'S OF 'NESTEITHERS' AND 'NESTFLAG' ARE AS EXPECTED.
BK#=    [ IF NOT, SETS THEM CORRECTLY AND OUTPUTS A DIAGNOSTIC ERROR MESSAGE
BKRW    [   
BL?G    #SKI           NESTEITHERS&1-%B 
BLR6    (   
BM=Q    !! %A MUST %C FOLLOW 'EITHER' !!
BMQB    #ALT           NESTEITHERS=NESTEITHERS$1 [INVERT B23
BN=2    )   
BNPL    #SKI           NESTFLAG&1-%D
BP9=    (   
BPNW    !! %A MUST %E FOLLOW '%F' !!
BQ8G    #ALT           NESTFLAG=NESTFLAG$1 [INVERT B23  
BQN6    )   
BR7Q    #NOR
BRMB    [   
BS72    [   
BSLL    [ HERE FOLLOW THE SUBSIDIARY MACROS 
BT6=    [ ================================= 
BTKW    [   
BW5G    [   
BWK6    [ DIRECTION INVERSION MACROS, E.G.  
BX4Q    [    IF 0,NZ
BXJB    [         ==
BY42    [      -> GOIFALSE   NIF2,NIF1,0,NZ 
BYHL    [      -> IFNNZ      NIF2,0 
B^3=    [      -> BRANCHIF   NIF2,ZE,0  
B^GW    [      -> NESTBRANCH ZE 0,NIF2  
C22G    [      -> BZE   0    NNNNIF2
C2G6    [          ==   
C2^Q    [   
C3FB    [   
C3^2    [??? IFNFALSE SECT DEVT FGN 1 DOC   
C4DL    [   
C4Y=    #MAC           IFNFALSE 
C5CW    [              ======== 
C5XG          BRANCHIF %A,TRUE  
C6C6    #NOR
C6WQ    [??? IFNTRUE SECT DEVT FGN 1 DOC
C7BB    [   
C7W2    #MAC           IFNTRUE  
C8*L    [              =======  
C8T=    [ I.E. BRN IF FALSE I.E. DO NOTHING 
C9#W    #NOR
C9SG    [??? BTRUE SECT DEVT FGN 1 DOC  
C=#6    [   
C=RQ    #MAC           BTRUE
C??B    [              =====
C?R2          BRN      %A   
C#=L    #NOR
C#Q=    [??? BFALSE SECT DEVT FGN 1 DOC 
C*9W    [   
C*PG    #MAC           BFALSE   
CB96    [              ======   
CBNQ    [ I.E. BRN IF FALSE I.E. DO NOTHING 
CC8B    #NOR
CC92 ...[??? JINUSE SECT COMM FGN 1 DOC 
CC9L ...[   
CC== ...#MAC           JINUSE   
CC=W ...[              ======   
CC?G ...      JBUSY    %B,%A
CC#6 ...#NOR
CC#Q ...[??? JNOTINUS SECT COMM FGN 1 DOC   
CC*B ...[   
CCB2 ...#MAC           JNOTINUSE
CCBL ...[              =========
CCC= ...      JUNBUSY  %B,%A
CCCW ...#NOR
CCDG ...[??? IFNBUSY SECT COMM FGN 1 DOC
CCF6 ...[   
CCFQ ...#MAC           IFNBUSY  
CCGB ...[              =======  
CCH2 ...      JUMPIF   UNBUSY,%A,%B,%C,%D   
CCHL ...#NOR
CCJ= ...[??? IFNUNBUS SECT COMM FGN 1 DOC   
CCJW ...[   
CCKG ...#MAC           IFNUNBUSY
CCL6 ...[              =========
CCLQ ...      JUMPIF   BUSY,%A,%B,%C,%D 
CCMB ...#NOR
CCN2    [??? JREP2 SECT DEVT FGN 1 DOC  
CD7L    [   
CDM=    #MAC           JREP2
CF6W    [              =====
CFLG         LDX    0  ACOMMUNE9(2) 
CG66    #SKI           ANS%B
CGKQ         SBN    0  ANS%B
CH5B         BZE    0  %A   
CHK2    #NOR
CJ4L    [??? JRPN2 SECT DEVT FGN 1 DOC  
CJJ=    [   
CK3W    #MAC           JRPN2
CKHG    [              =====
CL36         LDX    0  ACOMMUNE9(2) 
CLGQ    #SKI           ANS%B
CM2B         SBN    0  ANS%B
CMG2         BNZ    0  %A   
CM^L    #NOR
CNF=    [??? JREP SECT DEVT FGN 1 DOC   
CNYW    [   
CPDG    #MAC           JREP 
CPY6    [              ==== 
CQCQ         SMO       FX2  
CQXB         LDX    0  ACOMMUNE9
CRC2    #SKI           ANS%B
CRWL         SBN    0  ANS%B
CSB=         BZE    0  %A   
CSTW    #NOR
CT*G    [??? JREPN SECT DEVT FGN 1 DOC  
CTT6    [   
CW#Q    #MAC           JREPN
CWSB    [              =====
CX#2         SMO       FX2  
CXRL         LDX    0  ACOMMUNE9
CY?=    #SKI           ANS%B
CYQW         SBN    0  ANS%B
C^=G         BNZ    0  %A   
C^Q6    #NOR
D29Q    [??? IFNREP2 SECT DEVT FGN 1 DOC
D2PB    [   
D392    #MAC           IFNREP2  
D3NL    [              =======  
D48=         JUMPIF    RPN2,%A,%B   
D4MW    #NOR
D57G    [??? IFNRPN2 SECT DEVT FGN 1 DOC
D5M6    [   
D66Q    #MAC           IFNRPN2  
D6LB    [              =======  
D762         JUMPIF    REP2,%A,%B   
D7KL    #NOR
D85=    [??? IFNREP SECT DEVT FGN 1 DOC 
D8JW    [   
D94G    #MAC           IFNREP   
D9J6    [              ======   
D=3Q         JUMPIF    REPN,%A,%B   
D=HB    #NOR
D?32    [??? IFNREPN SECT DEVT FGN 1 DOC
D?GL    [   
D#2=    #MAC           IFNREPN  
D#FW    [              =======  
D#^G         JUMPIF    REP,%A,%B
D*F6    #NOR
D*YQ    [??? IFNCS SECT DEVT FGN 1 DOC  
DBDB    [   
DBY2    #MAC           IFNCS
DCCL    [              =====
DCX=          BRANCHIF %A,CC
DDBW    #NOR
DDWG    [??? IFNCC SECT DEVT FGN 1 DOC  
DFB6    [   
DFTQ    #MAC           IFNCC
DG*B    [              =====
DGT2          BRANCHIF %A,CS
DH#L    #NOR
DHS=    [??? IFNVS SECT DEVT FGN 1 DOC  
DJ?W    [   
DJRG    #MAC           IFNVS
DK?6    [              =====
DKQQ          BRANCHIF %A,VC
DL=B    #NOR
DLQ2    [??? IFNVC SECT DEVT FGN 1 DOC  
DM9L    [   
DMP=    #MAC           IFNVC
DN8W    [              =====
DNNG          BRANCHIF %A,VS
DP86    #NOR
DPMQ    [??? IFNVSR SECT DEVT FGN 1 DOC 
DQ7B    [   
DQM2    #MAC           IFNVSR   
DR6L    [              ======   
DRL=          BRANCHIF %A,VCR   
DS5W    #NOR
DSKG    [??? IFNVCR SECT DEVT FGN 1 DOC 
DT56    [   
DTJQ    #MAC           IFNVCR   
DW4B    [              ======   
DWJ2          BRANCHIF %A,VSR   
DX3L    #NOR
DXH=    [??? IFNGE SECT DEVT FGN 1 DOC  
DY2W    [   
DYGG    #MAC           IFNGE
D^26    [              =====
D^FQ          BRANCHIF %A,L,%B,%C   
D^^B    #NOR
F2F2    [??? IFNL SECT DEVT FGN 1 DOC   
F2YL    [   
F3D=    #MAC           IFNL 
F3XW    [              ==== 
F4CG          BRANCHIF %A,GE,%B,%C  
F4X6    #NOR
F5BQ    [??? IFNE SECT DEVT FGN 1 DOC   
F5WB    [   
F6B2    #MAC           IFNE 
F6TL    [              ==== 
F7*=          BRANCHIF %A,U,%B,%C   
F7SW    #NOR
F8#G    [??? IFNU SECT DEVT FGN 1 DOC   
F8S6    [   
F9?Q    #MAC           IFNU 
F9RB    [              ==== 
F=?2          BRANCHIF %A,E,%B,%C   
F=QL    #NOR
F?==    [??? IFNZE SECT DEVT FGN 1 DOC  
F?PW    [   
F#9G    #MAC           IFNZE
F#P6    [              =====
F*8Q          BRANCHIF %A,NZ,%B 
F*NB    #NOR
FB82    [??? IFNNZ SECT DEVT FGN 1 DOC  
FBML    [   
FC7=    #MAC           IFNNZ
FCLW    [              =====
FD6G          BRANCHIF %A,ZE,%B 
FDL6    #NOR
FF5Q    [??? IFNNG SECT DEVT FGN 1 DOC  
FFKB    [   
FG52    #MAC           IFNNG
FGJL    [              =====
FH4=          BRANCHIF %A,PZ,%B 
FHHW    #NOR
FJ3G    [??? IFNPZ SECT DEVT FGN 1 DOC  
FJH6    [   
FK2Q    #MAC           IFNPZ
FKGB    [              =====
FL22          BRANCHIF %A,NG,%B 
FLFL    #NOR
FL^=    [??? IFNBS SECT DEVT FGN 1 DOC  
FMDW    [   
FMYG    #MAC           IFNBS
FND6    [              =====
FNXQ          JUMPIF   BC,%A,%B,%C  
FPCB    #NOR
FPX2    [??? IFNBC SECT DEVT FGN 1 DOC  
FQBL    [   
FQW=    #MAC           IFNBC
FR*W    [              =====
FRTG          JUMPIF   BS,%A,%B,%C  
FS*6    #NOR
FSSQ    [??? IFNBSS SECT DEVT FGN 1 DOC 
FT#B    [   
FTS2    #MAC           IFNBSS   
FW?L    [              ======   
FWR=          JUMPIF   BCS,%A,%B,%C 
FX=W    #NOR
FXQG    [??? IFNBCS SECT DEVT FGN 1 DOC 
FY=6    [   
FYPQ    #MAC           IFNBCS   
F^9B    [              ======   
F^P2          JUMPIF   BSS,%A,%B,%C 
G28L    #NOR
G2N=    [??? IFNBSC SECT DEVT FGN 1 DOC 
G37W    [   
G3MG    #MAC           IFNBSC   
G476    [              ======   
G4LQ          JUMPIF   BCC,%A,%B,%C 
G56B    #NOR
G5L2    [??? IFNBCC SECT DEVT FGN 1 DOC 
G65L    [   
G6K=    #MAC           IFNBCC   
G74W    [              ======   
G7JG          JUMPIF   BSC,%A,%B,%C 
G846    #NOR
G8HQ    [??? IFNBWS SECT DEVT FGN 1 DOC 
G93B    [   
G9H2    #MAC           IFNBWS   
G=2L    [              ======   
G=G=          JUMPIF   BWC,%A,%B,%C 
G=^W    #NOR
G?FG    [??? IFNBWC SECT DEVT FGN 1 DOC 
G?^6    [   
G#DQ    #MAC           IFNBWC   
G#YB    [              ======   
G*D2          JUMPIF   BWS,%A,%B,%C 
G*XL    #NOR
GBC=    [??? IFNFZ SECT DEVT FGN 1 DOC  
GBWW    [   
GCBG    #MAC           IFNFZ
GCW6    [              =====
GD*Q          JUMPIF   FNZ,%A,%B,%C 
GDTB    #NOR
GF*2    [??? IFNFNZ SECT DEVT FGN 1 DOC 
GFSL    [   
GG#=    #MAC           IFNFNZ   
GGRW    [              ======   
GH?G          JUMPIF   FZ,%A,%B,%C  
GHR6    #NOR
GJ=Q    [??? IFNDECFZ SECT DEVT FGN 1 DOC   
GJQB    [   
GK=2    #MAC           IFNDECFZ 
GKPL    [              ======== 
GL9=          JUMPIF   DECFNZ,%A,%B,%C  
GLNW    #NOR
GM8G    [??? IFNDECFNZ SECT DEVT FGN 1 DOC  
GMN6    [   
GN7Q    #MAC           IFNDECFNZ
GNMB    [              =========
GP72          JUMPIF   DECFZ,%A,%B,%C   
GPLL    #NOR
GQ6=    [??? IFNMBS SECT DEVT FGN 1 DOC 
GQKW    [   
GR5G    #MAC           IFNMBS   
GRK6    [              ======   
GS4Q          JUMPIF   MBAC,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,-
GSJB    %R,%S,%T,%U 
GT42    #NOR
GTHL    [??? IFNMBAC SECT DEVT FGN 1 DOC
GW3=    [   
GWGW    #MAC           IFNMBAC  
GX2G    [              =======  
GXG6          JUMPIF   MBS,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%-
GX^Q    R,%S,%T,%U  
GYFB    #NOR
GY^2    [??? IFNMBC SECT DEVT FGN 1 DOC 
G^DL    [   
G^Y=    #MAC           IFNMBC   
H2CW    [              ======   
H2XG          JUMPIF   MBAS,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,-
H3C6    %R,%S,%T,%U 
H3WQ    #NOR
H4BB    [??? IFNMBAS SECT DEVT FGN 1 DOC
H4W2    [   
H5*L    #MAC           IFNMBAS  
H5T=    [              =======  
H6#W          JUMPIF   MBC,%A,%B,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L,%M,%N,%O,%P,%Q,%-
H6SG    R,%S,%T,%U  
H7#6    #NOR
H7RQ ...[??? IFNENV SECT COMM FGN 1 DOC 
H8?B ...[   
H8R2 ...#MAC           IFNENV   
H9=L ...[              ======   
H9Q= ...      JUMPIF   ENVNOT,%A,%B,%C,%D   
H=9W ...#NOR
H=PG ...[??? IFNENVNO SECT COMM FGN 1 DOC   
H?96 ...[   
H?NQ ...#MAC           IFNENVNOT
H#8B ...[              =========
H#N2 ...      JUMPIF   ENV,%A,%B,%C,%D  
H*7L ...#NOR
H*M= ...[   
HB6W ...[   
HBLG ...[   
HC66 ...#SKI
HCKQ ...(              [********* READY WHEN NEEDED 
HD5B ...[   
HDK2 ...[   
HF4L ...[ 'BLOCK' GROUP OF MACROS   
HFJ= ...[ =======================   
HG3W ...[   
HGHG ...[   
HH36 ...[   
HHGQ ...[   
HJ2B ...[   
HJG2 ...[ A BLOCK IS IN THIS CONTEXT EFFECTIVELY A SUBROUTINE   
HJ^L ...[ FOR WHICH ONLY ONE CALL IS ALLOWED (SINCE THERE IS
HKF= ...[ NO LINK)  
HKYW ...[   
HLDG ...[ IT IS A BLOCK OF CODE STARTED BY 'BLOCK' AND TERMINATED   
HLY6 ...[ BY 'ENDBLOCK'. THE EQUIVALENT OF CALL IS 'EXECUTE',   
HMCQ ...[ OF WHICH ONLY ONE IS ALLOWED FOR EACH BLOCK.  
HMXB ...[   
HNC2 ...[ THE EFFECT OF AN EXECUTE IS TO BRN TO THE TOP OF THE  
HNWL ...[ BLOCK. AT THE END OF THE BLOCK, A BRN IS DONE TO THE  
HPB= ...[ INSTRUCTION FOLLOWING THE EXECUTE. THUS WE HAVE MERELY
HPTW ...[ DISPLACED A BLOCK OF CODE FROM THE MAIN PATH AT THE   
HQ*G ...[ COST OF TWO INSTRUCTIONS. THE GAIN IN READABILITY OF  
HQT6 ...[ THE CODE MUST BE BALANCED AGAINST THIS OVERHEAD   
HR#Q ...[   
HRSB ...[   
HS#2 ...[   
HSRL ...[??? BLOCK SECT COMM FGN 1 DOC  
HT?= ...[   
HTQW ...#MAC  BLOCK 
HW=G ...[     ===== 
HWQ6 ...[   
HX9Q ...[ MERELY A LABEL. ONLY MACROISED FOR READABILITY
HXPB ...[   
HY92 ...#DEF  %A0=0?+37?
HYNL ...#NOR
H^8= ...[   
H^MW ...[   
J27G ...[??? ENDBLOCK SECT COMM FGN 1 DOC   
J2M6 ...[   
J36Q ...#MAC  ENDBLOCK  
J3LB ...[     ========  
J462 ...[   
J4KL ...[ ENSURES THAT IT FOLLOWS A BLOCK-START LABEL FOR   
J55= ...[ THE BLOCK IN QUESTION. GENERATES A BRN TO THE 
J5JW ...[ INSTRUCTION FOLLOWING THE 'EXECUTE' FOR THIS BLOCK
J64G ...[   
J6J6 ...#SKI  %A0&0 
J73Q ...!! BLOCK %A NOT YET STARTED 
J7HB ...      BRN      %A1  
J832 ...#NOR
J8GL ...[   
J92= ...[   
J9FW ...[??? EXECUTE SECT COMM FGN 1 DOC
J9^G ...[   
J=F6 ...#MAC  EXECUTE   
J=YQ ...[     =======   
J?DB ...[   
J?Y2 ...[ EXECUTES A BLOCK OF CODE DELIMITED BY 'BLOCK' AND 
J#CL ...[ 'ENDBLOCK' MACROS. GENERATES A BRN TO THE BLOCK,  
J#X= ...[ AND A RETURN LABEL
J*BW ...      BRN      %A0  
J*WG ...#DEF  %A1=0?+37?
JBB6 ...#NOR
JBTQ ...)   
^^^^ ...504456400005
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1