Google
 

Trailing-Edge - PDP-10 Archives - BB-4157E-BM - fortran-tools/scnmac.unv
There are 80 other files named scnmac.unv in the archive. Click here to see a list.
x,5,@P I4 40;'
				ND	M4PX.A,B
				ND	A4pD.A,C
				ND	PD.A,D 7NI?87I?87 90<c
	XALL
9P

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

			
IF;02,<
DEFINE	X($NA;PME,$PROC,$POINT,$;pDEFLT,$MAX,$FLAGS<),<
..TEMP==0
I<0RP $POINT,<
    <PIFE ..TEMP-1,<
	<p$POINT			;$NAME
=    >
    IFE ..=0TEMP-2,<
	POINT	=P36,$POINT,35	;$NA=pME
    >
    IF>IDN <$POINT><*P>,>0<..TEMP==1>	
   >P IFIDN <$POINT><*>pF>,<..TEMP==2>	
?>

IFB <$POINT>?0,<
	Z			;$NAME
?P>
IFNB <$POINT>,?p<IFE ..TEMP,<
	$@POINT			;$NAME
>@0>
>>
AP:	SWTCH@PS

			
			
MX@p.==0
DEFINE	X($NAAME,$PROC,$POINT,A0$DEFLT,$MAX,$FLAGAPS),<
IF2,<
IFE Ap<$FLAGS>&FS.LRG,<BIFG <$MAX>-377777B0,<PRINTX ?MAXIMUMBP OF /$NAME CANNOTBp BE GT 377777>>
C>
..TEMP==1
IFNC0 <$FLAGS>&FS.LRG,CP<IFN <$MAX>,<..TECpMP==0>>
IFN ..TEDMP,<
	XWD	$MAX,$D0PROC	;$NAME
>
IDPFE ..TEMP,<
	XWDDp	[$MAX],$PROC	;$NEAME
>
>
AM:	SE0WTCHS

			
PD.EP==0
DEFINE	X($NAEpME,$PROC,$POINT,$FDEFLT,$MAX,$FLAGSF0),<
IF2,<
IFL <FP$DEFLT>,<IFN <$DEFpFLT>+1,<PRINTX ?DGEFAULT OF /$NAME G0CANNOT BE NEGATIVGPE>>
IFE <$FLAGS>Gp&FS.LRG,<IFG <$DEHFLT>-777777,<PRINH0TX ?DEFAULT OF /$HPNAME CANNOT BE GTHp 777777>>
>
IFBI <$FLAGS>,<..TEMRI0==0>
IFNB <$FLAGIPS>,<..TEMR==($FLAIpGS)>
..TEMP==1
JIFN <$FLAGS>&FS.LJ0RG,<IFN <$DEFLT>,JP<..TEMP==0>>
IFNJp ..TEMP,<
	XWD	.K.TEMR,$DEFLT	;$NAK0ME
>
IFE ..TEMPKP,<
	XWD	..TEMR,[Kp$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 Lp<y
A.L==0
A.T:  IRP	(B)<M0EXP  SIXBIT /B/
			A.L==A.L+1
			..TEMP==0
		N	IRPC (B)<IFIDN N0<B><*>,<..TEMP==NP1>
					STOPI>
Np			IFE ..TEMP,<AOB==A.L>
		>
	PURGE	..TEMP
	Z:42 Qp=
	EXT	.FMRSGD
	PJSP	T1,.FMR0SGD
	XLIST
	ASCRPIZ	\A\
	LIST	
Z:43 T0=)
	EXT	.FMTPSGF
	PJSP	T1,.FMTpSGF
	XLIST
	ASCUIZ	\A\
	LIST
Z:46 OP=
	EXT	.FMOpSG
	PJSP	T1,.FMSPG
	XLIST
	ASCIZ	\A\
	LIST
Z:47 PP=
	EXT	.FMPpSGN
	PJSP	T1,.FMQSGN
	XLIST
	ASCQ0IZ	\A\
	LIST
Z:47 S=
	EXT	.FMS0SGO
	PJSP	T1,.FMSPSGO
	XLIST
	ASCSpIZ	\A\
	LIST
guP o(M
	C
	LAo8LL
	UNIVERSAL SCoXNMA -- SCAN PARAoxMETERS FOR TOPS-pB


	SYN	IFE,Ip8F
	TOPS==B

	pXSEARCH	MACTEN	;GEpxT MACTEN MACROS
q%%MACTEN==%%MACTEq8N	;SHOW VERSION OqXF MACTEN


%%SqxCNM==VRSN. (SCM)

	PURGE	SCMWHO,r8SCMVER,SCMMIN,SCMrXEDT
;MACRO DEFIrxNITIONS OF GENERAsL USE

;DEFAULTs8S

;DM ABBREVIAsXTION,MAX,ADEFAULTsx,PDEFAULT
;	DEFItNES SYMBOLS MX.ABt8BREVIATION,AD.ABBtXREVIATION, AND PDtx.ABBREVIATION
;	uTO BE THE MAXIMUMu8 ALLOWED VALUE, TuXHE DEFAULT IF THEux KEYWORD
;	IS ABvSENT, AND THE DEFv8AULT IF THE KEYWOvXRD IS PRESENT RESvxPECTIVELY
;	UNLEwSS THE CORRESPONDw8ING SYMBOL IS ALRwXEADY DEFINED.

wx
	DEFINE	DM(ABBRx,MAX,ADEF,PDEF),<x8
				ND	MX.'ABBRxX,MAX
				ND	AD.'xxABBR,ADEF
				NDy	PD.'ABBR,PDEF>
y8
	;REVISION HISTOyXRY OF PARAMETER FyxILE

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

;50	zXADD SYMBOLS FOR AzxLL WORDS AND LENG{THS IN SCAN BLOCK{8
;	ADD FX.DFX, F{XX.TRM, AND .FXTRA{x,O,N,C.
;	OBSOLE|TE FX.ADD.
;51	A|8DD FX.NDV.
;52	M|XAKE USEABLE AS A |xUNIVERSAL FILE
;}%3(52)	DEC, 1972 }8WITH SCAN 3(173)

;53	ADD COMMEN}xTS TO .FX DEFINIT~IONS TO INDICATE ~8WHEN SET
;54	ADD~X DEFENSIVE PRINTX~x TO SWTCHS MACROS
;55	ADD FLAGS C8ONCEPT TO SWITCH XTABLES; ADD FS.NFxS
;56	AD FS.LRG TO HANDLE VALUES 8.GT. 2**17
;57	AXDD FS.MOT DEFINITxION FOR .TSCAN FLAGS
;60	ADD FLAG8S FOR .TDIRB CALLX
;61	ADD FLAG FSx.NUE
;62	CLEAN UP LISTING OF PAGE8 1
;63	ALLOW * IXN KEYS LISTS
;64x	ADD FX.PRT
;65	ADD FS.VRQ
;66	D8ELETE FX.ADD
;67X	TEST BAD ARGS ONxLY IN PASS2
;70	IMPROVE ON 67 SLI8GHTLY
;%4(70) DEXC, 73 WITH SCAN 4x(275)

;71	DEFINE FS.OBV
;72	DE8FINE JWW.??
;73	XDEFINE FS.MIO
;7x4	CORRECT OVERPROTECTION OF DEFAUL8T TO 377777,,7777X77
;75	ADD SN STxYLE SWITCHES
;76	ADD SCAN WORDS 284-31 AND FX.SUP
X;77	ADD OVERRIDE xON POINT ARGUMENT TO SWITCH MACROS8
;%5(77) JUN, 74X WITH SCAN 5(363)x

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

;101	ADD 	xGUIDE WORDS AS .C
HXXX: AND, OR, NO
8T
;102	CLARIFY F
XS.NFS; ADD FS.NCM
x
;103	ADD GUIDE WORDS 4002-4011
8;104	REMOVE ASK MXACRO (NEVER IMPLExMENTED)
;105	EXP
AND (AND MOVE) FX
8.DEN FOR 5.07/6.0
X2
;%7(105) OCT, 
x1974 WITH SCAN 7

;201	SIMPLIFYSSL(
;202	ADD .FLASK, .FLTEL, .FLQUI8
;203	ELIMINATE XSCNMAC.REL IF UNIxVERSAL
;204	UPDATE FOR TOPS-20
;8205	PRODUCE SEPERXATE .UNV FILES
x;WORDS IN FILE SPEC AREA

.FXZER8==0	;FIRST WORD IXN BLOCK (TOPS-10 xOR TOPS-20)

IF TOPS-10,<
.FXDE8V==0	;DEVICE   (NXON-ZERO IF ANY PAxRT OF SPEC)
.FXNAM==1	;NAME   (NO8N-ZERO IF NAME PRXESENT)
.FXNMM==2x	;NAME MASK
.FXEXT==3	;EXTENSION,8,EXTENSION MASK  X(NON-ZERO DOT PRExSENT)
.FXMOD==4	;MODIFIER WORD
.8FXMOM==5	;MODIFIEXR MASK
.FXDIR==6x	;DIRECTORY WORD   (EACH HALF=0 IF8 DEFAULT; SFD:0 IXF END)
.FXDIM==7x	;DIRECTORY MASK
.X==0		;TOPS-10 8OFFSET
> ;END TOXPS-10 CASE
IF TOxPS-20,<
.FXFIL==0	;FILE SPEC (^D286 WORD ASCIZ STRIXNG)
.FXJFN==^D26x	;JFN IF ANY
.FXPRO==^D27	;PROTEC8TION
.FXACT==^D2X8	;ACCOUNT STRINGx
.FXMOD==^D36	;MODIFIER WORD
.FX8MOM==^D37	;MODIFIXER MASK
.X==.FXMxOM-21	;TOPS-20 OFFSET
>
.FXBFR==822+.X	;/BEFORE
.XFXSNC==23+.X	;/SIxNCE
.FXABF==24+.X	;/ABEFORE
.FXA8SN==25+.X	;/ASINCXE
.FXFLI==26+.X	x;FILE MIN SIZE (WORDS)
.FXFLM==278+.X	;FILE MAX SIZXE (WORDS)
.FXESTx==30+.X	;/ESTIMATE
.FXVER==31+.X	8;/VERSION

;LENXGTHS OF FILE SPECx AREA
.FXLEN==32+.X	;LENGTH OF ON8E SPECIFICATION
XIF TOPS-10,<
.FXxLND==6	;LENGTH OF DIRECTORY (UFD+S8FD'S)
> ;END TOPXS-10
IF TOPS-20,x<
.FXLNF==^D26	; LENGTH OF FILE SP 8EC STRING
>
;B XYTES IN SCAN MOD  xWORD
IF TOPS-10,!<
FX.NDV==1B0	;N!8ULL DEVICE
FX.NU!XL==1B1	;NULL EXTE!xNSION
FX.DIR==1B"2	;DIRECTORY SPEC"8IFIED   (MOD=0 IF"X [-])
> ;END TOP"xS-10
FX.PHY==1B3#	;/PHYSICAL
FX.N#8OM==1B4	;/OKNONE
IF TOPS-10,<
FX#x.DFX==1B5	;DIRECT$ORY DOES NOT NEED$8 FIX-UP BY WILD
$X> ;END TOPS-10
I$xF TOPS-20,<
FX.T%MP==1B5	;FILE IS %8TEMP
>
FX.TRM==%X7B8	;CODE FOR SPE%xC'S TERMINATION
&	.FXTRA==1	;& (AN&8D)
	.FXTRO==2	;!&X (OR)
	.FXTRN==3&x	;- (NOT)
	.FXTR'C==4	;+ (CONCATEN'8ATE)
FX.STR==1B9'X	;/STRS
FX.PRT=='x1B10	;/OKPROT
FX(.SUP==1B11	;/ERSU(8PERSEDE

FX.DEN(X==7B23	;/DENSITY	(x				[105]
FX.PAR)==1B24	;/PARITY
)8IF TOPS-10,<
FX.)XPRO==777B35	;/PRO)xTECTION
> ;END T*OPS-10
;SPECIAL*8 CHARACTERS FOR S*XCAN
.CHALX==0	;A*xLTMODE
.CHEOL==-+1	;END OF LINE
.+8CHEOF==-2	;END OF+X FILE

;GUIDE W+xORDS (TURNED INTO, PSEUDO CHARACTER,8S)

.CHAND==400,X0	;'AND'						[10,x1]
.CHOR==04001	-;'OR'						[101]
.CHNOT==4002	;'N-XOT'						[101]
.-xCHTO==04003	;'TO'.						[103]
.CHF.8RM==4004	;'FROM'	.X					[103]
.CHIN.xP==4005	;'INPUT'	/				[103]
.CHOUT/8==4006	;'OUTPUT'	/X				[103]
.CHSRC/x==4007	;'SOURCE'	0				[103]
.CHLST08==4010	;'LIST'			0X			[103]
.CHOBJ=0x=4011	;'OBJECT'		1			[103]


;FL18AGS FOR .ISCAN CA1XLL

FS.ICL==1B11x7	;IGNORE SPECIAL2 COMMAND-LINE HAN28DLING

;FLAGS F2XOR .TSCAN CALL
2x
FS.MOT==1B18	;MU3LTIPLE OUTPUT SPE38CS POSSIBLE
FS.M3XIO==1B19	;MIXED I3xNPUT AND OUTPUT S4PECS

;FLAGS FO48R .TDIRB CALL

4XTS.DRW==0	;SINGLE4x WORD
TS.DRP==1	5;PATH POINTER
TS58.DRB==2	;BIWORD (5XIE, SCAN SPEC FOR5xMAT)

;VALUES F6ROM .VERBO

JWW68.CN==1B33	;/MESSA6XGE:CONTINUATION
6xJWW.FL==1B34	;/ME7SSAGE:FIRST
JWW.78PR==1B35	;/MESSAG7XE:PREFIX

;VALU7xES IN .FLAQT

.8FLASK==1	;/ASK
.88FLTEL==2	;/TELL
8X.FLQUI==3	;/QUIET8x
;SWITCH SCANNI9NG MACROS AND TAB98LES

;SWTCHS IS9X THE MACRO LISTIN9xG ALL KNOWN SWITC:HES
;IT INCLUDES:8 THE NAME AND STO:XRAGE LOCATION
;F:xOR VALUE TYPES, I;T ALSO HAS THE MA;8X AND DEFAULT AND;X PROCESSOR
;FOR ;xKEY-VALUE TYPES, <IT POINTS TO THE <8KEYS AND HAS THE <XDEFAULT IF ANY
;<xFOR STAND-ALONE T=YPES, IT HAS THE =8VALUE.

;WHEN T=XHE SWITCH SCANNIN=xG TABLES ARE TO B>E BUILT, INVOKE
>8;THE MACRO DOSCAN>X WITH 5-CHAR ARGU>xMENT TO USE AS SY?MBOL PREFIX
;IT ?8WILL DEFINE XXXXX?XN,L,P,M,D

; SL?x  NAME,STORAGE,TA@BLE-NAME,DEFAULT,@8FLAGS
;	DEFINES @XA LIST OF KEY-VAL@xUES (SEE KEYS MACARO)
;	DEFAULT ISA8 THE ORDINAL OR 0AX IF NO DEFAULT
;Ax	IF LH(STORAGE)=7B777B11, STORAGE =B8 ROUTINE TO PROCEBXSS
;
; SP  NAMEBx,STORAGE,PROCESSOCR,ABBREVIATION,FLC8AGS
;	DEFINES A CXVALUE PARAMETER WCxHOSE DEFAULTS
;	D    ARE DEFINED AD8T THE BEGINNING ODXF THE PROGRAM
;	Dx    BY "DM" USINGE THE SAME ABBREVIE8ATION
;	PROCESSOEXR IS THE JUMP ADDExRESS IN SWITCH PRFOCESSING
;	    IF8T WILL BE CALLED FXWITH P1=SWITCH OFFxFSET IN TABLE
;	G    AND P2=POINTEG8R TO 4-WORD BLOCKGX OF INTERNAL OR EGxXTERNAL STUFF
;	HIF MAX=0 AND FS.LH8RG, THEN ANY VALUHXE CAN BE STORED
Hx;	    ELSE, 0.LE.IVALUE.LE.MAX
;
I8;	0.LE.MAX,DEFAULIXT.LT.2**17 UNLESSIx FS.LRG
;
;	IF JMAX=0 AND NOT FS.J8LRG, THEN PROCESSJXOR IS AN IMMEDIATJxE ACTION
;	    WKHICH WILL ALWAYS K8BE CALLED
;	    KXELSE, PROCESSOR WKxILL BE CALLED ONLLY IF ":"
;
; SSL8  NAME,STORAGE,VALXLUE,FLAGS
;	DEFILxNES A STAND-ALONEM PARAMETER
;
;	M8IN ALL CASES, STOMXRAGE IS A BYTE POMxINTER.
;	    IF NA FULL WORD, ONLYN8 THE ADDRESS IS NNXEEDED
;	    IF ANx MULTIPLE WORD, TOHE BYTE SIZE IS 6O85-#WORDS (UP TO 2OX8)
;	    IF A FIOxLE SPECIFICATION,P THE LENGTH IS HEP8LD IN MX.ABBREVIAPXTION
;	    IF POPxINTER IS 7777??,,Q?????? THEN RH(POQ8INTER) IS DISPATCQXH
;		ADDRESS OF QxPROCESSOR WHICH TRAKES KEYWORD SWITR8CH VALUES
;
; SRXN  NAME,STORAGE,FRxLAGS
;	DEFINES AS STAND-ALONE PARAS8METER WHICH TAKESSX VALUE
;	    1 ISxF /NAME, AND VALUTE 0 IF /NONAME
T8

; KEYS (NAME,LTXIST)   WILL DEFINTxE A LIST OF KEYS UBY NAME NAME
;	NU8AME CAN BE UP TO UX4 CHARS.  (DEFINEUxS NAME.T AND NAMEV.L)
;	LIST IS SIV8XBIT NAMES SEPARAVXTED BY COMMAS.
;Vx	DEFINES NAME CONWCATENATED WITH STW8ART OF ITEM IN LIWXST
;	AS INDEX INWx LIST UNLESS THE XITEM BEGINS WITH X8"*"
	DEFINE	SL(XX$NAME,$RESULT,$TAXxBLE,$DEFAULT,$FLAYGS),<
	X	$NAME,$Y8TABLE'.T-1,<$RESUYXLT>,$DEFAULT,-$TAYxBLE'.L,$FLAGS
>Z

	DEFINE	SP($NAZ8ME,$RESULT,$PROCEZXSSOR,$ABBR,$FLAGSZx),<
	X	$NAME,$PR[OCESSOR,<$RESULT>[8,PD.'$ABBR,MX.'$A[XBBR,$FLAGS
>

[x	DEFINE	SS($NAME,\$RESULT,$VALUE,$F\8LAGS),<
	X	$NAME\X,0,<$RESULT>,$VAL\xUE,0,$FLAGS
>
]
	DEFINE	SN($NAME]8,$RESULT,$FLAGS),]X<
	X	$NAME,0,<$R]xESULT>,0,0,FS.NOS^!$FLAGS
>

;FL^8AGS WHICH CAN BE ^XDEFINED IN SWITCH^x TABLE
FS.NFS==1_B0	;THIS SWITCH I_8S NEVER PART OF A_X FILE SPECIFICATI_xON
		; THIS SHOU`LD BE SET ON GLOB`8AL SWITCHES
		; `X** VERY IMPORTANT`x TO GET RIGHT **
FS.LRG==1B1	;THEa8 MAX AND DEFAULT aXVALUES ARE 0 OR .axGT. 2**17
FS.NUEb==1B2	;NO USER EXb8IT ON THIS SWITCHbX
FS.VRQ==1B3	;VAbxLUE REQUIRED
FS.cOBV==1B4	;OR BIT c8VALUES TO RIGHT HcXALF
FS.NOS==1B5	cx;SWITCH TAKES "NOd" PREFIX (INTERNAd8L FOR SN MACRO ONdXLY)
FS.NCM==1B6	dx;SWITCH DOES NOT eCONSTITUTE A COMMe8AND		[102]
		; (eXFOR /RUN, /OPTIONex, /EXIT)

		;DOfN'T USE FS.R??, Wf8HICH ARE DEFINED fXIN C.MAC
;MACROfx TO BUILD THE TABgLES FROM THE SWTCg8HS MACRO

	DEFIgXNE	DOSCAN(PFX),<
	XALL


			
hDEFINE	X($NAME,$Ph8ROC,$POINT,$DEFLThX,$MAX,$FLAGS),<
hx	EXP  SIXBIT  /$NiAME/
>
PFX'N:	Si8WTCHS
PFX'L==.-PiXFX'N

			
IF2,ix<
DEFINE	X($NAMEj,$PROC,$POINT,$DEj8FLT,$MAX,$FLAGS),jX<
..TEMP==0
IRPjx $POINT,<
    IFkE ..TEMP-1,<
	$Pk8OINT			;$NAME
  kX  >
    IFE ..TEkxMP-2,<
	POINT	36l,$POINT,35	;$NAMEl8
    >
    IFIDlXN <$POINT><*P>,<.lx.TEMP==1>	
    ImFIDN <$POINT><*F>m8,<..TEMP==2>	
>mX

IFB <$POINT>,<mx
	Z			;$NAME
>n
IFNB <$POINT>,<In8FE ..TEMP,<
	$POnXINT			;$NAME
>>x
>>
PFX'P:	SWTCHoS

			
			
MXo8.==0
DEFINE	X($NoXAME,$PROC,$POINT,ox$DEFLT,$MAX,$FLAGpS),<
IF2,<
IFE p8<$FLAGS>&FS.LRG,<pXIFG <$MAX>-377777px,<PRINTX ?MAXIMUMq OF /$NAME CANNOTq8 BE GT 377777>>
qX>
..TEMP==1
IFNqx <$FLAGS>&FS.LRG,r<IFN <$MAX>,<..TEr8MP==0>>
IFN ..TErXMP,<
	XWD	$MAX,$rxPROC	;$NAME
>
IsFE ..TEMP,<
	XWDs8	[$MAX],$PROC	;$NsXAME
>
>
PFX'M:sx	SWTCHS

			
PtD.==0
DEFINE	X($t8NAME,$PROC,$POINTtX,$DEFLT,$MAX,$FLAtxGS),<
IF2,<
IFLu <$DEFLT>,<IFN <$u8DEFLT>+1,<PRINTX uX?DEFAULT OF /$NAMuxE CANNOT BE NEGATvIVE>>
IFE <$FLAGv8S>&FS.LRG,<IFG <$vXDEFLT>-777777,<PRvxINTX ?DEFAULT OF w/$NAME CANNOT BE w8GT 777777>>
>
IwXFB <$FLAGS>,<..TEwxMR==0>
IFNB <$FLxAGS>,<..TEMR==($Fx8LAGS)>
..TEMP==1xX
IFN <$FLAGS>&FSxx.LRG,<IFN <$DEFLTy>,<..TEMP==0>>
Iy8FN ..TEMP,<
	XWDyX	..TEMR,$DEFLT	;$yxNAME
>
IFE ..TEzMP,<
	XWD	..TEMRz8,[$DEFLT]	;$NAME
>
>
PFX'D:	SWTzxCHS
	PURGE	..TEM{P,..TEMR
	SALL
{8>
;AND FINALLY,{X THE KEY-WORD VAL{xUES

	DEFINE	KE|YS(NAME,LST),<
N|8AME'.L==0
NAME'.|XT:  IRP	(LST)<EXP|x  SIXBIT /LST/
	}		NAME'.L==NAME'.}8L+1
			..TEMP==0}X
			IRPC (LST)<I}xFIDN <LST><*>,<..~TEMP==1>
					ST~8OPI>
			IFE ..TE~XMP,<NAME'LST==NAM~xE'.L>
		>
	PURGE	..TEMP
	>
;M8.FAIL <FOO> SENDSX FOO AS A FATAL ExRROR

DEFINE	M.FAIL (A),<
	EXT	8.FMSG
	PJSP	T1,.XFMSG
	XLIST
	ASxCIZ	\A\
	LIST
>

;M.FAIN <FOO>8 SENDS FOO AS A FXATAL ERROR WITH Nx IN SIXBIT

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

;M.FA8ID <FOO> SENDS FOXO AS A FATAL ERROxR WITH N IN DECIMAL

DEFINE	M.FA8ID (A) <
	EXT	.FXMSGD
	PJSP	T1,.FxMSGD
	XLIST
	ASCIZ	\A\
	LIST	
8>

;M.FAIO <FOOX> SENDS FOO AS A xFATAL ERROR WITH N IN OCTAL

DEF8INE	M.FAIO (A),<
	EXT	.FMSGO
	PJxSP	T1,.FMSGO
	XLIST
	ASCIZ	\A\
8	LIST
>

;M.MAXIF <FOO> SENDS FOxO AS A FATAL ERROR WITH N=ADDR OF 8FILE DESCRIPTOR
X
DEFINE	M.FAIF(Ax)<
	EXT	.FMSGF
		PJSP	T1,.FMSGF
	8	XLIST
	ASCIZ	\A	X\
	LIST
>
	LIST
g0 6;3

	X	A,C68.T-1,<B>,D,-C.L,E
`tI\Q 7Yg8 8;C
	X	A,0,88<B>,0,0,FS.NOS!C
;*M`v
WPg@ 6x;9

	X	A,C7,<B>,PD.D,MX.D,E
MLuZ7PgL 7X;=
	X	A,0,<B>,C,0,D
*i?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