MACROS PRS

(George Source)

MACROS PRS.txt
22FL    #           MACROS PRS             *****
22^=    #           RUTH HEAP   
23DW ...[??? HLSAV SECT CENT FGN 1 DOC  
25X2    # HLSAV IS USED IN CONNEXION WITH THE JOB-SAVING BITS IN HLSQ AND JOBQ  
26BL    # BLOCKS.      IT CAN BE USED TO TEST OR ALTER ONE OF THESE BITS AT A   
26W=    # TIME  AND CAN TEST FOR THE PRESENCE OF EITHER OR NEITHER OF THE BITS  
27*W    # IN THE HLSQ BLOCK.
27TG    # %A, %B AND %C MUST BE CHARACTER STRINGS - THOSE ALLOWED ARE   
28*6    # SHOWN IN PARENTHESES BELOW.   
28SQ    #     %A IS THE MODIFIER POINTING TO THE BLOCK  
29#B    #     %B INDICATES WHETHER THE BIT IS TO BE SET OR CLEARED OR, FOR  
29S2    #           TESTING, WHICH STATE IS TO CAUSE THE BRANCH: (SET, CLEAR).  
2=?L    #     %C INDICATES WHETHER THE 'SAVING', 'SAVED', OR BOTH, OR THE UNSAVE
2=R=    #           ARE REFERED TO: (SAVING,SAVED,SAFE,UNSAVE). 
2?=W    #     %D INDICATES WHICH BLOCK TYPE IS REFERRED TO: (HLSQ, JOBQ).   
2?QG    #     %E IF PRESENT, INDICATES THE TESTING MODE AND IS THE DESTINATION  
2#=6    #           LABEL IF THE RELEVANT BIT IS IN THE STATE DESCRIBED.
2#PQ    #     HLSAV <MOD>,<SET/CLEAR>,SAVED,JOBQ[,<LABEL>] IS NOT ALLOWED, I.E. 
2*9B    #           A COMPILATION ERROR IS GENERATED.   
2*P2    #     SAFE IS ONLY ALLOWED IN   
2B8L    #           HLSAV <MOD>,<SET/CLEAR>,SAFE,HLSQ,LABEL.
2BN=    # ONLY REGISTER 0 IS DESTROYED. 
2C7W    #MAC  HLSAV 
2CMG    #DEF  MHLSAV1=0 
2D76          CHECKSTRING %B,SET,CLEAR,MHLSAV1  
2DLQ          CHECKSTRING %C,SAVED,SAVING,SAFE,UNSAVE,MHLSAV1   
2F6B          CHECKSTRING %D,JOBQ,HLSQ,MHLSAV1  
2FL2    #SKI  MHLSAV1   
2G5L    (   
2GK=    ! HLSAV:- STRING PAR UNREC. 
2H4W          GEOERR   1,HLSAV  
2HJG    )   
2J46    #SKI  MHLSAV1<1-1   
2JHQ    (   
2K3B    #STR  %E
2KH2    #STR
2L2L    (   
2LG=    #STR  SAFE,%C   
2L^W    #STR
2MFG    (   
2M^6    ! HLSAV:- SAFE BUT NO LABEL.
2NDQ          GEOERR   1,HLSAV  
2NYB    )   
2PD2    #STR  SAFE,%C   
2PXL    (   
2QC=    #STR  JOBQ,%D   
2QWW    (   
2RBG    #STR  SAVED,%C  
2RW6    #STR
2S*Q          LDCT  0  #400 
2STB    #STR  SAVING,%C 
2T*2    #STR
2TSL          LDCT  0  #200 
2W#=    #STR  UNSAVE,%C 
2WRW    #STR
2X?G          LDCT  0  #10  
2XR6          ORS   0  HLSYONQ(%A)  
2Y=Q    #STR  SET,%B
2YQB          ERS   0  HLSYONQ(%A)  
2^=2    )   
2^PL    #STR  HLSQ,%D   
329=    (   
32NW    #STR  SAVING,%C 
338G    (   
33N6    ! HLSAV:- %C,JOBQ IS BAD.   
347Q          GEOERR   1,HLSAV  
34MB    )   
3572    #STR  SAVED,%C  
35LL    (   
366=          LDCT  0  1
36KW          ORS   0  JMISC(%A)
375G    #STR  SET,%B
37K6          ERS   0  JMISC(%A)
384Q    )   
38JB    )   
3942    )   
39HL    )   
3=3=    #STR  %E
3=GW    (   
3?2G    #STR  JOBQ,%D   
3?G6    (   
3?^Q    #STR  SAVED,%C  
3#FB    (   
3#^2    #STR  SAVING,%C 
3*DL    #STR
3*Y=          LDCT  0  #200 
3BCW    #STR  SAFE,%C   
3BXG    #STR
3CC6          LDCT  0  #600 
3CWQ    #STR  UNSAVE,%C 
3DBB    #STR
3DW2          LDCT  0  #10  
3F*L          ANDX  0  HLSYONQ(%A)  
3FT=    #STR  CLEAR,%B  
3G#W          BNZ   0  %E   
3GSG    #STR  SET,%B
3H#6          BZE   0  %E   
3HRQ    )   
3J?B    #STR  SAVED,%C  
3JR2    #STR
3K=L    (   
3KQ=          LDX   0  HLSYONQ(%A)  
3L9W    #STR  CLEAR,%B  
3LPG          BNG   0  %E   
3M96    #STR  SET,%B
3MNQ          BPZ   0  %E   
3N8B    )   
3NN2    )   
3P7L    #STR  HLSQ,%D   
3PM=    (   
3Q6W    #STR  SAVING,%C 
3QLG    (   
3R66    ! HLSAV:- %C,JOBQ IS BAD.   
3RKQ          GEOERR   1,HLSAV  
3S5B    )   
3SK2    #STR  SAVING,%C 
3T4L    #STR
3TJ=    (   
3W3W          LDCT  0  1
3WHG          ANDX  0  JMISC(%A)
3X36    #STR  CLEAR,%B  
3XGQ          BNZ   0  %E   
3Y2B    #STR  SET,%B
3YG2          BZE   0  %E   
3Y^L    )   
3^F=    )   
3^YW    )   
42DG    )   
42Y6    #FRE  MHLSAV1   
43CQ    #NOR
43MJ ...[??? CHECKSTR SECT CENT FGN 1 DOC   
43XB    # CHECKSTRING TESTS WHETHER THE STRING %A IS IDENTICALLY (NOT JUST  IN- 
44C2    # CLUDING OR INCLUDED BY) ONE OF THE STRINGS %B TO %<N>.    IF NOT, 
44WL    # FLAG %<N+1> IS OBEYED. (FLAG CAUSES ITS PARAMETER (A LOCAL IDENTIFIER)
45B=    # TO BE REDEFINED INCREMENTED BY ONE.)  
45TW    #   
46*G    # REPETITIONS IN THE STRINGS %B TO %<N> DO NOT AFFECT THE RESULT EXCEPT 
46T6    # THAT THERE SHOULD NOT BE TWO ADJACENT EMPTY STRINGS IN THIS SET.  
47#Q    # ** NO MORE THAN TEN STRINGS MAY BE TESTED FOR **  
47SB    #MAC  CHECKSTR  
48#2    #STR  %C%D  
48RL    (   
49?=    #STR  %A,%B 
49QW          CHECKSTR %A,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L 
4==G    #STR  %A,%B 
4=Q6    #STR
4?9Q    (   
4?PB    #STR  %B,%A 
4#92          CHECKSTR %A,%C,%D,%E,%F,%G,%H,%I,%J,%K,%L 
4#NL    )   
4*8=    )   
4*MW    #STR  %C%D  
4B7G    #STR
4BM6          FLAG  %B  
4C6Q    #NOR
4CBJ ...[??? FLAG SECT CENT FGN 1 DOC   
4CLB    # FLAG REDEFINES %A (WHICH MUST BE A LOCAL IDENTIFIER) AS ITS ORIGINAL  
4D62    # VALUE PLUS ONE.   
4DKL    #MAC  FLAG  
4F5=    #DEF  MFLAG1=%A+1   
4FJW    #FRE  %A
4G4G    #DEF  %A=MFLAG1 
4GJ6    #FRE  MFLAG1
4H3Q    #NOR
4H?J ...[??? FLAGOFF SECT CENT FGN 1 DOC
4HHB    # FLAGOFF REDEFINES %A (WHICH MUST BE A LOCAL IDENTIFIER) AS VALUE ZERO.
4J32    #MAC  FLAGOFF   
4JGL    #FRE  %A
4K2=    #DEF  %A=0  
4KFW    #NOR
4K^G    #                                  *****
4LF6    #     END OF MACROS PRS            *****
4LYQ    #                                  *****
^^^^ ...57041577000100000000
  • Last modified: 17/01/2024 11:55
  • by 127.0.0.1