Google
 

Trailing-Edge - PDP-10 Archives - bb-d868b-bm_tops20_v3a_2020_dist - 3a-sources/scnm10.unv
There are 11 other files named scnm10.unv in the archive. Click here to see a list.
x,,@P I4 81W
				ND	MXX.A,B
				ND	AxD.A,C
				ND	PD.A,DB_-^D30I?87 83
	XALL
X

			
DEFINE	X(x$NAME,$PROC,$POIN T,$DEFLT,$MAX,$FL 8AGS),<
	EXP  SIX XBIT  /$NAME/
>
 xAN:	SWTCHS
AL=!=.-AN

			
IF!82,<
DEFINE	X($NA!XME,$PROC,$POINT,$!xDEFLT,$MAX,$FLAGS"),<
..TEMP==0
I"8RP $POINT,<
    "XIFE ..TEMP-1,<
	"x$POINT			;$NAME
#    >
    IFE ..#8TEMP-2,<
	POINT	#X36,$POINT,35	;$NA#xME
    >
    IF$IDN <$POINT><*P>,$8<..TEMP==1>	
   $X IFIDN <$POINT><*$xF>,<..TEMP==2>	
%>

IFB <$POINT>%8,<
	Z			;$NAME
%X>
IFNB <$POINT>,%x<IFE ..TEMP,<
	$&POINT			;$NAME
>&8>
>>
AP:	SWTCH&XS

			
			
MX&x.==0
DEFINE	X($N'AME,$PROC,$POINT,'8$DEFLT,$MAX,$FLAG'XS),<
IF2,<
IFE 'x<$FLAGS>&FS.LRG,<(IFG <$MAX>-377777(8,<PRINTX ?MAXIMUM(X OF /$NAME CANNOT(x BE GT 377777>>
)>
..TEMP==1
IFN)8 <$FLAGS>&FS.LRG,)X<IFN <$MAX>,<..TE)xMP==0>>
IFN ..TE*MP,<
	XWD	$MAX,$*8PROC	;$NAME
>
I*XFE ..TEMP,<
	XWD*x	[$MAX],$PROC	;$N+AME
>
>
AM:	S+8WTCHS

			
PD.+X==0
DEFINE	X($NA+xME,$PROC,$POINT,$,DEFLT,$MAX,$FLAGS,8),<
IF2,<
IFL <,X$DEFLT>,<IFN <$DE,xFLT>+1,<PRINTX ?D-EFAULT OF /$NAME -8CANNOT BE NEGATIV-XE>>
IFE <$FLAGS>-x&FS.LRG,<IFG <$DE.FLT>-777777,<PRIN.8TX ?DEFAULT OF /$.XNAME CANNOT BE GT.x 777777>>
>
IFB/ <$FLAGS>,<..TEMR/8==0>
IFNB <$FLAG/XS>,<..TEMR==($FLA/xGS)>
..TEMP==1
0IFN <$FLAGS>&FS.L08RG,<IFN <$DEFLT>,0X<..TEMP==0>>
IFN0x ..TEMP,<
	XWD	.1.TEMR,$DEFLT	;$NA18ME
>
IFE ..TEMP1X,<
	XWD	..TEMR,[1x$DEFLT]	;$NAME
>2
>
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 2x3)
A.L==0
A.T:  IRP	(B)<38EXP  SIXBIT /B/
			A.L==A.L+1
			..TEMP==0
		4	IRPC (B)<IFIDN 48<B><*>,<..TEMP==4X1>
					STOPI>
4x			IFE ..TEMP,<A5B==A.L>
		>
	PURGE	..TEMP
	Z:42 7x3E
	EXT	.FM8SGD
	PJSP	T1,.FM88SGD
	XLIST
	ASC8XIZ	\A\
	LIST	
Z:43 :83Y
	EXT	.FM:XSGF
	PJSP	T1,.FM:xSGF
	XLIST
	ASC;IZ	\A\
	LIST
Z:46 5X31
	EXT	.FM5xSG
	PJSP	T1,.FMS6G
	XLIST
	ASCIZ	\A\
	LIST
Z:47 6X3;
	EXT	.FM6xSGN
	PJSP	T1,.FM7SGN
	XLIST
	ASC78IZ	\A\
	LIST
Z:47 93O
	EXT	.FM98SGO
	PJSP	T1,.FM9XSGO
	XLIST
	ASC9xIZ	\A\
	LIST
guP ]P'A
	C
	LA]pLL
	UNIVERSAL SC^NMA -- SCAN PARA^0METERS FOR TOPS-^PB


	SYN	IFE,I^pF
	TOPS==B

	_SEARCH	MACTEN	;GE_0T MACTEN MACROS
_P%%MACTEN==%%MACTE_pN	;SHOW VERSION O`F MACTEN


%%S`0CNM==VRSN. (SCM)

	PURGE	SCMWHO,`pSCMVER,SCMMIN,SCMaEDT
;MACRO DEFIa0NITIONS OF GENERAaPL USE

;DEFAULTapS

;DM ABBREVIAbTION,MAX,ADEFAULTb0,PDEFAULT
;	DEFIbPNES SYMBOLS MX.ABbpBREVIATION,AD.ABBcREVIATION, AND PDc0.ABBREVIATION
;	cPTO BE THE MAXIMUMcp ALLOWED VALUE, TdHE DEFAULT IF THEd0 KEYWORD
;	IS ABdPSENT, AND THE DEFdpAULT IF THE KEYWOeRD IS PRESENT RESe0PECTIVELY
;	UNLEePSS THE CORRESPONDepING SYMBOL IS ALRfEADY DEFINED.

f0
	DEFINE	DM(ABBRfP,MAX,ADEF,PDEF),<fp
				ND	MX.'ABBRg,MAX
				ND	AD.'g0ABBR,ADEF
				NDgP	PD.'ABBR,PDEF>
gp
	;REVISION HISTOhRY OF PARAMETER Fh0ILE

;%2(47)  MhPAY, 1972, WITH SChpAN 2(127)

;50	iADD SYMBOLS FOR Ai0LL WORDS AND LENGiPTHS IN SCAN BLOCKip
;	ADD FX.DFX, FjX.TRM, AND .FXTRAj0,O,N,C.
;	OBSOLEjPTE FX.ADD.
;51	AjpDD FX.NDV.
;52	MkAKE USEABLE AS A k0UNIVERSAL FILE
;kP%3(52)	DEC, 1972 kpWITH SCAN 3(173)

;53	ADD COMMENl0TS TO .FX DEFINITlPIONS TO INDICATE lpWHEN SET
;54	ADDm DEFENSIVE PRINTXm0 TO SWTCHS MACROSmP
;55	ADD FLAGS CmpONCEPT TO SWITCH nTABLES; ADD FS.NFn0S
;56	AD FS.LRG nPTO HANDLE VALUES np.GT. 2**17
;57	AoDD FS.MOT DEFINITo0ION FOR .TSCAN FLoPAGS
;60	ADD FLAGopS FOR .TDIRB CALLp
;61	ADD FLAG FSp0.NUE
;62	CLEAN UpPP LISTING OF PAGEpp 1
;63	ALLOW * IqN KEYS LISTS
;64q0	ADD FX.PRT
;65	qPADD FS.VRQ
;66	DqpELETE FX.ADD
;67r	TEST BAD ARGS ONr0LY IN PASS2
;70	rPIMPROVE ON 67 SLIrpGHTLY
;%4(70) DEsC, 73 WITH SCAN 4s0(275)

;71	DEFIsPNE FS.OBV
;72	DEspFINE JWW.??
;73	tDEFINE FS.MIO
;7t04	CORRECT OVERPROtPTECTION OF DEFAULtpT TO 377777,,7777u77
;75	ADD SN STu0YLE SWITCHES
;76uP	ADD SCAN WORDS 2up4-31 AND FX.SUP
v;77	ADD OVERRIDE v0ON POINT ARGUMENTvP TO SWITCH MACROSvp
;%5(77) JUN, 74w WITH SCAN 5(363)w0

;100	DEFINE FwPS.ICL
;%6(100) JwpULY, 1974 WITH SCxAN 6

;101	ADD x0GUIDE WORDS AS .CxPHXXX: AND, OR, NOxpT
;102	CLARIFY FyS.NFS; ADD FS.NCMy0
;103	ADD GUIDE yPWORDS 4002-4011
yp;104	REMOVE ASK MzACRO (NEVER IMPLEz0MENTED)
;105	EXPzPAND (AND MOVE) FXzp.DEN FOR 5.07/6.0{2
;%7(105) OCT, {01974 WITH SCAN 7

;201	SIMPLIFY {pDOSCAN ANALYSIS (|NO CHANGE IN CALL|0)
;202	ADD .FLAS|PK, .FLTEL, .FLQUI|p
;203	ELIMINATE }SCNMAC.REL IF UNI}0VERSAL
;204	UPDA}PTE FOR TOPS-20
;}p205	PRODUCE SEPER~ATE .UNV FILES
~0;WORDS IN FILE SP~PEC AREA

.FXZER~p==0	;FIRST WORD IN BLOCK (TOPS-10 0OR TOPS-20)

IFP TOPS-10,<
.FXDEpV==0	;DEVICE   (NON-ZERO IF ANY PA0RT OF SPEC)
.FXNPAM==1	;NAME   (NOpN-ZERO IF NAME PRESENT)
.FXNMM==20	;NAME MASK
.FXEPXT==3	;EXTENSION,p,EXTENSION MASK  (NON-ZERO DOT PRE0SENT)
.FXMOD==4	P;MODIFIER WORD
.pFXMOM==5	;MODIFIER MASK
.FXDIR==60	;DIRECTORY WORD P  (EACH HALF=0 IFp DEFAULT; SFD:0 IF END)
.FXDIM==70	;DIRECTORY MASK
.X==0		;TOPS-10 pOFFSET
> ;END TOPS-10 CASE
IF TO0PS-20,<
.FXFIL==P0	;FILE SPEC (^D2p6 WORD ASCIZ STRING)
.FXJFN==^D260	;JFN IF ANY
.FXPPRO==^D27	;PROTECpTION
.FXACT==^D28	;ACCOUNT STRING0
.FXMOD==^D36	;MPODIFIER WORD
.FXpMOM==^D37	;MODIFIER MASK
.X==.FXM0OM-21	;TOPS-20 OFPFSET
>
.FXBFR==p22+.X	;/BEFORE
.	FXSNC==23+.X	;/SI	0NCE
.FXABF==24+.	PX	;/ABEFORE
.FXA	pSN==25+.X	;/ASINC
E
.FXFLI==26+.X	
0;FILE MIN SIZE (W
PORDS)
.FXFLM==27
p+.X	;FILE MAX SIZE (WORDS)
.FXEST0==30+.X	;/ESTIMATPE
.FXVER==31+.X	p;/VERSION

;LEN
GTHS OF FILE SPEC
0 AREA
.FXLEN==32
P+.X	;LENGTH OF ON
pE SPECIFICATION
IF TOPS-10,<
.FX==6	;LENGTHDOF
> ;END TOPS-10
IF TOPS-20,0<
.FXLNF==^D26	;PLENGTH OF FILE SPpEC STRING
>
;BYTES IN SCAN MOD 0WORD
IF TOPS-10,P<
FX.NDV==1B0	;NpULL DEVICE
FX.NUL==1B1	;NULL EXTE0NSION
FX.DIR==1BP2	;DIRECTORY SPECpIFIED   (MOD=0 IF [-])
> ;END TOP0S-10
FX.PHY==1B3P	;/PHYSICAL
FX.NpOM==1B4	;/OKNONE
IF TOPS-10,<
FX0.DFX==1B5	;DIRECTPORY DOES NOT NEEDp FIX-UP BY WILD
> ;END TOPS-10
I0F TOPS-20,<
FX.TPMP==1B5	;FILE IS pTEMP
>
FX.TRM==7B8	;CODE FOR SPE0C'S TERMINATION
P	.FXTRA==1	;& (ANpD)
	.FXTRO==2	;! (OR)
	.FXTRN==30	;- (NOT)
	.FXTRPC==4	;+ (CONCATENpATE)
FX.STR==1B9	;/STRS
FX.PRT==01B10	;/OKPROT
FXP.SUP==1B11	;/ERSUpPERSEDE

FX.DEN==7B23	;/DENSITY	0				[105]
FX.PARP==1B24	;/PARITY
pIF TOPS-10,<
FX.PRO==777B35	;/PRO0TECTION
> ;END TPOPS-10
;SPECIALp CHARACTERS FOR SCAN
.CHALX==0	;A0LTMODE
.CHEOL==-P1	;END OF LINE
.pCHEOF==-2	;END OF FILE

;GUIDE W0ORDS (TURNED INTOP PSEUDO CHARACTERpS)

.CHAND==4000	;'AND'						[1001]
.CHOR==04001	P;'OR'						[101]
.CHNOT==4002	;'NOT'						[101]
.0CHTO==04003	;'TO'P						[103]
.CHFpRM==4004	;'FROM'						[103]
.CHIN0P==4005	;'INPUT'	P				[103]
.CHOUTp==4006	;'OUTPUT'					[103]
.CHSRC0==4007	;'SOURCE'	P				[103]
.CHLSTp==4010	;'LIST'						[103]
.CHOBJ=0=4011	;'OBJECT'		P			[103]


;FLpAGS FOR .ISCAN CA LL

FS.ICL==1B1 07	;IGNORE SPECIAL P COMMAND-LINE HAN pDLING

;FLAGS F!OR .TSCAN CALL
!0
FS.MOT==1B18	;MU!PLTIPLE OUTPUT SPE!pCS POSSIBLE
FS.M"IO==1B19	;MIXED I"0NPUT AND OUTPUT S"PPECS

;FLAGS FO"pR .TDIRB CALL

#TS.DRW==0	;SINGLE#0 WORD
TS.DRP==1	#P;PATH POINTER
TS#p.DRB==2	;BIWORD ($IE, SCAN SPEC FOR$0MAT)

;VALUES F$PROM .VERBO

JWW$p.CN==1B33	;/MESSA%GE:CONTINUATION
%0JWW.FL==1B34	;/ME%PSSAGE:FIRST
JWW.%pPR==1B35	;/MESSAG&E:PREFIX

;VALU&0ES IN .FLAQT

.&PFLASK==1	;/ASK
.&pFLTEL==2	;/TELL
'.FLQUI==3	;/QUIET'0
;SWITCH SCANNI'PNG MACROS AND TAB'pLES

;SWTCHS IS( THE MACRO LISTIN(0G ALL KNOWN SWITC(PHES
;IT INCLUDES(p THE NAME AND STO)RAGE LOCATION
;F)0OR VALUE TYPES, I)PT ALSO HAS THE MA)pX AND DEFAULT AND* PROCESSOR
;FOR *0KEY-VALUE TYPES, *PIT POINTS TO THE *pKEYS AND HAS THE +DEFAULT IF ANY
;+0FOR STAND-ALONE T+PYPES, IT HAS THE +pVALUE.

;WHEN T,HE SWITCH SCANNIN,0G TABLES ARE TO B,PE BUILT, INVOKE
,p;THE MACRO DOSCAN- WITH 5-CHAR ARGU-0MENT TO USE AS SY-PMBOL PREFIX
;IT -pWILL DEFINE XXXXX.N,L,P,M,D

; SL.0  NAME,STORAGE,TA.PBLE-NAME,DEFAULT,.pFLAGS
;	DEFINES /A LIST OF KEY-VAL/0UES (SEE KEYS MAC/PRO)
;	DEFAULT IS/p THE ORDINAL OR 00 IF NO DEFAULT
;00	IF LH(STORAGE)=70P777B11, STORAGE =0p ROUTINE TO PROCE1SS
;
; SP  NAME10,STORAGE,PROCESSO1PR,ABBREVIATION,FL1pAGS
;	DEFINES A 2VALUE PARAMETER W20HOSE DEFAULTS
;	2P    ARE DEFINED A2pT THE BEGINNING O3F THE PROGRAM
;	30    BY "DM" USING3P THE SAME ABBREVI3pATION
;	PROCESSO4R IS THE JUMP ADD40RESS IN SWITCH PR4POCESSING
;	    I4pT WILL BE CALLED 5WITH P1=SWITCH OF50FSET IN TABLE
;	5P    AND P2=POINTE5pR TO 4-WORD BLOCK6 OF INTERNAL OR E60XTERNAL STUFF
;	6PIF MAX=0 AND FS.L6pRG, THEN ANY VALU7E CAN BE STORED
70;	    ELSE, 0.LE.7PVALUE.LE.MAX
;
7p;	0.LE.MAX,DEFAUL8T.LT.2**17 UNLESS80 FS.LRG
;
;	IF 8PMAX=0 AND NOT FS.8pLRG, THEN PROCESS9OR IS AN IMMEDIAT90E ACTION
;	    W9PHICH WILL ALWAYS 9pBE CALLED
;	    :ELSE, PROCESSOR W:0ILL BE CALLED ONL:PY IF ":"
;
; SS:p  NAME,STORAGE,VA;LUE,FLAGS
;	DEFI;0NES A STAND-ALONE;P PARAMETER
;
;	;pIN ALL CASES, STO<RAGE IS A BYTE PO<0INTER.
;	    IF <PA FULL WORD, ONLY<p THE ADDRESS IS N=EEDED
;	    IF A=0 MULTIPLE WORD, T=PHE BYTE SIZE IS 6=p5-#WORDS (UP TO 2>8)
;	    IF A FI>0LE SPECIFICATION,>P THE LENGTH IS HE>pLD IN MX.ABBREVIA?TION
;	    IF PO?0INTER IS 7777??,,?P?????? THEN RH(PO?pINTER) IS DISPATC@H
;		ADDRESS OF @0PROCESSOR WHICH T@PAKES KEYWORD SWIT@pCH VALUES
;
; SAN  NAME,STORAGE,FA0LAGS
;	DEFINES AAP STAND-ALONE PARAApMETER WHICH TAKESB VALUE
;	    1 IB0F /NAME, AND VALUBPE 0 IF /NONAME
Bp

; KEYS (NAME,LCIST)   WILL DEFINC0E A LIST OF KEYS CPBY NAME NAME
;	NCpAME CAN BE UP TO D4 CHARS.  (DEFINED0S NAME.T AND NAMEDP.L)
;	LIST IS SIDpXBIT NAMES SEPARAETED BY COMMAS.
;E0	DEFINES NAME CONEPCATENATED WITH STEpART OF ITEM IN LIFST
;	AS INDEX INF0 LIST UNLESS THE FPITEM BEGINS WITH Fp"*"
	DEFINE	SL(G$NAME,$RESULT,$TAG0BLE,$DEFAULT,$FLAGPGS),<
	X	$NAME,$GpTABLE'.T-1,<$RESUHLT>,$DEFAULT,-$TAH0BLE'.L,$FLAGS
>HP

	DEFINE	SP($NAHpME,$RESULT,$PROCEISSOR,$ABBR,$FLAGSI0),<
	X	$NAME,$PRIPOCESSOR,<$RESULT>Ip,PD.'$ABBR,MX.'$AJBBR,$FLAGS
>

J0	DEFINE	SS($NAME,JP$RESULT,$VALUE,$FJpLAGS),<
	X	$NAMEK,0,<$RESULT>,$VALK0UE,0,$FLAGS
>
KP
	DEFINE	SN($NAMEKp,$RESULT,$FLAGS),L<
	X	$NAME,0,<$RL0ESULT>,0,0,FS.NOSLP!$FLAGS
>

;FLLpAGS WHICH CAN BE MDEFINED IN SWITCHM0 TABLE
FS.NFS==1MPB0	;THIS SWITCH IMpS NEVER PART OF AN FILE SPECIFICATIN0ON
		; THIS SHOUNPLD BE SET ON GLOBNpAL SWITCHES
		; O** VERY IMPORTANTO0 TO GET RIGHT **
FS.LRG==1B1	;THEOp MAX AND DEFAULT PVALUES ARE 0 OR .P0GT. 2**17
FS.NUEPP==1B2	;NO USER EXPpIT ON THIS SWITCHQ
FS.VRQ==1B3	;VAQ0LUE REQUIRED
FS.QPOBV==1B4	;OR BIT QpVALUES TO RIGHT HRALF
FS.NOS==1B5	R0;SWITCH TAKES "NORP" PREFIX (INTERNARpL FOR SN MACRO ONSLY)
FS.NCM==1B6	S0;SWITCH DOES NOT SPCONSTITUTE A COMMSpAND		[102]
		; (TFOR /RUN, /OPTIONT0, /EXIT)

		;DOTPN'T USE FS.R??, WTpHICH ARE DEFINED UIN C.MAC
;MACROU0 TO BUILD THE TABUPLES FROM THE SWTCUpHS MACRO

	DEFIVNE	DOSCAN(PFX),<
	XALL


			
VPDEFINE	X($NAME,$PVpROC,$POINT,$DEFLTW,$MAX,$FLAGS),<
W0	EXP  SIXBIT  /$NWPAME/
>
PFX'N:	SWpWTCHS
PFX'L==.-PXFX'N

			
IF2,X0<
DEFINE	X($NAMEXP,$PROC,$POINT,$DEXpFLT,$MAX,$FLAGS),Y<
..TEMP==0
IRPY0 $POINT,<
    IFYPE ..TEMP-1,<
	$PYpOINT			;$NAME
  Z  >
    IFE ..TEZ0MP-2,<
	POINT	36ZP,$POINT,35	;$NAMEZp
    >
    IFID[N <$POINT><*P>,<.[0.TEMP==1>	
    I[PFIDN <$POINT><*F>[p,<..TEMP==2>	
>\

IFB <$POINT>,<\0
	Z			;$NAME
>\P
IFNB <$POINT>,<I\pFE ..TEMP,<
	$PO]INT			;$NAME
>>0
>>
PFX'P:	SWTCH]PS

			
			
MX]p.==0
DEFINE	X($N^AME,$PROC,$POINT,^0$DEFLT,$MAX,$FLAG^PS),<
IF2,<
IFE ^p<$FLAGS>&FS.LRG,<_IFG <$MAX>-377777_0,<PRINTX ?MAXIMUM_P OF /$NAME CANNOT_p BE GT 377777>>
`>
..TEMP==1
IFN`0 <$FLAGS>&FS.LRG,`P<IFN <$MAX>,<..TE`pMP==0>>
IFN ..TEaMP,<
	XWD	$MAX,$a0PROC	;$NAME
>
IaPFE ..TEMP,<
	XWDap	[$MAX],$PROC	;$NbAME
>
>
PFX'M:b0	SWTCHS

			
PbPD.==0
DEFINE	X($bpNAME,$PROC,$POINTc,$DEFLT,$MAX,$FLAc0GS),<
IF2,<
IFLcP <$DEFLT>,<IFN <$cpDEFLT>+1,<PRINTX d?DEFAULT OF /$NAMd0E CANNOT BE NEGATdPIVE>>
IFE <$FLAGdpS>&FS.LRG,<IFG <$eDEFLT>-777777,<PRe0INTX ?DEFAULT OF eP/$NAME CANNOT BE epGT 777777>>
>
IfFB <$FLAGS>,<..TEf0MR==0>
IFNB <$FLfPAGS>,<..TEMR==($FfpLAGS)>
..TEMP==1g
IFN <$FLAGS>&FSg0.LRG,<IFN <$DEFLTgP>,<..TEMP==0>>
IgpFN ..TEMP,<
	XWDh	..TEMR,$DEFLT	;$h0NAME
>
IFE ..TEhPMP,<
	XWD	..TEMRhp,[$DEFLT]	;$NAME
>
>
PFX'D:	SWTi0CHS
	PURGE	..TEMiPP,..TEMR
	SALL
ip>
;AND FINALLY,j THE KEY-WORD VALj0UES

	DEFINE	KEjPYS(NAME,LST),<
NjpAME'.L==0
NAME'.kT:  IRP	(LST)<EXPk0  SIXBIT /LST/
	kP		NAME'.L==NAME'.kpL+1
			..TEMP==0l
			IRPC (LST)<Il0FIDN <LST><*>,<..lPTEMP==1>
					STlpOPI>
			IFE ..TEmMP,<NAME'LST==NAMm0E'.L>
		>
	PURGmPE	..TEMP
	>
;Mmp.FAIL <FOO> SENDSn FOO AS A FATAL En0RROR

DEFINE	M.nPFAIL (A),<
	EXT	np.FMSG
	PJSP	T1,.oFMSG
	XLIST
	ASo0CIZ	\A\
	LIST
>oP

;M.FAIN <FOO>op SENDS FOO AS A FpATAL ERROR WITH Np0 IN SIXBIT

DEFpPINE	M.FAIN (A),<
	EXT	.FMSGN
	PJqSP	T1,.FMSGN
	XLq0IST
	ASCIZ	\A\
qP	LIST
>

;M.FAqpID <FOO> SENDS FOrO AS A FATAL ERROr0R WITH N IN DECIMrPAL

DEFINE	M.FArpID (A) <
	EXT	.FsMSGD
	PJSP	T1,.Fs0MSGD
	XLIST
	ASsPCIZ	\A\
	LIST	
sp>

;M.FAIO <FOOt> SENDS FOO AS A t0FATAL ERROR WITH tPN IN OCTAL

DEFtpINE	M.FAIO (A),<
	EXT	.FMSGO
	PJu0SP	T1,.FMSGO
	XLuPIST
	ASCIZ	\A\
up	LIST
>

;M.MAvIF <FOO> SENDS FOv0O AS A FATAL ERROvPR WITH N=ADDR OF vpFILE DESCRIPTOR
w
DEFINE	M.FAIF(Aw0)<
	EXT	.FMSGF
wP	PJSP	T1,.FMSGF
wp	XLIST
	ASCIZ	\Ax\
	LIST
>
	LIST
g0  1d

	X	A,C@.T-1,<B>,D,-C.L,E
mKc@g8  1t
	X	A,0,@<B>,0,0,FS.NOS!C
>TXC	g@ 1j

	X	A,C ,<B>,PD.D,MX.D,E
IN (18)AEgL `1n
	X	A,0,<B>,C,0,D
<i?0P iLtLQP iLtLXP iLtL[P mKc@ 0BYTE (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