Google
 

Trailing-Edge - PDP-10 Archives - BB-L288A-RM - swskit-changed-sources/scnmac.unv
There are 80 other files named scnmac.unv in the archive. Click here to see a list.
x,5,@P I4 4(;&
				ND	M4HX.A,B
				ND	A4hD.A,C
				ND	PD.A,D 7NI?87 9(<b
	XALL
9H

			
DEFINE	X(9h$NAME,$PROC,$POIN:T,$DEFLT,$MAX,$FL:(AGS),<
	EXP  SIX:HBIT  /$NAME/
>
:hAN:	SWTCHS
AL=;=.-AN

			
IF;(2,<
DEFINE	X($NA;HME,$PROC,$POINT,$;hDEFLT,$MAX,$FLAGS<),<
..TEMP==0
I<(RP $POINT,<
    <HIFE ..TEMP-1,<
	<h$POINT			;$NAME
=    >
    IFE ..=(TEMP-2,<
	POINT	=H36,$POINT,35	;$NA=hME
    >
    IF>IDN <$POINT><*P>,>(<..TEMP==1>	
   >H IFIDN <$POINT><*>hF>,<..TEMP==2>	
?>

IFB <$POINT>?(,<
	Z			;$NAME
?H>
IFNB <$POINT>,?h<IFE ..TEMP,<
	$@POINT			;$NAME
>@(>
>>
AP:	SWTCH@HS

			
			
MX@h.==0
DEFINE	X($NAAME,$PROC,$POINT,A($DEFLT,$MAX,$FLAGAHS),<
IF2,<
IFE Ah<$FLAGS>&FS.LRG,<BIFG <$MAX>-377777B(,<PRINTX ?MAXIMUMBH OF /$NAME CANNOTBh BE GT 377777>>
C>
..TEMP==1
IFNC( <$FLAGS>&FS.LRG,CH<IFN <$MAX>,<..TEChMP==0>>
IFN ..TEDMP,<
	XWD	$MAX,$D(PROC	;$NAME
>
IDHFE ..TEMP,<
	XWDDh	[$MAX],$PROC	;$NEAME
>
>
AM:	SE(WTCHS

			
PD.EH==0
DEFINE	X($NAEhME,$PROC,$POINT,$FDEFLT,$MAX,$FLAGSF(),<
IF2,<
IFL <FH$DEFLT>,<IFN <$DEFhFLT>+1,<PRINTX ?DGEFAULT OF /$NAME G(CANNOT BE NEGATIVGHE>>
IFE <$FLAGS>Gh&FS.LRG,<IFG <$DEHFLT>-777777,<PRINH(TX ?DEFAULT OF /$HHNAME CANNOT BE GTHh 777777>>
>
IFBI <$FLAGS>,<..TEMRI(==0>
IFNB <$FLAGIHS>,<..TEMR==($FLAIhGS)>
..TEMP==1
JIFN <$FLAGS>&FS.LJ(RG,<IFN <$DEFLT>,JH<..TEMP==0>>
IFNJh ..TEMP,<
	XWD	.K.TEMR,$DEFLT	;$NAK(ME
>
IFE ..TEMPKH,<
	XWD	..TEMR,[Kh$DEFLT]	;$NAME
>L
>
AD:	SWTCHS
	PURGE	..TEMP,..TEMR
	SALL
MLuvQ MLuLSQ  MLuZ7P"MLu[zP$MLuhvQ MLuiYQ @MLukyQ MLum2Q MLux[Q MLvlXQ M`tI7P pM`tI\Q M`tJ9Q M`uiQ @M`ukvQ M`um6Q  M`v9P M`v
Q M`v
WP M`v
ZQ M`v=Q M`v=8Q M`vLVQ `S	 S(U_9hwP U_9iVP U_9lP WN0 Lh<x
A.L==0
A.T:  IRP	(B)<M(EXP  SIXBIT /B/
			A.L==A.L+1
			..TEMP==0
		N	IRPC (B)<IFIDN N(<B><*>,<..TEMP==NH1>
					STOPI>
Nh			IFE ..TEMP,<AOB==A.L>
		>
	PURGE	..TEMP
	Z:42 Qh=
	EXT	.FMRSGD
	PJSP	T1,.FMR(SGD
	XLIST
	ASCRHIZ	\A\
	LIST	
Z:43 T(=(
	EXT	.FMTHSGF
	PJSP	T1,.FMThSGF
	XLIST
	ASCUIZ	\A\
	LIST
Z:46 OH=
	EXT	.FMOhSG
	PJSP	T1,.FMSPG
	XLIST
	ASCIZ	\A\
	LIST
Z:47 PH=

	EXT	.FMPhSGN
	PJSP	T1,.FMQSGN
	XLIST
	ASCQ(IZ	\A\
	LIST
Z:47 S=
	EXT	.FMS(SGO
	PJSP	T1,.FMSHSGO
	XLIST
	ASCShIZ	\A\
	LIST
guP o(M
	C
	LAo0LL
	UNIVERSAL SCoPNMA -- SCAN PARAopMETERS FOR TOPS-pB


	SYN	IFE,Ip0F
	TOPS==B

	pPSEARCH	MACTEN	;GEppT MACTEN MACROS
q%%MACTEN==%%MACTEq0N	;SHOW VERSION OqPF MACTEN


%%SqpCNM==VRSN. (SCM)

	PURGE	SCMWHO,r0SCMVER,SCMMIN,SCMrPEDT
;MACRO DEFIrpNITIONS OF GENERAsL USE

;DEFAULTs0S

;DM ABBREVIAsPTION,MAX,ADEFAULTsp,PDEFAULT
;	DEFItNES SYMBOLS MX.ABt0BREVIATION,AD.ABBtPREVIATION, AND PDtp.ABBREVIATION
;	uTO BE THE MAXIMUMu0 ALLOWED VALUE, TuPHE DEFAULT IF THEup KEYWORD
;	IS ABvSENT, AND THE DEFv0AULT IF THE KEYWOvPRD IS PRESENT RESvpPECTIVELY
;	UNLEwSS THE CORRESPONDw0ING SYMBOL IS ALRwPEADY DEFINED.

wp
	DEFINE	DM(ABBRx,MAX,ADEF,PDEF),<x0
				ND	MX.'ABBRxP,MAX
				ND	AD.'xpABBR,ADEF
				NDy	PD.'ABBR,PDEF>
y0
	;REVISION HISTOyPRY OF PARAMETER FypILE

;%2(47)  MzAY, 1972, WITH SCz0AN 2(127)

;50	zPADD SYMBOLS FOR AzpLL WORDS AND LENG{THS IN SCAN BLOCK{0
;	ADD FX.DFX, F{PX.TRM, AND .FXTRA{p,O,N,C.
;	OBSOLE|TE FX.ADD.
;51	A|0DD FX.NDV.
;52	M|PAKE USEABLE AS A |pUNIVERSAL FILE
;}%3(52)	DEC, 1972 }0WITH SCAN 3(173)

;53	ADD COMMEN}pTS TO .FX DEFINIT~IONS TO INDICATE ~0WHEN SET
;54	ADD~P DEFENSIVE PRINTX~p TO SWTCHS MACROS
;55	ADD FLAGS C0ONCEPT TO SWITCH PTABLES; ADD FS.NFpS
;56	AD FS.LRG TO HANDLE VALUES 0.GT. 2**17
;57	APDD FS.MOT DEFINITpION FOR .TSCAN FLAGS
;60	ADD FLAG0S FOR .TDIRB CALLP
;61	ADD FLAG FSp.NUE
;62	CLEAN UP LISTING OF PAGE0 1
;63	ALLOW * IPN KEYS LISTS
;64p	ADD FX.PRT
;65	ADD FS.VRQ
;66	D0ELETE FX.ADD
;67P	TEST BAD ARGS ONpLY IN PASS2
;70	IMPROVE ON 67 SLI0GHTLY
;%4(70) DEPC, 73 WITH SCAN 4p(275)

;71	DEFINE FS.OBV
;72	DE0FINE JWW.??
;73	PDEFINE FS.MIO
;7p4	CORRECT OVERPROTECTION OF DEFAUL0T TO 377777,,7777P77
;75	ADD SN STpYLE SWITCHES
;76	ADD SCAN WORDS 204-31 AND FX.SUP
P;77	ADD OVERRIDE pON POINT ARGUMENT TO SWITCH MACROS0
;%5(77) JUN, 74P WITH SCAN 5(363)p

;100	DEFINE F	S.ICL
;%6(100) J	0ULY, 1974 WITH SC	PAN 6

;101	ADD 	pGUIDE WORDS AS .C
HXXX: AND, OR, NO
0T
;102	CLARIFY F
PS.NFS; ADD FS.NCM
p
;103	ADD GUIDE WORDS 4002-4011
0;104	REMOVE ASK MPACRO (NEVER IMPLEpMENTED)
;105	EXP
AND (AND MOVE) FX
0.DEN FOR 5.07/6.0
P2
;%7(105) OCT, 
p1974 WITH SCAN 7

;201	SIMPLIFYSSL(
;202	ADD .FLASK, .FLTEL, .FLQUI0
;203	ELIMINATE PSCNMAC.REL IF UNIpVERSAL
;204	UPDATE FOR TOPS-20
;0205	PRODUCE SEPERPATE .UNV FILES
p;WORDS IN FILE SPEC AREA

.FXZER0==0	;FIRST WORD IPN BLOCK (TOPS-10 pOR TOPS-20)

IF TOPS-10,<
.FXDE0V==0	;DEVICE   (NPON-ZERO IF ANY PApRT OF SPEC)
.FXNAM==1	;NAME   (NO0N-ZERO IF NAME PRPESENT)
.FXNMM==2p	;NAME MASK
.FXEXT==3	;EXTENSION,0,EXTENSION MASK  P(NON-ZERO DOT PREpSENT)
.FXMOD==4	;MODIFIER WORD
.0FXMOM==5	;MODIFIEPR MASK
.FXDIR==6p	;DIRECTORY WORD   (EACH HALF=0 IF0 DEFAULT; SFD:0 IPF END)
.FXDIM==7p	;DIRECTORY MASK
.X==0		;TOPS-10 0OFFSET
> ;END TOPPS-10 CASE
IF TOpPS-20,<
.FXFIL==0	;FILE SPEC (^D206 WORD ASCIZ STRIPNG)
.FXJFN==^D26p	;JFN IF ANY
.FXPRO==^D27	;PROTEC0TION
.FXACT==^D2P8	;ACCOUNT STRINGp
.FXMOD==^D36	;MODIFIER WORD
.FX0MOM==^D37	;MODIFIPER MASK
.X==.FXMpOM-21	;TOPS-20 OFFSET
>
.FXBFR==022+.X	;/BEFORE
.PFXSNC==23+.X	;/SIpNCE
.FXABF==24+.X	;/ABEFORE
.FXA0SN==25+.X	;/ASINCPE
.FXFLI==26+.X	p;FILE MIN SIZE (WORDS)
.FXFLM==270+.X	;FILE MAX SIZPE (WORDS)
.FXESTp==30+.X	;/ESTIMATE
.FXVER==31+.X	0;/VERSION

;LENPGTHS OF FILE SPECp AREA
.FXLEN==32+.X	;LENGTH OF ON0E SPECIFICATION
PIF TOPS-10,<
.FXpLND==6	;LENGTH OF DIRECTORY (UFD+S0FD'S)
> ;END TOPPS-10
IF TOPS-20,p<
.FXLNF==^D26	; LENGTH OF FILE SP 0EC STRING
>
;B PYTES IN SCAN MOD  pWORD
IF TOPS-10,!<
FX.NDV==1B0	;N!0ULL DEVICE
FX.NU!PL==1B1	;NULL EXTE!pNSION
FX.DIR==1B"2	;DIRECTORY SPEC"0IFIED   (MOD=0 IF"P [-])
> ;END TOP"pS-10
FX.PHY==1B3#	;/PHYSICAL
FX.N#0OM==1B4	;/OKNONE
IF TOPS-10,<
FX#p.DFX==1B5	;DIRECT$ORY DOES NOT NEED$0 FIX-UP BY WILD
$P> ;END TOPS-10
I$pF TOPS-20,<
FX.T%MP==1B5	;FILE IS %0TEMP
>
FX.TRM==%P7B8	;CODE FOR SPE%pC'S TERMINATION
&	.FXTRA==1	;& (AN&0D)
	.FXTRO==2	;!&P (OR)
	.FXTRN==3&p	;- (NOT)
	.FXTR'C==4	;+ (CONCATEN'0ATE)
FX.STR==1B9'P	;/STRS
FX.PRT=='p1B10	;/OKPROT
FX(.SUP==1B11	;/ERSU(0PERSEDE

FX.DEN(P==7B23	;/DENSITY	(p				[105]
FX.PAR)==1B24	;/PARITY
)0IF TOPS-10,<
FX.)PPRO==777B35	;/PRO)pTECTION
> ;END T*OPS-10
;SPECIAL*0 CHARACTERS FOR S*PCAN
.CHALX==0	;A*pLTMODE
.CHEOL==-+1	;END OF LINE
.+0CHEOF==-2	;END OF+P FILE

;GUIDE W+pORDS (TURNED INTO, PSEUDO CHARACTER,0S)

.CHAND==400,P0	;'AND'						[10,p1]
.CHOR==04001	-;'OR'						[101]
.CHNOT==4002	;'N-POT'						[101]
.-pCHTO==04003	;'TO'.						[103]
.CHF.0RM==4004	;'FROM'	.P					[103]
.CHIN.pP==4005	;'INPUT'	/				[103]
.CHOUT/0==4006	;'OUTPUT'	/P				[103]
.CHSRC/p==4007	;'SOURCE'	0				[103]
.CHLST00==4010	;'LIST'			0P			[103]
.CHOBJ=0p=4011	;'OBJECT'		1			[103]


;FL10AGS FOR .ISCAN CA1PLL

FS.ICL==1B11p7	;IGNORE SPECIAL2 COMMAND-LINE HAN20DLING

;FLAGS F2POR .TSCAN CALL
2p
FS.MOT==1B18	;MU3LTIPLE OUTPUT SPE30CS POSSIBLE
FS.M3PIO==1B19	;MIXED I3pNPUT AND OUTPUT S4PECS

;FLAGS FO40R .TDIRB CALL

4PTS.DRW==0	;SINGLE4p WORD
TS.DRP==1	5;PATH POINTER
TS50.DRB==2	;BIWORD (5PIE, SCAN SPEC FOR5pMAT)

;VALUES F6ROM .VERBO

JWW60.CN==1B33	;/MESSA6PGE:CONTINUATION
6pJWW.FL==1B34	;/ME7SSAGE:FIRST
JWW.70PR==1B35	;/MESSAG7PE:PREFIX

;VALU7pES IN .FLAQT

.8FLASK==1	;/ASK
.80FLTEL==2	;/TELL
8P.FLQUI==3	;/QUIET8p
;SWITCH SCANNI9NG MACROS AND TAB90LES

;SWTCHS IS9P THE MACRO LISTIN9pG ALL KNOWN SWITC:HES
;IT INCLUDES:0 THE NAME AND STO:PRAGE LOCATION
;F:pOR VALUE TYPES, I;T ALSO HAS THE MA;0X AND DEFAULT AND;P PROCESSOR
;FOR ;pKEY-VALUE TYPES, <IT POINTS TO THE <0KEYS AND HAS THE <PDEFAULT IF ANY
;<pFOR STAND-ALONE T=YPES, IT HAS THE =0VALUE.

;WHEN T=PHE SWITCH SCANNIN=pG TABLES ARE TO B>E BUILT, INVOKE
>0;THE MACRO DOSCAN>P WITH 5-CHAR ARGU>pMENT TO USE AS SY?MBOL PREFIX
;IT ?0WILL DEFINE XXXXX?PN,L,P,M,D

; SL?p  NAME,STORAGE,TA@BLE-NAME,DEFAULT,@0FLAGS
;	DEFINES @PA LIST OF KEY-VAL@pUES (SEE KEYS MACARO)
;	DEFAULT ISA0 THE ORDINAL OR 0AP IF NO DEFAULT
;Ap	IF LH(STORAGE)=7B777B11, STORAGE =B0 ROUTINE TO PROCEBPSS
;
; SP  NAMEBp,STORAGE,PROCESSOCR,ABBREVIATION,FLC0AGS
;	DEFINES A CPVALUE PARAMETER WCpHOSE DEFAULTS
;	D    ARE DEFINED AD0T THE BEGINNING ODPF THE PROGRAM
;	Dp    BY "DM" USINGE THE SAME ABBREVIE0ATION
;	PROCESSOEPR IS THE JUMP ADDEpRESS IN SWITCH PRFOCESSING
;	    IF0T WILL BE CALLED FPWITH P1=SWITCH OFFpFSET IN TABLE
;	G    AND P2=POINTEG0R TO 4-WORD BLOCKGP OF INTERNAL OR EGpXTERNAL STUFF
;	HIF MAX=0 AND FS.LH0RG, THEN ANY VALUHPE CAN BE STORED
Hp;	    ELSE, 0.LE.IVALUE.LE.MAX
;
I0;	0.LE.MAX,DEFAULIPT.LT.2**17 UNLESSIp FS.LRG
;
;	IF JMAX=0 AND NOT FS.J0LRG, THEN PROCESSJPOR IS AN IMMEDIATJpE ACTION
;	    WKHICH WILL ALWAYS K0BE CALLED
;	    KPELSE, PROCESSOR WKpILL BE CALLED ONLLY IF ":"
;
; SSL0  NAME,STORAGE,VALPLUE,FLAGS
;	DEFILpNES A STAND-ALONEM PARAMETER
;
;	M0IN ALL CASES, STOMPRAGE IS A BYTE POMpINTER.
;	    IF NA FULL WORD, ONLYN0 THE ADDRESS IS NNPEEDED
;	    IF ANp MULTIPLE WORD, TOHE BYTE SIZE IS 6O05-#WORDS (UP TO 2OP8)
;	    IF A FIOpLE SPECIFICATION,P THE LENGTH IS HEP0LD IN MX.ABBREVIAPPTION
;	    IF POPpINTER IS 7777??,,Q?????? THEN RH(POQ0INTER) IS DISPATCQPH
;		ADDRESS OF QpPROCESSOR WHICH TRAKES KEYWORD SWITR0CH VALUES
;
; SRPN  NAME,STORAGE,FRpLAGS
;	DEFINES AS STAND-ALONE PARAS0METER WHICH TAKESSP VALUE
;	    1 ISpF /NAME, AND VALUTE 0 IF /NONAME
T0

; KEYS (NAME,LTPIST)   WILL DEFINTpE A LIST OF KEYS UBY NAME NAME
;	NU0AME CAN BE UP TO UP4 CHARS.  (DEFINEUpS NAME.T AND NAMEV.L)
;	LIST IS SIV0XBIT NAMES SEPARAVPTED BY COMMAS.
;Vp	DEFINES NAME CONWCATENATED WITH STW0ART OF ITEM IN LIWPST
;	AS INDEX INWp LIST UNLESS THE XITEM BEGINS WITH X0"*"
	DEFINE	SL(XP$NAME,$RESULT,$TAXpBLE,$DEFAULT,$FLAYGS),<
	X	$NAME,$Y0TABLE'.T-1,<$RESUYPLT>,$DEFAULT,-$TAYpBLE'.L,$FLAGS
>Z

	DEFINE	SP($NAZ0ME,$RESULT,$PROCEZPSSOR,$ABBR,$FLAGSZp),<
	X	$NAME,$PR[OCESSOR,<$RESULT>[0,PD.'$ABBR,MX.'$A[PBBR,$FLAGS
>

[p	DEFINE	SS($NAME,\$RESULT,$VALUE,$F\0LAGS),<
	X	$NAME\P,0,<$RESULT>,$VAL\pUE,0,$FLAGS
>
]
	DEFINE	SN($NAME]0,$RESULT,$FLAGS),]P<
	X	$NAME,0,<$R]pESULT>,0,0,FS.NOS^!$FLAGS
>

;FL^0AGS WHICH CAN BE ^PDEFINED IN SWITCH^p TABLE
FS.NFS==1_B0	;THIS SWITCH I_0S NEVER PART OF A_P FILE SPECIFICATI_pON
		; THIS SHOU`LD BE SET ON GLOB`0AL SWITCHES
		; `P** VERY IMPORTANT`p TO GET RIGHT **
FS.LRG==1B1	;THEa0 MAX AND DEFAULT aPVALUES ARE 0 OR .apGT. 2**17
FS.NUEb==1B2	;NO USER EXb0IT ON THIS SWITCHbP
FS.VRQ==1B3	;VAbpLUE REQUIRED
FS.cOBV==1B4	;OR BIT c0VALUES TO RIGHT HcPALF
FS.NOS==1B5	cp;SWITCH TAKES "NOd" PREFIX (INTERNAd0L FOR SN MACRO ONdPLY)
FS.NCM==1B6	dp;SWITCH DOES NOT eCONSTITUTE A COMMe0AND		[102]
		; (ePFOR /RUN, /OPTIONep, /EXIT)

		;DOfN'T USE FS.R??, Wf0HICH ARE DEFINED fPIN C.MAC
;MACROfp TO BUILD THE TABgLES FROM THE SWTCg0HS MACRO

	DEFIgPNE	DOSCAN(PFX),<
	XALL


			
hDEFINE	X($NAME,$Ph0ROC,$POINT,$DEFLThP,$MAX,$FLAGS),<
hp	EXP  SIXBIT  /$NiAME/
>
PFX'N:	Si0WTCHS
PFX'L==.-PiPFX'N

			
IF2,ip<
DEFINE	X($NAMEj,$PROC,$POINT,$DEj0FLT,$MAX,$FLAGS),jP<
..TEMP==0
IRPjp $POINT,<
    IFkE ..TEMP-1,<
	$Pk0OINT			;$NAME
  kP  >
    IFE ..TEkpMP-2,<
	POINT	36l,$POINT,35	;$NAMEl0
    >
    IFIDlPN <$POINT><*P>,<.lp.TEMP==1>	
    ImFIDN <$POINT><*F>m0,<..TEMP==2>	
>mP

IFB <$POINT>,<mp
	Z			;$NAME
>n
IFNB <$POINT>,<In0FE ..TEMP,<
	$POnPINT			;$NAME
>>p
>>
PFX'P:	SWTCHoS

			
			
MXo0.==0
DEFINE	X($NoPAME,$PROC,$POINT,op$DEFLT,$MAX,$FLAGpS),<
IF2,<
IFE p0<$FLAGS>&FS.LRG,<pPIFG <$MAX>-377777pp,<PRINTX ?MAXIMUMq OF /$NAME CANNOTq0 BE GT 377777>>
qP>
..TEMP==1
IFNqp <$FLAGS>&FS.LRG,r<IFN <$MAX>,<..TEr0MP==0>>
IFN ..TErPMP,<
	XWD	$MAX,$rpPROC	;$NAME
>
IsFE ..TEMP,<
	XWDs0	[$MAX],$PROC	;$NsPAME
>
>
PFX'M:sp	SWTCHS

			
PtD.==0
DEFINE	X($t0NAME,$PROC,$POINTtP,$DEFLT,$MAX,$FLAtpGS),<
IF2,<
IFLu <$DEFLT>,<IFN <$u0DEFLT>+1,<PRINTX uP?DEFAULT OF /$NAMupE CANNOT BE NEGATvIVE>>
IFE <$FLAGv0S>&FS.LRG,<IFG <$vPDEFLT>-777777,<PRvpINTX ?DEFAULT OF w/$NAME CANNOT BE w0GT 777777>>
>
IwPFB <$FLAGS>,<..TEwpMR==0>
IFNB <$FLxAGS>,<..TEMR==($Fx0LAGS)>
..TEMP==1xP
IFN <$FLAGS>&FSxp.LRG,<IFN <$DEFLTy>,<..TEMP==0>>
Iy0FN ..TEMP,<
	XWDyP	..TEMR,$DEFLT	;$ypNAME
>
IFE ..TEzMP,<
	XWD	..TEMRz0,[$DEFLT]	;$NAME
>
>
PFX'D:	SWTzpCHS
	PURGE	..TEM{P,..TEMR
	SALL
{0>
;AND FINALLY,{P THE KEY-WORD VAL{pUES

	DEFINE	KE|YS(NAME,LST),<
N|0AME'.L==0
NAME'.|PT:  IRP	(LST)<EXP|p  SIXBIT /LST/
	}		NAME'.L==NAME'.}0L+1
			..TEMP==0}P
			IRPC (LST)<I}pFIDN <LST><*>,<..~TEMP==1>
					ST~0OPI>
			IFE ..TE~PMP,<NAME'LST==NAM~pE'.L>
		>
	PURGE	..TEMP
	>
;M0.FAIL <FOO> SENDSP FOO AS A FATAL EpRROR

DEFINE	M.FAIL (A),<
	EXT	0.FMSG
	PJSP	T1,.PFMSG
	XLIST
	ASpCIZ	\A\
	LIST
>

;M.FAIN <FOO>0 SENDS FOO AS A FPATAL ERROR WITH Np IN SIXBIT

DEFINE	M.FAIN (A),<
	EXT	.FMSGN
	PJPSP	T1,.FMSGN
	XLpIST
	ASCIZ	\A\
	LIST
>

;M.FA0ID <FOO> SENDS FOPO AS A FATAL ERROpR WITH N IN DECIMAL

DEFINE	M.FA0ID (A) <
	EXT	.FPMSGD
	PJSP	T1,.FpMSGD
	XLIST
	ASCIZ	\A\
	LIST	
0>

;M.FAIO <FOOP> SENDS FOO AS A pFATAL ERROR WITH N IN OCTAL

DEF0INE	M.FAIO (A),<
	EXT	.FMSGO
	PJpSP	T1,.FMSGO
	XLIST
	ASCIZ	\A\
0	LIST
>

;M.MAPIF <FOO> SENDS FOpO AS A FATAL ERROR WITH N=ADDR OF 0FILE DESCRIPTOR
P
DEFINE	M.FAIF(Ap)<
	EXT	.FMSGF
		PJSP	T1,.FMSGF
	0	XLIST
	ASCIZ	\A	P\
	LIST
>
	LIST
g0 6;3

	X	A,C60.T-1,<B>,D,-C.L,E
 pM`tI\g8 8;C
	X	A,0,80<B>,0,0,FS.NOS!C

Q;*M`v
Wg@ 6p;9

	X	A,C7,<B>,PD.D,MX.D,E
Q;.MLuZ7gL 7P;=
	X	A,0,<B>,C,0,D
9i?0P iLtLQP iLtLXP iLtL[P mKc@ `6BYTE (3)A` WHO (9)AVER (6)AMIN (18)AEDT
lzQ 

;VQ BDP DRP D[sQ D[vQ DlVP EXP ELzP EkzP ExUP E|@P E}:P F<QP FK`P duP f4P fI6P DSP 
DwP 
D)YP 	DI;P DJ6P DJ9P D\zP 
D^P DkP DkP EI7P Ek6P F;QP 	FLPP FLQP FLWP FLWP Fi9P 
G)9P `P >}{woP