Google
 

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