perm filename SIMMC3.MAC[SIM,SYS] blob sn#462255 filedate 1979-07-30 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00003 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002
C00003 00003
C00009 ENDMK
CāŠ—;

COMMENT ;
AUTHOR:		ELISABETH $LUND
PURPOSE:	MC3 CONTAINS FIELD AND SWITCH DEFINITIONS FOR PASS3
VERSION:	2
;

	SEARCH SIMMAC
	CUNIV	SIMMC3	;[104]

IF2,<PRINTX UPDATE: 14 13-Feb-1976/LE>



DEFINE	LFE(XT,A,B)<
	OPDEF	$L	[HLRE	XT,]
	OPDEF	$R	[HRRE	XT,]
	OPDEF	$F	[MOVE	XT,]
	PURGE	$B,$B	;;MUST NOT BE USED FOR BYTES IN GENERAL
	$$USE==1
	IFNB	<A>,<
	IFNB	<B>,<A,B>
	IFB	<B>,<A>
	>
>



DEFINE	P3INIT	<	;;[104]
	EXTERN	Y1MASK
	EXTERN	YE3DL
	EXTERN	ZDM
	EXTERN YE3SW
	EXTERN	REF
	EXTERN	IDL
	EXTERN	IDR
	EXTERN	ZINA


	SYN	YOPLST,YOPLS3

;;DEFINE SWITCHES LOCAL to PASS3
DSW	(YE3TTY,0,35,X3MASK)	;;0/1 OUTPUT TTY T/F
DSW	(YE3LST,0,34,X3MASK)	;;0/1 NO LIST/LIST
DSW	(YE3LAS,0,33,X3MASK)	;;1 PAGE TEXT ALLOWED OUTPUT RUB
DSW	(YE3DM,0,32,X3MASK)	;;SORTING ZDM
DSW	(YE3TAB,0,30,X3MASK)
DSW	(Y3ERR,0,29,X3MASK)	;;ERROR TABLES IN CORE
DSW	(Y3TERM,0,28,X3MASK)	;;TERMINATION ERROR,SET IN TERMNATION ROUTINE
DSW	(Y3TMES,0,27,X3MASK)	;;TERMINATION ERROR,FOR STAT INF, SET IN E3EM
DSW	(Y3STAT,0,26,X3MASK)	;;STAT INF OF ERRORS OUTPUT
DSW	(YE3OPL,0,25,X3MASK)	;;SET WHEN -LIST,RESET AFTER THAT LINE
DSW	(NEWUNR,0,24,X3MASK)	;;NEW UNIQUE NUMBER IN ATR
DSW	(NEWATR,0,23,X3MASK)	;;GENERATE NEW ATR
DSW	(OLDATR,0,22,X3MASK)	;;OLD ATR EXISTS
DSW	(NOREL,0,21,X3MASK)	;;NO REL FILE GENERATED
DSW	(INLIB,0,20,X3MASK)	;;[20] Old ATR exists in LIBSIM.ATR, not stand alone

;;DEFINE SWITCHES 


	DSW	(Y3SWC,Y1MASK,4)	;;CROSS REF
	DSW	(Y3MP,Y1MASK,20)	;;MAIN PROG
	DSW	(Y3ESIM,Y1MASK,18)	;;EXT SIM PROC
	DSW	(Y3ECLA,Y1MASK,19)	;;EXT SIM CLASS


;;DEFINE FIELDS FOR ERROR ROUTINES	;;[104] ZDM removed from DF

	DF	(ZDMEN,0,18,17)	;;OCTAL ERROR NUMBER
	DF	(ZDML1,0,18,35)	;;LINE NO FIRST LINE
	DF	(ZDML2,0+1,18,35)	;;LINE NO LAST LINE
	DF	(ZDMSM,0+1,18,17)	;;NO OF SEMICOLONS
	DF	(ZDME1,0+2,12,11)	;;EDIT FIELD 1
	DF	(ZDME2,0+2,12,23)	;;EDIT FIELD 2
	DF	(ZDME3,0+2,12,35)	;;EDIT FIELD 3
	DF	(ZDMTX,0+2,36,35)	;;TEXT FIELD
	DF	(ZDMET,0,4,14)	;;BITS IN ERROR NO, DECIDING ERROR TYPE



;;DEFINE FIELDS FOR ERROR HANDLING

	DF	(ZE3ENB,0-1,18,17)	;;ERROR NUMBER
	DF	ZE3ETP,0,2,1		;;TYPE OF ERROR, USED ON YE3MI
	DF	ZE3LIN,0-1,18,35	;;LINE NUMBER
	DF	ZE3NBW,0,4,5		;;NUMBER OF WORDS IN MESSAGE
	DF	ZE3IND,0,12,17		;;INDEX YE3M
	DF	ZE3ANB,YE3DL,18,35	;;NUMBER OF WORDS
	DF	ZE3ACH,YE3DL,18,17	;;NUMBER OF CHARACTERS

	;;DEFINE FIELDS FOR XRF, FIELDS EQV TO THOSE DEFINED IN XRF.TMP

DF	(ZIN,ZINA,36,35)
DF	(ZINI,ZINA,12,17);;		;;IDENTIFIER NUMBER
DF	(ZINN,ZINA,18,35)		;;LINE NUMBER OR NUMBER OF IDENTIFIER
DF	(ZIDLL,IDL,18,17)		;;HASH LINK
DF	(ZIDLR,IDL-2000,18,35)		;;LINK LAST ZREF
DF	(ZIDRL,IDR-2000,18,17)		;;LINK BINARY TREE HIGHER
DF	(ZIDRR,IDR-2000,18,35)		;;LINK BINARY TREE LOWER

DF	(ZREFD,REF,1,0)			;;DECLARED
DF	(ZREFE,REF,1,1)			;;EXTERNAL
DF	(ZREFT,REF,1,2)		;;OCCURS MORE THAN ONCE ON THIS LINE

	;;WORD CONTAINING FIELD NAME CAN NOT BE USED WITHOUT
	;;USING OFFSET IN LF RESP SF MACRO, IF FIELD SIZE=/ 18,36,1
	;;USE:   LF	ZREFL(,REF)

	DF	(ZREFS,0,3,2)		;;FIELD CONTAINING SWITCHES ABOVE
	DF	(ZREFL,0,15,17)		;;LINK LAST ZREF
	DF	(ZREFN,REF,18,35)	;;LINE NUMBER
>;; END P3INIT

	;;ASSEMBLY TIME CONSTANTS
Q1024=2000
QMXLL=170
QWARN=2
QPAGE=ā†‘D55	;;DEFAULT VALUE OF NUMBER OF LINES PER PAGE
QBL=QBUFS-3
QCRLF=2415	;;CR,LF
ifn sailsw,<
Q3PROT=057000	;;DEFAULT PROTECTION OF REL FILE AND LIST FILE
>
ife sailsw,<
Q3PROT=000000	;;DEFAULT PROTECTION OF REL FILE AND LIST FILE
>



	;;REGISTER ASSIGNMENT



	X3MASK=X16
	XDM1=X13
	XDM2=X12
	END