Trailing-Edge
-
PDP-10 Archives
-
decuslib20-06
-
decus/20-153/rpgswi.mac
There is 1 other file named rpgswi.mac in the archive. Click here to see a list.
UNIVERSAL RPGSWI RPGII SWITCH REGISTER MACRO
SUBTTL SWITCH REGISTER MACRO DEFINITION
; SWITCH
;
; HEREIN ARE DEFINED THE SWITCH REGISTER MACRO CALLS AND
; THE VARIOUS SWITCHES THEMSELVES. THE SEGMENT IS DESIGNED
; TO BE COMPILED ALONG WITH OTHER PROGRAMS TO ALLOW ALL TO
; MAKE USE OF THESE WONDERFUL MACROS.
;
; BOB CURRIER NOVEMBER 2, 1975 20:49:06
;
;
;DEFINE VARIOUS FLAGS
;
;
;
;FLAGS USED BY "EDIT"
;
ZFILL==1B1 ; ZERO FILL
MFLAG==1B2 ; UNARY MINUS SEEN
FLOATD==1B3 ; FLOATING DOLLAR SIGN
NUMFLG==1B4 ; NON-ZERO DIGIT SEEN
FEDWAR==1B6 ; HANDLE WHOLE ARRAY
;FLAGS USED BY RPGMAN, MAIN RUNTIME ROUTINES
FDOV==1B5 ; DETAIL OVERFLOW HAS OCCURRED
DMINUS==1B1 ; Data field being moved is negative
DZERO==1B2 ; Data field being moved is not zero
;FLAGS USED BY MOVSGN, IN LH
FRESET==1B6
;FLAGS USED BY RPGIO, IN LH
OVFLG==1B7 ; WE HAVE SEEN OVERFLOW INDICATOR
OVONLY==1B8 ; WE ONLY WANT OVERFLOW INDICATORS
LONLY==1B9 ; WE ONLY WANT CONTROL LEVEL INDICATORS
LFLG==1B10 ; CONTROL LEVEL INDICATOR SEEN
FOVTIM==1B11 ; we are processing forced overflow
WRITF==1B12 ; we have output at least one field
FREAD==1B13 ; we are doing chained input/output
FALT==1B14 ; we are processing alteranting arrays
FUALT==1B15 ; use the alternate array
FRSPEC==1B16 ; we are doing special output
;FLAGS USED BY EDIT CODE ROUTINES, MUST BE IN RH
DOLLR==1B18 ; FLOATING DOLLAR TO BE USED
ASTER==1B19 ; ASTERISK FILL TO BE USED
COMMA==1B20 ; COMMA'S REQUIRED IF SIZE > 3
FZERO==1B21 ; ZERO SUPPRESS TO BE USED
CREDIT==1B22 ; CREDIT (CR) SYMBOL TO BE USED FOR NEGATIVE
FMINUS==1B23 ; MINUS (-) SYMBOL TO BE USED FOR NEGATIVE
FDEC==1B24 ; NUMBER HAS DECIMAL POINT
FSPAC==1B25 ; FIRST EDIT FLAG IS SPACE
;Flags used by DSPLY., in LH
FNEGTV==1B6 ; We have seen a minus sign
;Flags used by DEBUG., in LH
FDNUM==1B6 ; field is numeric
FDNEG==1B7 ; field is negative
;GENERAL "SW" TESTER
SW==0 ; ALWAYS AC0
DEFINE SWTEST (A,B),<
IFLE A-777777,<TR'B SW,A>
IFG A-777777,<
IFE A&777777,<TL'B SW,(A)>
IFN A&777777,<TD'B SW,[A]>
>
>
DEFINE SWON (A),<SWTEST A,O> ; TURN ON FLAGS
DEFINE SWOFF (A),<SWTEST A,Z> ; TURN OFF FLAGS
DEFINE TSWC (A),<SWTEST A,C> ; COMPLEMENT FLAGS
DEFINE TSWF (A),<SWTEST A,NE> ; TEST FLAG AND SKIP IF OFF
DEFINE TSWT (A),<SWTEST A,NN> ; TEST FLAG AND SKIP IF ON
DEFINE TSWFZ (A),<SWTEST A,ZE> ; CLEAR FLAG, SKIP IF IT WAS ON
DEFINE TSWTZ (A),<SWTEST A,ZN> ; CLEAR FLAG, SKIP IF IT WAS OFF
DEFINE TSWFS (A),<SWTEST A,OE> ; SET FLAG, SKIP IF IT WAS OFF
DEFINE TSWTS (A),<SWTEST A,ON> ; SET FLAG, SKIP IF IT WAS ON
DEFINE TSWFC (A),<SWTEST A,CE> ; COMPLEMENT FLAG, SKIP IF IT WAS OFF
DEFINE TSWTS (A),<SWTEST A,CN> ; COMPLEMENT FLGA, SKIP IF IT WAS ON
DEFINE SWONS (A),<SWTEST A,OA> ; SET FLAG AND ALWAYS SKIP
DEFINE SWOFFS (A),<SWTEST A,ZA> ; CLEAR FLAG AND ALWAYS SKIP
END