Google
 

Trailing-Edge - PDP-10 Archives - bb-d868b-bm_tops20_v3a_2020_dist - 3a-sources/scnmac.unv
There are 80 other files named scnmac.unv in the archive. Click here to see a list.
x,,@P I4 _5}
				ND	M_8X.A,B
				ND	A_XD.A,C
				ND	PD.A,D{woP I?87 d79
	XALL
d8

			
DEFINE	X(dX$NAME,$PROC,$POINdxT,$DEFLT,$MAX,$FLeAGS),<
	EXP  SIXe8BIT  /$NAME/
>
eXAN:	SWTCHS
AL=ex=.-AN

			
IFf2,<
DEFINE	X($NAf8ME,$PROC,$POINT,$fXDEFLT,$MAX,$FLAGSfx),<
..TEMP==0
IgRP $POINT,<
    g8IFE ..TEMP-1,<
	gX$POINT			;$NAME
gx    >
    IFE ..hTEMP-2,<
	POINT	h836,$POINT,35	;$NAhXME
    >
    IFhxIDN <$POINT><*P>,i<..TEMP==1>	
   i8 IFIDN <$POINT><*iXF>,<..TEMP==2>	
ix>

IFB <$POINT>j,<
	Z			;$NAME
j8>
IFNB <$POINT>,jX<IFE ..TEMP,<
	$jxPOINT			;$NAME
>k>
>>
AP:	SWTCHk8S

			
			
MXkX.==0
DEFINE	X($NkxAME,$PROC,$POINT,l$DEFLT,$MAX,$FLAGl8S),<
IF2,<
IFE lX<$FLAGS>&FS.LRG,<lxIFG <$MAX>-377777m,<PRINTX ?MAXIMUMm8 OF /$NAME CANNOTmX BE GT 377777>>
mx>
..TEMP==1
IFNn <$FLAGS>&FS.LRG,n8<IFN <$MAX>,<..TEnXMP==0>>
IFN ..TEnxMP,<
	XWD	$MAX,$oPROC	;$NAME
>
Io8FE ..TEMP,<
	XWDoX	[$MAX],$PROC	;$NoxAME
>
>
AM:	SpWTCHS

			
PD.p8==0
DEFINE	X($NApXME,$PROC,$POINT,$pxDEFLT,$MAX,$FLAGSq),<
IF2,<
IFL <q8$DEFLT>,<IFN <$DEqXFLT>+1,<PRINTX ?DqxEFAULT OF /$NAME rCANNOT BE NEGATIVr8E>>
IFE <$FLAGS>rX&FS.LRG,<IFG <$DErxFLT>-777777,<PRINsTX ?DEFAULT OF /$s8NAME CANNOT BE GTsX 777777>>
>
IFBsx <$FLAGS>,<..TEMRt==0>
IFNB <$FLAGt8S>,<..TEMR==($FLAtXGS)>
..TEMP==1
txIFN <$FLAGS>&FS.LuRG,<IFN <$DEFLT>,u8<..TEMP==0>>
IFNuX ..TEMP,<
	XWD	.ux.TEMR,$DEFLT	;$NAvME
>
IFE ..TEMPv8,<
	XWD	..TEMR,[vX$DEFLT]	;$NAME
>vx
>
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 wX7O
A.L==0
A.T:  IRP	(B)<xEXP  SIXBIT /B/
			A.L==A.L+1
			..TEMP==0
		xx	IRPC (B)<IFIDN y<B><*>,<..TEMP==y81>
					STOPI>
yX			IFE ..TEMP,<AyxB==A.L>
		>
	PURGE	..TEMP
	Z:42 |X7k
	EXT	.FM|xSGD
	PJSP	T1,.FM}SGD
	XLIST
	ASC}8IZ	\A\
	LIST	
Z:43 7
	EXT	.FM8SGF
	PJSP	T1,.FMXSGF
	XLIST
	ASCxIZ	\A\
	LIST
Z:46 z87W
	EXT	.FMzXSG
	PJSP	T1,.FMSzxG
	XLIST
	ASCIZ	\A\
	LIST
Z:47 {87a
	EXT	.FM{XSGN
	PJSP	T1,.FM{xSGN
	XLIST
	ASC|IZ	\A\
	LIST
Z:47 }x7u
	EXT	.FM~SGO
	PJSP	T1,.FM~8SGO
	XLIST
	ASC~XIZ	\A\
	LIST
guP h (
	C
	LAh@LL
	UNIVERSAL SCh`NMA -- SCAN PARAiMETERS FOR TOPS-i B


	SYN	IFE,Ii@F
	TOPS==B

	i`SEARCH	MACTEN	;GEjT MACTEN MACROS
j %%MACTEN==%%MACTEj@N	;SHOW VERSION Oj`F MACTEN


%%SkCNM==VRSN. (SCM)

	PURGE	SCMWHO,k@SCMVER,SCMMIN,SCMk`EDT
;MACRO DEFIlNITIONS OF GENERAl L USE

;DEFAULTl@S

;DM ABBREVIAl`TION,MAX,ADEFAULTm,PDEFAULT
;	DEFIm NES SYMBOLS MX.ABm@BREVIATION,AD.ABBm`REVIATION, AND PDn.ABBREVIATION
;	n TO BE THE MAXIMUMn@ ALLOWED VALUE, Tn`HE DEFAULT IF THEo KEYWORD
;	IS ABo SENT, AND THE DEFo@AULT IF THE KEYWOo`RD IS PRESENT RESpPECTIVELY
;	UNLEp SS THE CORRESPONDp@ING SYMBOL IS ALRp`EADY DEFINED.

q
	DEFINE	DM(ABBRq ,MAX,ADEF,PDEF),<q@
				ND	MX.'ABBRq`,MAX
				ND	AD.'rABBR,ADEF
				NDr 	PD.'ABBR,PDEF>
r@
	;REVISION HISTOr`RY OF PARAMETER FsILE

;%2(47)  Ms AY, 1972, WITH SCs@AN 2(127)

;50	s`ADD SYMBOLS FOR AtLL WORDS AND LENGt THS IN SCAN BLOCKt@
;	ADD FX.DFX, Ft`X.TRM, AND .FXTRAu,O,N,C.
;	OBSOLEu TE FX.ADD.
;51	Au@DD FX.NDV.
;52	Mu`AKE USEABLE AS A vUNIVERSAL FILE
;v %3(52)	DEC, 1972 v@WITH SCAN 3(173)

;53	ADD COMMENwTS TO .FX DEFINITw IONS TO INDICATE w@WHEN SET
;54	ADDw` DEFENSIVE PRINTXx TO SWTCHS MACROSx 
;55	ADD FLAGS Cx@ONCEPT TO SWITCH x`TABLES; ADD FS.NFyS
;56	AD FS.LRG y TO HANDLE VALUES y@.GT. 2**17
;57	Ay`DD FS.MOT DEFINITzION FOR .TSCAN FLz AGS
;60	ADD FLAGz@S FOR .TDIRB CALLz`
;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 ON}LY 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 UNIVERSAL
;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 PART 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
.FXMOD==4	WORD
.XMOM==5	;MODIFIE
.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 TOPS-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==.FXMOM-21	;TOPS-20 OF FSET
>
.FXBFR==@22+.X	;/BEFORE
.`FXSNC==23+.X	;/SINCE
.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 SPEC AREA
.FXLEN==32 +.X	;LENGTH OF ON@E SPECIFICATION
`IF TOPS-10,<
.FXLND==6	;LENGTH OF  DIRECTORY (UFD+S@FD'S)
> ;END TOP`S-10
IF TOPS-20,<
.FXLNF==^D26	; LENGTH OF FILE SP@EC STRING
>
;B`YTES IN SCAN MOD WORD
IF TOPS-10, <
FX.NDV==1B0	;N@ULL DEVICE
FX.NU`L==1B1	;NULL EXTENSION
FX.DIR==1B 2	;DIRECTORY SPEC@IFIED   (MOD=0 IF` [-])
> ;END TOPS-10
FX.PHY==1B3 	;/PHYSICAL
FX.N@OM==1B4	;/OKNONE
IF TOPS-10,<
FX.DFX==1B5	;DIRECT ORY DOES NOT NEED@ FIX-UP BY WILD
`> ;END TOPS-10
IF TOPS-20,<
FX.T MP==1B5	;FILE IS @TEMP
>
FX.TRM==`7B8	;CODE FOR SPEC'S TERMINATION
 	.FXTRA==1	;& (AN@D)
	.FXTRO==2	;!` (OR)
	.FXTRN==3 	;- (NOT)
	.FXTR  C==4	;+ (CONCATEN @ATE)
FX.STR==1B9 `	;/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]
.CHIN(P==4005	;'INPUT'	( 				[103]
.CHOUT(@==4006	;'OUTPUT'	(`				[103]
.CHSRC)==4007	;'SOURCE'	) 				[103]
.CHLST)@==4010	;'LIST'			)`			[103]
.CHOBJ=*=4011	;'OBJECT'		* 			[103]


;FL*@AGS FOR .ISCAN CA*`LL

FS.ICL==1B1+7	;IGNORE SPECIAL+  COMMAND-LINE HAN+@DLING

;FLAGS F+`OR .TSCAN CALL
,
FS.MOT==1B18	;MU, LTIPLE OUTPUT SPE,@CS POSSIBLE
FS.M,`IO==1B19	;MIXED I-NPUT AND OUTPUT S- PECS

;FLAGS FO-@R .TDIRB CALL

-`TS.DRW==0	;SINGLE. WORD
TS.DRP==1	. ;PATH POINTER
TS.@.DRB==2	;BIWORD (.`IE, SCAN SPEC FOR/MAT)

;VALUES F/ ROM .VERBO

JWW/@.CN==1B33	;/MESSA/`GE:CONTINUATION
0JWW.FL==1B34	;/ME0 SSAGE:FIRST
JWW.0@PR==1B35	;/MESSAG0`E:PREFIX

;VALU1ES IN .FLAQT

.1 FLASK==1	;/ASK
.1@FLTEL==2	;/TELL
1`.FLQUI==3	;/QUIET2
;SWITCH SCANNI2 NG MACROS AND TAB2@LES

;SWTCHS IS2` THE MACRO LISTIN3G ALL KNOWN SWITC3 HES
;IT INCLUDES3@ THE NAME AND STO3`RAGE LOCATION
;F4OR VALUE TYPES, I4 T ALSO HAS THE MA4@X AND DEFAULT AND4` PROCESSOR
;FOR 5KEY-VALUE TYPES, 5 IT POINTS TO THE 5@KEYS AND HAS THE 5`DEFAULT IF ANY
;6FOR STAND-ALONE T6 YPES, IT HAS THE 6@VALUE.

;WHEN T6`HE SWITCH SCANNIN7G TABLES ARE TO B7 E BUILT, INVOKE
7@;THE MACRO DOSCAN7` WITH 5-CHAR ARGU8MENT TO USE AS SY8 MBOL PREFIX
;IT 8@WILL DEFINE XXXXX8`N,L,P,M,D

; SL9  NAME,STORAGE,TA9 BLE-NAME,DEFAULT,9@FLAGS
;	DEFINES 9`A LIST OF KEY-VAL:UES (SEE KEYS MAC: RO)
;	DEFAULT IS:@ THE ORDINAL OR 0:` IF NO DEFAULT
;;	IF LH(STORAGE)=7; 777B11, STORAGE =;@ ROUTINE TO PROCE;`SS
;
; SP  NAME<,STORAGE,PROCESSO< R,ABBREVIATION,FL<@AGS
;	DEFINES A <`VALUE PARAMETER W=HOSE DEFAULTS
;	=     ARE DEFINED A=@T THE BEGINNING O=`F THE PROGRAM
;	>    BY "DM" USING>  THE SAME ABBREVI>@ATION
;	PROCESSO>`R IS THE JUMP ADD?RESS IN SWITCH PR? OCESSING
;	    I?@T WILL BE CALLED ?`WITH P1=SWITCH OF@FSET IN TABLE
;	@     AND P2=POINTE@@R TO 4-WORD BLOCK@` OF INTERNAL OR EAXTERNAL STUFF
;	A IF MAX=0 AND FS.LA@RG, THEN ANY VALUA`E CAN BE STORED
B;	    ELSE, 0.LE.B VALUE.LE.MAX
;
B@;	0.LE.MAX,DEFAULB`T.LT.2**17 UNLESSC FS.LRG
;
;	IF C MAX=0 AND NOT FS.C@LRG, THEN PROCESSC`OR IS AN IMMEDIATDE ACTION
;	    WD HICH WILL ALWAYS D@BE CALLED
;	    D`ELSE, PROCESSOR WEILL BE CALLED ONLE Y IF ":"
;
; SSE@  NAME,STORAGE,VAE`LUE,FLAGS
;	DEFIFNES A STAND-ALONEF  PARAMETER
;
;	F@IN ALL CASES, STOF`RAGE IS A BYTE POGINTER.
;	    IF G A FULL WORD, ONLYG@ THE ADDRESS IS NG`EEDED
;	    IF AH MULTIPLE WORD, TH HE BYTE SIZE IS 6H@5-#WORDS (UP TO 2H`8)
;	    IF A FIILE SPECIFICATION,I  THE LENGTH IS HEI@LD IN MX.ABBREVIAI`TION
;	    IF POJINTER IS 7777??,,J ?????? THEN RH(POJ@INTER) IS DISPATCJ`H
;		ADDRESS OF KPROCESSOR WHICH TK AKES KEYWORD SWITK@CH VALUES
;
; SK`N  NAME,STORAGE,FLLAGS
;	DEFINES AL  STAND-ALONE PARAL@METER WHICH TAKESL` VALUE
;	    1 IMF /NAME, AND VALUM E 0 IF /NONAME
M@

; KEYS (NAME,LM`IST)   WILL DEFINNE A LIST OF KEYS N BY NAME NAME
;	NN@AME CAN BE UP TO N`4 CHARS.  (DEFINEOS NAME.T AND NAMEO .L)
;	LIST IS SIO@XBIT NAMES SEPARAO`TED BY COMMAS.
;P	DEFINES NAME CONP CATENATED WITH STP@ART OF ITEM IN LIP`ST
;	AS INDEX INQ LIST UNLESS THE Q ITEM BEGINS WITH Q@"*"
	DEFINE	SL(Q`$NAME,$RESULT,$TARBLE,$DEFAULT,$FLAR GS),<
	X	$NAME,$R@TABLE'.T-1,<$RESUR`LT>,$DEFAULT,-$TASBLE'.L,$FLAGS
>S 

	DEFINE	SP($NAS@ME,$RESULT,$PROCES`SSOR,$ABBR,$FLAGST),<
	X	$NAME,$PRT OCESSOR,<$RESULT>T@,PD.'$ABBR,MX.'$AT`BBR,$FLAGS
>

U	DEFINE	SS($NAME,U $RESULT,$VALUE,$FU@LAGS),<
	X	$NAMEU`,0,<$RESULT>,$VALVUE,0,$FLAGS
>
V 
	DEFINE	SN($NAMEV@,$RESULT,$FLAGS),V`<
	X	$NAME,0,<$RWESULT>,0,0,FS.NOSW !$FLAGS
>

;FLW@AGS WHICH CAN BE W`DEFINED IN SWITCHX TABLE
FS.NFS==1X B0	;THIS SWITCH IX@S NEVER PART OF AX` FILE SPECIFICATIYON
		; THIS SHOUY LD BE SET ON GLOBY@AL SWITCHES
		; Y`** VERY IMPORTANTZ TO GET RIGHT **
FS.LRG==1B1	;THEZ@ MAX AND DEFAULT Z`VALUES ARE 0 OR .[GT. 2**17
FS.NUE[ ==1B2	;NO USER EX[@IT ON THIS SWITCH[`
FS.VRQ==1B3	;VA\LUE REQUIRED
FS.\ OBV==1B4	;OR BIT \@VALUES TO RIGHT H\`ALF
FS.NOS==1B5	];SWITCH TAKES "NO] " PREFIX (INTERNA]@L FOR SN MACRO ON]`LY)
FS.NCM==1B6	^;SWITCH DOES NOT ^ CONSTITUTE A COMM^@AND		[102]
		; (^`FOR /RUN, /OPTION_, /EXIT)

		;DO_ N'T USE FS.R??, W_@HICH ARE DEFINED _`IN C.MAC
;MACRO` TO BUILD THE TAB` LES FROM THE SWTC`@HS MACRO

	DEFI``NE	DOSCAN(PFX),<
	XALL


			
a DEFINE	X($NAME,$Pa@ROC,$POINT,$DEFLTa`,$MAX,$FLAGS),<
b	EXP  SIXBIT  /$Nb AME/
>
PFX'N:	Sb@WTCHS
PFX'L==.-Pb`FX'N

			
IF2,c<
DEFINE	X($NAMEc ,$PROC,$POINT,$DEc@FLT,$MAX,$FLAGS),c`<
..TEMP==0
IRPd $POINT,<
    IFd E ..TEMP-1,<
	$Pd@OINT			;$NAME
  d`  >
    IFE ..TEeMP-2,<
	POINT	36e ,$POINT,35	;$NAMEe@
    >
    IFIDe`N <$POINT><*P>,<.f.TEMP==1>	
    If FIDN <$POINT><*F>f@,<..TEMP==2>	
>f`

IFB <$POINT>,<g
	Z			;$NAME
>g 
IFNB <$POINT>,<Ig@FE ..TEMP,<
	$POg`INT			;$NAME
>>
>>
PFX'P:	SWTCHh S

			
			
MXh@.==0
DEFINE	X($Nh`AME,$PROC,$POINT,i$DEFLT,$MAX,$FLAGi S),<
IF2,<
IFE i@<$FLAGS>&FS.LRG,<i`IFG <$MAX>-377777j,<PRINTX ?MAXIMUMj  OF /$NAME CANNOTj@ BE GT 377777>>
j`>
..TEMP==1
IFNk <$FLAGS>&FS.LRG,k <IFN <$MAX>,<..TEk@MP==0>>
IFN ..TEk`MP,<
	XWD	$MAX,$lPROC	;$NAME
>
Il FE ..TEMP,<
	XWDl@	[$MAX],$PROC	;$Nl`AME
>
>
PFX'M:m	SWTCHS

			
Pm D.==0
DEFINE	X($m@NAME,$PROC,$POINTm`,$DEFLT,$MAX,$FLAnGS),<
IF2,<
IFLn  <$DEFLT>,<IFN <$n@DEFLT>+1,<PRINTX n`?DEFAULT OF /$NAMoE CANNOT BE NEGATo IVE>>
IFE <$FLAGo@S>&FS.LRG,<IFG <$o`DEFLT>-777777,<PRpINTX ?DEFAULT OF p /$NAME CANNOT BE p@GT 777777>>
>
Ip`FB <$FLAGS>,<..TEqMR==0>
IFNB <$FLq AGS>,<..TEMR==($Fq@LAGS)>
..TEMP==1q`
IFN <$FLAGS>&FSr.LRG,<IFN <$DEFLTr >,<..TEMP==0>>
Ir@FN ..TEMP,<
	XWDr`	..TEMR,$DEFLT	;$sNAME
>
IFE ..TEs MP,<
	XWD	..TEMRs@,[$DEFLT]	;$NAME
>
>
PFX'D:	SWTtCHS
	PURGE	..TEMt P,..TEMR
	SALL
t@>
;AND FINALLY,t` THE KEY-WORD VALuUES

	DEFINE	KEu YS(NAME,LST),<
Nu@AME'.L==0
NAME'.u`T:  IRP	(LST)<EXPv  SIXBIT /LST/
	v 		NAME'.L==NAME'.v@L+1
			..TEMP==0v`
			IRPC (LST)<IwFIDN <LST><*>,<..w TEMP==1>
					STw@OPI>
			IFE ..TEw`MP,<NAME'LST==NAMxE'.L>
		>
	PURGx E	..TEMP
	>
;Mx@.FAIL <FOO> SENDSx` FOO AS A FATAL EyRROR

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

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

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

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

DEFINE	M.FA}@ID (A) <
	EXT	.F}`MSGD
	PJSP	T1,.F~MSGD
	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 a6


	X	A,Ca .T-1,<B>,D,-C.L,E
g8 c6
	X	A,0,c <B>,0,0,FS.NOS!C
g@ a`6

	X	A,Cb,<B>,PD.D,MX.D,E
gL b@6
	X	A,0,<B>,C,0,D
i?0P iLtLQP iLtLXP iLtL[P mKc@ 
P0gBYTE (3)A
pWHO (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