Google
 

Trailing-Edge - PDP-10 Archives - BB-4172H-BM - new-subsys/scnm20.unv
There are 10 other files named scnm20.unv in the archive. Click here to see a list.
x,5)@P I4 P@
				ND	MxX.A,B
				ND	AD.A,C
				ND	PD.A,D				ND	PI?87 @A<
	XALL
`

			
DEFINE	X($NAME,$PROC,$POIN T,$DEFLT,$MAX,$FL@AGS),<
	EXP  SIX`BIT  /$NAME/
>
AN:	SWTCHS
AL= =.-AN

			
IF@2,<
DEFINE	X($NA`ME,$PROC,$POINT,$DEFLT,$MAX,$FLAGS ),<
..TEMP==0
I@RP $POINT,<
    `IFE ..TEMP-1,<
	$POINT			;$NAME
     >
    IFE ..@TEMP-2,<
	POINT	`36,$POINT,35	;$NA	ME
    >
    IF	 IDN <$POINT><*P>,	@<..TEMP==1>	
   	` IFIDN <$POINT><*
F>,<..TEMP==2>	

 >

IFB <$POINT>
@,<
	Z			;$NAME

`>
IFNB <$POINT>,<IFE ..TEMP,<
	$ POINT			;$NAME
>@>
>>
AP:	SWTCH`S

			
			
MX
.==0
DEFINE	X($N
 AME,$PROC,$POINT,
@$DEFLT,$MAX,$FLAG
`S),<
IF2,<
IFEFAGS>&FS.LRG,< BE GT 377777>>
 >
..TEMP==1
IFN@ <$FLAGS>&FS.LRG,`<IFN <$MAX>,<..TEMP==0>>
IFN ..TE MP,<
	XWD	$MAX,$@PROC	;$NAME
>
I`FE ..TEMP,<
	XWD	[$MAX],$PROC	;$N AME
>
>
AM:	S@WTCHS

			
PD.`==0
DEFINE	X($NAME,$PROC,$POINT,$ DEFLT,$MAX,$FLAGS@),<
IF2,<
IFL <`$DEFLT>,<IFN <$DEFLT>+1,<PRINTX ?D EFAULT OF /$NAME @CANNOT BE NEGATIV`E>>
IFE <$FLAGS>&FS.LRG,<IFG <$DE FLT>-777777,<PRIN@TX ?DEFAULT OF /$`NAME CANNOT BE GT 777777>>
>
IFB  <$FLAGS>,<..TEMR@==0>
IFNB <$FLAG`S>,<..TEMR==($FLAGS)>
..TEMP==1
 IFN <$FLAGS>&FS.L@RG,<IFN <$DEFLT>,`<..TEMP==0>>
IFN ..TEMP,<
	XWD	. .TEMR,$DEFLT	;$NA@ME
>
IFE ..TEMP`,<
	XWD	..TEMR,[$DEFLT]	;$NAME
> 
>
AD:	SWTCHS
	PURGE	..TEMP,..TEMR
	SALL
..MLuvQ MLuLSQ  MLuZ7P"MLu[zP$MLuhvQ MLuiYQ @MLukyQ MLum2Q MLux[Q MLvlXQ M`tI7P pM`ukvQ M`v9P M`v
Q M`v
ZQ M`v=Q M`v=8Q M`vK8Q M`vLVQ `S	 S(U_9hwP U_9iVP U_9lP WN0 AR
A.L==0
A.T:  IRP	(B)<@EXP  SIXBIT /B/
			A.L==A.L+1
			..TEMP==0
		 	IRPC (B)<IFIDN @<B><*>,<..TEMP==`1>
					STOPI>
			IFE ..TEMP,<A B==A.L>
		>
	PURGE	..TEMP
	Z:42 An
	EXT	.FM SGD
	PJSP	T1,.FM@SGD
	XLIST
	ASC`IZ	\A\
	LIST	
	\A\
	LIST	
Z:43 @B
	EXT	.FM`SGF
	PJSP	T1,.FM SGF
	XLIST
	ASC  IZ	\A\
	LIST
Z	\A\
	LIST
Z:46 `AZ
	EXT	.FMSG
	PJSP	T1,.FMS G
	XLIST
	ASCIZ	\A\
	LIST
ZZ:47 `Ad
	EXT	.FMSGN
	PJSP	T1,.FM SGN
	XLIST
	ASC@IZ	\A\
	LIST
Z	\A\
	LIST
Z:47  Ax
	EXT	.FM@SGO
	PJSP	T1,.FM`SGO
	XLIST
	ASCIZ	\A\
	LIST
Z	\A\
	LIST
guP  )^
	C
	LA@LL
	UNIVERSAL SC`NMA -- SCAN PARAMETERS FOR TOPS- B


	SYN	IFE,I@F
	TOPS==B

	`SEARCH	MACTEN	;GET MACTEN MACROS
 %%MACTEN==%%MACTE@N	;SHOW VERSION O`F MACTEN


%%SCNM==VRSN. (SCM)

	PURGE	SCMWHO,@SCMVER,SCMMIN,SCM`EDT
;MACRO DEFINITIONS OF GENERA L USE

;DEFAULT@S

;DM ABBREVIA`TION,MAX,ADEFAULT,PDEFAULT
;	DEFI NES SYMBOLS MX.AB@BREVIATION,AD.ABB`REVIATION, AND PD.ABBREVIATION
;	 TO BE THE MAXIMUM@ ALLOWED VALUE, T`HE DEFAULT IF THE KEYWORD
;	IS AB SENT, AND THE DEF@AULT IF THE KEYWO`RD IS PRESENT RES	PECTIVELY
;	UNLE	 SS THE CORRESPOND	@ING SYMBOL IS ALR	`EADY DEFINED.



	DEFINE	DM(ABBR
 ,MAX,ADEF,PDEF),<
@
				ND	MX.'ABBR
`,MAX
				ND	AD.'ABBR,ADEF
				ND 	PD.'ABBR,PDEF>
@
	;REVISION HISTO`RY OF PARAMETER F
ILE

;%2(47)  M
 AY, 1972, WITH SC
@AN 2(127)

;50	
`ADDWSYMBOLSDFORNA
;	ADDMFX.DFX,FFRA,O,N,C.
;	OBSOLE TE FX.ADD.
;51	A@DD FX.NDV.
;52	M`AKE USEABLE AS A UNIVERSAL FILE
; %3(52)	DEC, 1972 @WITH SCAN 3(173)

;53	ADD COMMENTS TO .FX DEFINIT IONS TO INDICATE @WHEN SET
;54	ADD` DEFENSIVE PRINTX TO SWTCHS MACROS 
;55	ADD FLAGS C@ONCEPT TO SWITCH `TABLES; ADD FS.NFS
;56	AD FS.LRG  TO HANDLE VALUES @.GT. 2**17
;57	A`DD FS.MOT DEFINITION FOR .TSCAN FL AGS
;60	ADD FLAG@S FOR .TDIRB CALL`
;61	ADD FLAG FS.NUE
;62	CLEAN U P LISTING OF PAGE@ 1
;63	ALLOW * I`N KEYS LISTS
;64	ADD FX.PRT
;65	 ADD FS.VRQ
;66	D@ELETE FX.ADD
;67`	TEST BAD ARGS ONLY IN PASS2
;70	 IMPROVE ON 67 SLI@GHTLY
;%4(70) DE`C, 73 WITH SCAN 4(275)

;71	DEFI NE FS.OBV
;72	DE@FINE JWW.??
;73	`DEFINE FS.MIO
;74	CORRECT OVERPRO TECTION OF DEFAUL@T TO 377777,,7777`77
;75	ADD SN STYLE SWITCHES
;76 	ADD SCAN WORDS 2@4-31 AND FX.SUP
`;77	ADD OVERRIDE ON POINT ARGUMENT  TO SWITCH MACROS@
;%5(77) JUN, 74` WITH SCAN 5(363)

;100	DEFINE F S.ICL
;%6(100) J@ULY, 1974 WITH SC`AN 6

;101	ADD GUIDE WORDS AS .C HXXX: AND, OR, NO@T
;102	CLARIFY F`S.NFS; ADD FS.NCM
;103	ADD GUIDE  WORDS 4002-4011
@;104	REMOVE ASK M`ACRO (NEVER IMPLEMENTED)
;105	EXP AND (AND MOVE) FX@.DEN FOR 5.07/6.0`2
;%7(105) OCT, 1974 WITH SCAN 7

;201	SIMPLIFY @DOSCAN ANALYSIS (`NO CHANGE IN CALL )
;202	ADD .FLAS  K, .FLTEL, .FLQUI @
;203	ELIMINATE  `SCNMAC.REL IF UNI!VERSAL
;204	UPDA! TE FOR TOPS-20
;!@205	PRODUCE SEPER!`ATE .UNV FILES
";WORDS IN FILE SP" EC AREA

.FXZER"@==0	;FIRST WORD I"`N BLOCK (TOPS-10 #OR TOPS-20)

IF#  TOPS-10,<
.FXDE#@V==0	;DEVICE   (N#`ON-ZERO IF ANY PA$RT OF SPEC)
.FXN$ AM==1	;NAME   (NO$@N-ZERO IF NAME PR$`ESENT)
.FXNMM==2%	;NAME MASK
.FXE% XT==3	;EXTENSION,%@,EXTENSION MASK  %`(NON-ZERO DOT PRE&SENT)
.FXMOD==4	& ;MODIFIER WORD
.&@FXMOM==5	;MODIFIE&`R MASK
.FXDIR==6'	;DIRECTORY WORD '   (EACH HALF=0 IF'@ DEFAULT; SFD:0 I'`F END)
.FXDIM==7(	;DIRECTORY MASK
.X==0		;TOPS-10 (@OFFSET
> ;END TO(`PS-10 CASE
IF TO)PS-20,<
.FXFIL==) 0	;FILE SPEC (^D2)@6 WORD ASCIZ STRI)`NG)
.FXJFN==^D26*	;JFN IF ANY
.FX* PRO==^D27	;PROTEC*@TION
.FXACT==^D2*`8	;ACCOUNT STRING+
.FXMOD==^D36	;M+ ODIFIER WORD
.FX+@MOM==^D37	;MODIFI+`ER MASK
.X==.FXM,OM-21	;TOPS-20 OF, FSET
>
.FXBFR==,@22+.X	;/BEFORE
.,`FXSNC==23+.X	;/SI-NCE
.FXABF==24+.- X	;/ABEFORE
.FXA-@SN==25+.X	;/ASINC-`E
.FXFLI==26+.X	.;FILE MIN SIZE (W. ORDS)
.FXFLM==27.@+.X	;FILE MAX SIZ.`E (WORDS)
.FXEST/==30+.X	;/ESTIMAT/ E
.FXVER==31+.X	/@;/VERSION

;LEN/`GTHS OF FILE SPEC0 AREA
.FXLEN==320 +.X	;LENGTH OF ON0@E SPECIFICATION
0`IF TOPS-10,<
.FX1LND==6	;LENGTH OF1  DIRECTORY (UFD+S1@FD'S)
> ;END TOP1`S-10
IF TOPS-20,2<
.FXLNF==^D26	;2 LENGTH OF FILE SP2@EC STRING
>
;B2`YTES IN SCAN MOD 3WORD
IF TOPS-10,3 <
FX.NDV==1B0	;N3@ULL DEVICE
FX.NU3`L==1B1	;NULL EXTE4NSION
FX.DIR==1B4 2	;DIRECTORY SPEC4@IFIED   (MOD=0 IF4` [-])
> ;END TOP5S-10
FX.PHY==1B35 	;/PHYSICAL
FX.N5@OM==1B4	;/OKNONE
IF TOPS-10,<
FX6.DFX==1B5	;DIRECT6 ORY DOES NOT NEED6@ FIX-UP BY WILD
6`> ;END TOPS-10
I7F TOPS-20,<
FX.T7 MP==1B5	;FILE IS 7@TEMP
>
FX.TRM==7`7B8	;CODE FOR SPE8C'S TERMINATION
8 	.FXTRA==1	;& (AN8@D)
	.FXTRO==2	;!8` (OR)
	.FXTRN==39	;- (NOT)
	.FXTR9 C==4	;+ (CONCATEN9@ATE)
FX.STR==1B99`	;/STRS
FX.PRT==:1B10	;/OKPROT
FX: .SUP==1B11	;/ERSU:@PERSEDE

FX.DEN:`==7B23	;/DENSITY	;				[105]
FX.PAR; ==1B24	;/PARITY
;@IF TOPS-10,<
FX.;`PRO==777B35	;/PRO<TECTION
> ;END T< OPS-10
;SPECIAL<@ CHARACTERS FOR S<`CAN
.CHALX==0	;A=LTMODE
.CHEOL==-= 1	;END OF LINE
.=@CHEOF==-2	;END OF=` FILE

;GUIDE W>ORDS (TURNED INTO>  PSEUDO CHARACTER>@S)

.CHAND==400>`0	;'AND'						[10?1]
.CHOR==04001	? ;'OR'						[101]
.CHNOT==4002	;'N?`OT'						[101]
.@CHTO==04003	;'TO'@ 						[103]
.CHF@@RM==4004	;'FROM'	@`					[103]
.CHINAP==4005	;'INPUT'	A 				[103]
.CHOUTA@==4006	;'OUTPUT'	A`				[103]
.CHSRCB==4007	;'SOURCE'	B 				[103]
.CHLSTB@==4010	;'LIST'			B`			[103]
.CHOBJ=C=4011	;'OBJECT'		C 			[103]


;FLC@AGS FOR .ISCAN CAC`LL

FS.ICL==1B1D7	;IGNORE SPECIALD  COMMAND-LINE HAND@DLING

;FLAGS FD`OR .TSCAN CALL
E
FS.MOT==1B18	;MUE LTIPLE OUTPUT SPEE@CS POSSIBLE
FS.ME`IO==1B19	;MIXED IFNPUT AND OUTPUT SF PECS

;FLAGS FOF@R .TDIRB CALL

F`TS.DRW==0	;SINGLEG WORD
TS.DRP==1	G ;PATH POINTER
TSG@.DRB==2	;BIWORD (G`IE, SCAN SPEC FORHMAT)

;VALUES FH ROM .VERBO

JWWH@.CN==1B33	;/MESSAH`GE:CONTINUATION
IJWW.FL==1B34	;/MEI SSAGE:FIRST
JWW.I@PR==1B35	;/MESSAGI`E:PREFIX

;VALUJES IN .FLAQT

.J FLASK==1	;/ASK
.J@FLTEL==2	;/TELL
J`.FLQUI==3	;/QUIETK
;SWITCH SCANNIK NG MACROS AND TABK@LES

;SWTCHS ISK` THE MACRO LISTINLG ALL KNOWN SWITCL HES
;IT INCLUDESL@ THE NAME AND STOL`RAGE LOCATION
;FMOR VALUE TYPES, IM T ALSO HAS THE MAM@X AND DEFAULT ANDM` PROCESSOR
;FOR NKEY-VALUE TYPES, N IT POINTS TO THE N@KEYS AND HAS THE N`DEFAULT IF ANY
;OFOR STAND-ALONE TO YPES, IT HAS THE O@VALUE.

;WHEN TO`HE SWITCH SCANNINPG TABLES ARE TO BP E BUILT, INVOKE
P@;THE MACRO DOSCANP` WITH 5-CHAR ARGUQMENT TO USE AS SYQ MBOL PREFIX
;IT Q@WILL DEFINE XXXXXQ`N,L,P,M,D

; SLR  NAME,STORAGE,TAR BLE-NAME,DEFAULT,R@FLAGS
;	DEFINES R`A LIST OF KEY-VALSUES (SEE KEYS MACS RO)
;	DEFAULT ISS@ THE ORDINAL OR 0S` IF NO DEFAULT
;T	IF LH(STORAGE)=7T 777B11, STORAGE =T@ ROUTINE TO PROCET`SS
;
; SP  NAMEU,STORAGE,PROCESSOU R,ABBREVIATION,FLU@AGS
;	DEFINES A U`VALUE PARAMETER WVHOSE DEFAULTS
;	V     ARE DEFINED AV@T THE BEGINNING OV`F THE PROGRAM
;	W    BY "DM" USINGW  THE SAME ABBREVIW@ATION
;	PROCESSOW`R IS THE JUMP ADDXRESS IN SWITCH PRX OCESSING
;	    IX@T WILL BE CALLED X`WITH P1=SWITCH OFYFSET IN TABLE
;	Y     AND P2=POINTEY@R TO 4-WORD BLOCKY` OF INTERNAL OR EZXTERNAL STUFF
;	Z IF MAX=0 AND FS.LZ@RG, THEN ANY VALUZ`E CAN BE STORED
[;	    ELSE, 0.LE.[ VALUE.LE.MAX
;
[@;	0.LE.MAX,DEFAUL[`T.LT.2**17 UNLESS\ FS.LRG
;
;	IF \ MAX=0 AND NOT FS.\@LRG, THEN PROCESS\`OR IS AN IMMEDIAT]E ACTION
;	    W] HICH WILL ALWAYS ]@BE CALLED
;	    ]`ELSE, PROCESSOR W^ILL BE CALLED ONL^ Y IF ":"
;
; SS^@  NAME,STORAGE,VA^`LUE,FLAGS
;	DEFI_NES A STAND-ALONE_  PARAMETER
;
;	_@IN ALL CASES, STO_`RAGE IS A BYTE PO`INTER.
;	    IF ` A FULL WORD, ONLY`@ THE ADDRESS IS N``EEDED
;	    IF Aa MULTIPLE WORD, Ta HE BYTE SIZE IS 6a@5-#WORDS (UP TO 2a`8)
;	    IF A FIbLE SPECIFICATION,b  THE LENGTH IS HEb@LD IN MX.ABBREVIAb`TION
;	    IF POcINTER IS 7777??,,c ?????? THEN RH(POc@INTER) IS DISPATCc`H
;		ADDRESS OF dPROCESSOR WHICH Td AKES KEYWORD SWITd@CH VALUES
;
; Sd`N  NAME,STORAGE,FeLAGS
;	DEFINES Ae  STAND-ALONE PARAe@METER WHICH TAKESe` VALUE
;	    1 IfF /NAME, AND VALUf E 0 IF /NONAME
f@

; KEYS (NAME,Lf`IST)   WILL DEFINgE A LIST OF KEYS g BY NAME NAME
;	Ng@AME CAN BE UP TO g`4 CHARS.  (DEFINEhS NAME.T AND NAMEh .L)
;	LIST IS SIh@XBIT NAMES SEPARAh`TED BY COMMAS.
;i	DEFINES NAME CONi CATENATED WITH STi@ART OF ITEM IN LIi`ST
;	AS INDEX INj LIST UNLESS THE j ITEM BEGINS WITH j@"*"
	DEFINE	SL(j`$NAME,$RESULT,$TAkBLE,$DEFAULT,$FLAk GS),<
	X	$NAME,$k@TABLE'.T-1,<$RESUk`LT>,$DEFAULT,-$TAlBLE'.L,$FLAGS
>l 

	DEFINE	SP($NAl@ME,$RESULT,$PROCEl`SSOR,$ABBR,$FLAGSm),<
	X	$NAME,$PRm OCESSOR,<$RESULT>m@,PD.'$ABBR,MX.'$Am`BBR,$FLAGS
>

n	DEFINE	SS($NAME,n $RESULT,$VALUE,$Fn@LAGS),<
	X	$NAMEn`,0,<$RESULT>,$VALoUE,0,$FLAGS
>
o 
	DEFINE	SN($NAMEo@,$RESULT,$FLAGS),o`<
	X	$NAME,0,<$RpESULT>,0,0,FS.NOSp !$FLAGS
>

;FLp@AGS WHICH CAN BE p`DEFINED IN SWITCHq TABLE
FS.NFS==1q B0	;THIS SWITCH Iq@S NEVER PART OF Aq` FILE SPECIFICATIrON
		; THIS SHOUr LD BE SET ON GLOBr@AL SWITCHES
		; r`** VERY IMPORTANTs TO GET RIGHT **
FS.LRG==1B1	;THEs@ MAX AND DEFAULT s`VALUES ARE 0 OR .tGT. 2**17
FS.NUEt ==1B2	;NO USER EXt@IT ON THIS SWITCHt`
FS.VRQ==1B3	;VAuLUE REQUIRED
FS.u OBV==1B4	;OR BIT u@VALUES TO RIGHT Hu`ALF
FS.NOS==1B5	v;SWITCH TAKES "NOv " PREFIX (INTERNAv@L FOR SN MACRO ONv`LY)
FS.NCM==1B6	w;SWITCH DOES NOT w CONSTITUTE A COMMw@AND		[102]
		; (w`FOR /RUN, /OPTIONx, /EXIT)

		;DOx N'T USE FS.R??, Wx@HICH ARE DEFINED x`IN C.MAC
;MACROy TO BUILD THE TABy LES FROM THE SWTCy@HS MACRO

	DEFIy`NE	DOSCAN(PFX),<
	XALL


			
z DEFINE	X($NAME,$Pz@ROC,$POINT,$DEFLTz`,$MAX,$FLAGS),<
{	EXP  SIXBIT  /$N{ AME/
>
PFX'N:	S{@WTCHS
PFX'L==.-P{`FX'N

			
IF2,|<
DEFINE	X($NAME| ,$PROC,$POINT,$DE|@FLT,$MAX,$FLAGS),|`<
..TEMP==0
IRP} $POINT,<
    IF} E ..TEMP-1,<
	$P}@OINT			;$NAME
  }`  >
    IFE ..TE~MP-2,<
	POINT	36~ ,$POINT,35	;$NAME~@
    >
    IFID~`N <$POINT><*P>,<..TEMP==1>	
    I FIDN <$POINT><*F>@,<..TEMP==2>	
>`

IFB <$POINT>,<
	Z			;$NAME
> 
IFNB <$POINT>,<I@FE ..TEMP,<
	$PO`INT			;$NAME
>>
>>
PFX'P:	SWTCH S

			
			
MX@.==0
DEFINE	X($N`AME,$PROC,$POINT,$DEFLT,$MAX,$FLAG S),<
IF2,<
IFE @<$FLAGS>&FS.LRG,<`IFG <$MAX>-377777,<PRINTX ?MAXIMUM  OF /$NAME CANNOT@ BE GT 377777>>
`>
..TEMP==1
IFN <$FLAGS>&FS.LRG, <IFN <$MAX>,<..TE@MP==0>>
IFN ..TE`MP,<
	XWD	$MAX,$PROC	;$NAME
>
I FE ..TEMP,<
	XWD@	[$MAX],$PROC	;$N`AME
>
>
PFX'M:	SWTCHS

			
P D.==0
DEFINE	X($@NAME,$PROC,$POINT`,$DEFLT,$MAX,$FLAGS),<
IF2,<
IFL  <$DEFLT>,<IFN <$@DEFLT>+1,<PRINTX `?DEFAULT OF /$NAME CANNOT BE NEGAT IVE>>
IFE <$FLAG@S>&FS.LRG,<IFG <$`DEFLT>-777777,<PR	INTX ?DEFAULT OF 	 /$NAME CANNOT BE 	@GT 777777>>
>
I	`FB <$FLAGS>,<..TE
MR==0>
IFNB <$FL
 AGS>,<..TEMR==($F
@LAGS)>
..TEMP==1
`
IFN <$FLAGS>&FS.LRG,<IFN <$DEFLT >,<..TEMP==0>>
I@FN ..TEMP,<
	XWD`	..TEMR,$DEFLT	;$
NAME
>
IFE ..TE
 MP,<
	XWD	..TEMR
@,[$DEFLT]	;$NAME
`
>
>
PFX'D:	SWT
	PURGE	..TEM
	SALL
>
;ANDEFINALLY, VALUES

	DEFINE	KE YS(NAME,LST),<
N@AME'.L==0
NAME'.`T:  IRP	(LST)<EXP  SIXBIT /LST/
	 		NAME'.L==NAME'.@L+1
			..TEMP==0`
			IRPC (LST)<IFIDN <LST><*>,<.. TEMP==1>
					ST@OPI>
			IFE ..TE`MP,<NAME'LST==NAME'.L>
		>
	PURG E	..TEMP
	>
;M@.FAIL <FOO> SENDS` FOO AS A FATAL ERROR

DEFINE	M. FAIL (A),<
	EXT	@.FMSG
	PJSP	T1,.`FMSG
	XLIST
	ASCIZ	\A\
	LIST
> 

;M.FAIN <FOO>@ SENDS FOO AS A F`ATAL ERROR WITH N IN SIXBIT

DEF INE	M.FAIN (A),<
	EXT	.FMSGN
	PJ`SP	T1,.FMSGN
	XLIST
	ASCIZ	\A\
 	LIST
>

;M.FA@ID <FOO> SENDS FO`O AS A FATAL ERROR WITH N IN DECIM AL

DEFINE	M.FA@ID (A) <
	EXT	.F`MSGD
	PJSP	T1,.FMSGD
	XLIST
	AS CIZ	\A\
	LIST	
@>

;M.FAIO <FOO`> SENDS FOO AS A FATAL ERROR WITH  N IN OCTAL

DEF@INE	M.FAIO (A),<
	EXT	.FMSGO
	PJSP	T1,.FMSGO
	XL IST
	ASCIZ	\A\
@	LIST
>

;M.MA`IF <FOO> SENDS FOO AS A FATAL ERRO R WITH N=ADDR OF @FILE DESCRIPTOR
`
DEFINE	M.FAIF(A)<
	EXT	.FMSGF
 	PJSP	T1,.FMSGF
@	XLIST
	ASCIZ	\A`\
	LIST
>
	LIST
g0 (@


	X	A,CH.T-1,<B>,D,-C.L,E
>,D,-C.g8 (@
	X	A,0,H<B>,0,0,FS.NOS!C
0,0,FS.NOS!g@ @

	X	A,C(,<B>,PD.D,MX.D,E
D.D,MX.DgL h@
	X	A,0,<B>,C,0,D
,i?0P iLtLQP iLtLXP iLtL[P mKc@ r7BYTE (3)Ar0WHO (9)AVER (6)AMIN (18)AEDT
lzQ 

;VQBDPDRP D[sQ D[vQ DlVP EXP ELzP EkzP ExUP E|@P E}:P F<QP FK`P duP f4P fI6P DSP DzP DwP D)YP D\zP Dj6P DkP DkP E)WP 
WP;P FLPP FLQP FLWP FLWP Fi9P G)9P `P 
>}{woP