Google
 

Trailing-Edge - PDP-10 Archives - BB-FP64A-SB_1986 - 10,7/decnet/dcn/dcn.unv
There are 7 other files named dcn.unv in the archive. Click here to see a list.
x
,R?@P Cv[ P FP Ge@ ,G#G  I&)` J@ J; P KK|@ KK|B 
KK|B KK|G 
L@ M2.,G  O>!`  ORu}g  OS$G @R:	`Q R:5I Q R:>MQ @R:f[`Q @R;+ Q R;@Q SNp @S:5|@ S:5|B S:5|B S:5|G S;] ,i#f
PARSE	%C-HARR,<CALL .TIALT-(##>,<CALL .CHARH>-H,<MOVE T1,C>
PAR-hSE	%CHARA,<CALL ..TIALT##>,<CALL .C.(HARH>,<MOVE T1,C>.H
PARSE	%SIXBI,<C.hALL .SIXSW##>,<OU/TSTR [ASCIZ\Sixbi/(t word\]>,<MOVE T/H1,N>
PARSE	%OCTA/hL,<CALL .OCTNW##>0,<OUTSTR [ASCIZ\O0(ctal number\]>,<M0HOVE T1,N>
PARSE	0h%DECIM,<CALL .DEC1NW##>,<OUTSTR [AS1(CIZ\Decimal numbe1Hr\]>,<MOVE T1,N>
PARSE	%ASCII,<CA2LL .ASCQW##>,<OUT2(STR [ASCIZ\Ascii 2Hstring\]>,<MOVE T2h1,N>
PARSE	%SIXS3T,<CALL .SIXQW##>3(,<OUTSTR [ASCIZ\S3Hixbit string\]>,<3hMOVE T1,N>
PARSE4	%DATIM,<CALL .DA4(TIM##>,<OUTSTR [A4HSCIZ\Date/time sp4hecification\]>,<M5OVE T1,N>
PARSE	5(%DATIP,<CALL .DAT5HIP##>,<OUTSTR [AS5hCIZ\Date/time in 6the past\]>,<MOVE6( T1,N>
PARSE	%DA6HTIF,<CALL .DATIF#6h#>,<OUTSTR [ASCIZ7\Date/time in the7( future\]>,<MOVE 7HT1,N>
PARSE	%VER7hSI,<CALL .VERSW##8>,<OUTSTR [ASCIZ\8(Version number\]>8H,<MOVE T1,N>
PAR8hSE	%CORES,<CALL .9COREW##>,<OUTSTR 9([ASCIZ\Core size\9H]>,<MOVE T1,N>
P9hARSE	%BLOCK,<CALL: .BLOKW##>,<OUTST:(R [ASCIZ\File siz:He in words of blo:hcks\]>,<MOVE T1,N;>
PARSE	%FILES,<;(CALL .FILIN##>,<O;HUTSTR [ASCIZ\File;h specification\]><,<MOVE T1,T1>
PA<(RSE	%KEYWR,<JRST <H.KEYWR  >,<CALL .<hKEYWH>,<MOVE T1,N>
hP@S;-PP SNG  	Y#@  YW-p [%\
INUM==IN[ UM+1
ACNUM==0
O[@PDEF	A	[<INUM>B8]
YW-z9 \a&v
	UUOI	CH]PPN.,CHPPN$	;Chan^age PPN
	UUOI	FLE_RR.,FLERR$	;Type _ out a file spec a_@nd error code.
	_`UUOI	LERR.,LERR$	`;Type out a looku` p error code.
	U`@UOI	GOD.,GOD$,1	;``Pivot to [1,2], saaving current PPNa 
	UUOI	UNGOD.,UNa@GOD$,1	;Pivot baca`k. Clear pivoted bflag.
	UUOI	TSIXb N.,.TSIXN,1 ;Typeb@ out a sixbit valb`ue
	UUOI	TDTTM.,c.TDTTM,1 ;Type ouc t a given date anc@d time
	UUOI	TDAc`TE.,.TDATE,1 ;Typde given date out.d 
	UUOI	TTIME.,.Td@TIME,1 ;Type gived`n time
	UUOI	TDEeCW.,.TDECW,1 ;Type e out decimal nume@ber
	UUOI	TOCTW.e`,.TOCTW,1 ;Type nfumber in octal
	f UUOI	TXWDW.,.TXWDf@W,1 ;Type number f`in octal halfwordg format
	UUOI	TVg ERW.,.TVERW,1 ;Tyg@pe version numberg`
	UUOI	TPPNW.,.ThPPNW,1 ;Type a PPh N.
	UUOI	TDATN.,[email protected],1 ;Type thh`e current date.
i	UUOI	TTIMN.,.TTIi MN,1 ;Type the cui@rrent time
	UUOIi`	TCRLF.,.TCRLF,1 j;Type out a carrij age return
	UUOIj@	ISCAN.,ISCAN$	;Ij`nitialize scanninkg routines
	UUOIk 	QSCAN.,QSCAN$,1	k@;initialize a newk` line for partiall scan
	UUOI	PSCAl N.,PSCAN$,1	;	ditl@to
	UUOI	VSCAN.,l`VSCAN$,1	;Verb scmanner. Think aboum t this for a whilm@e.
	UUOI	REEAT.,m`REEAT$,1	;Re-eat na character in SCn AN context
	UUOIn@	GTNOW.,.GTNOW	;Gn`et current date/time
YW-|` T!%T
	LUUO	$LT@UUOI,LUUOI$	;callT` one of DCN's rouUtines.
	LUUO	GTTU AB.,GTTAB$## ;Do U@a gettab, always U`doing non-skip reVturn.
	LUUO	PRMPV T.,PRMPT$## ;PromV@pt if necessary, V`and get typein
	WLUUO	$ERMES,ERMESW $,1	;error messagW@es.
	WSUUO	DIE.
	 SUUO	TCHRI.
	X SUUO	TSTRG.
	 SX UUO	TLINE.
	 SUUX@O	ERROR
	 SUUO	EX`RROR.
	 SUUO	ERRYOR$
	 SUUO	ERRORY %
	 SUUO	WARN
	Y@ SUUO	WARN.
	 SUY`UO	WARN$
	 SUUO	ZWARN%
	 SUUO	INFZ OR
	 SUUO	INFOR.Z@
	 SUUO	INFOR$
	 SUUO	INFOR%
\P ]>~ ``@ `D@ `H@ `L@ `P@ a9  =	#j
XP A,IN=)UM
INUM==INUM+1
PRMADD0aJlP'aJmySQxaJn
cNG  	e,  e  ,~e&:x`+ CB~
HfD@ fH@ fL@ fP@ g/ agW-p \%d
OPDEF	A\ 	[<INUM>B8 ACNUM,\@]
ACNUM==ACNUM+1
hD@ hH@ hL@ hP@ iF*' iIG  iI'  iKG  i,=g  i&K'  i2Mi' i>Mg  iCmg  iNOG  iO&)g iRMY'  iRM[G  iZ.-g  ic<Mg  j@ k:=y  kV} o!&|
	INUM==Io@NUM+1
	OPDEF	A	[$LUUOI INUM]
mNG  
o`oa oa  oc@ q"eJ  P q6~i4 C q@ 	cHNIFB <C>,<	chA==:<B>> IFNB <C>,<A=:<B>><	0 
$$.ABS==
IFG<$$.AB>
IFL $$.ABS,<$HISEG>
L8OC	<A>
IFNB <CX>,<C:>
	B
IFGx $$.ABS,<$HISEG>
IFL $$.ABS,<$LOWSG>
P &]	
exu  [
$LOSEG
8A:	BLOCK	B
$HISEG
P &~8s	LP !	
DIE.	(SIXBIT /A/)
	IP y!=
ZZZINS==0
IFNB <A>,<ZZZ8INS==-1
 .IF <AX>,ABSOLUTE,<
  IxFN <777000000000&<A>>,<ZZZINS==1>8
  IFE <LH.ALF&XA>,<
   IFGE <Ax-E>,<
    IFLE <A-P>,<
     ZZZ8INS==0
    >
  X >
  >
 >
>
IxFL <ZZZINS>,<MOVE T1,A>
IFE <ZZZ8INS>,<MOVE T1,A-XE-7(P)>
IFG <ZZZINS>,<A>
	IQ !O
ZZZRTN==8CALL
IFNB <A>,<X
 .IFN <A>,EXTExRNAL,<
  IFN <<A>&777000000000>,8<
   ZZZRTN==0
X  >
 >
>
ZZZRTxN+A
PURGE ZZZRTN
	Y9 	+1 9!i

E..B:!
IFNB \D\,<IFNB x\F\,<A% 3+[XWD 0,F>
	IFB \F\,8<A$ 2+[>
	$ERDFXA <E>
	$ERDFC <xD>>
IFB \D\,<IFNB \F\,<A. 1+[8XWD 0,F>
	IFB \XF\,<A [>>
E$$xB:EPFX$$!(SIXBIT \B\)
	ASCIZ\C\]
	+y Y!

$ERRMC ExRROR,A,<B>,<C>,<D>,<E>
	FI9  Y"b
IFNDEF $!IONLY,<$ONLY=<XWD !h-1,0>>
IFN <$ONL"Y&I.LUO>,<
	EXTE"(RN DN.E0
	EXTERN"H LUUO$
	EXTERN E"hREXIT
	>
IFE <$#ONLY&I.LUO>,<
	P#(FHINI==:.POPJ##
#H	USRTRP==:0
	$HI#hSEG
LUUOX::	ADJS$P P,-1
	POPJ P,
EREXIT:	HALT .
$H	>
IFN <$ONLY&I.$hFLE>,<EXTERN DN.E%2>
IFE <$ONLY&I.%(FLE>,<
	FLERR$==%H:EREXIT
	LERR$==%h:EREXIT
	>
IFN &<$ONLY&I.PRM>,<EX&(TERN WHERAC,DN.E3&H>
IFE <$ONLY&I.P&hRM>,<
	PRMPT$==:'EREXIT
	ISCAN$=='(:EREXIT
	QSCAN$='H=:EREXIT
	PSCAN$'h==:EREXIT
	VSCAN($==:EREXIT
	REEA((T$==:EREXIT
	$HI(HSEG
.PPMFD::XWD (h1,1		
	>
IFN <$)ONLY&I.CHG>,<EXTE)(RN ORGPPN,DN.E6>
IFE <$ONLY&I.CHG)h>,<
	CHPPN$==:ER*EXIT
	GOD$==:ERE*(XIT
	UNGOD$==:ER*HEXIT
	>
IFN <$O*hNLY&I.GTT>,<EXTER+N DN.E7>
IFE <$O+(NLY&I.GTT>,<
	GT+HTAB$==:EREXIT
	>+h
IFE <$ONLY&E.SY,M>,<
	.TEXT	"/SY,(MSEG:HIGH/LOCALS "
>
	4@ 
Y g
$LOSEG

xA::	BLOCK	1
$HISEG
P &~<L	"N93 	 MIFL $$.SEG	8,<$$.LOW==.
		RE	XLOC	$$.HGH
		$$.SEG==1> &~
Z	&tky !

$ERRMC I8NFOR,A,<B>,<C>,<D>,<E>
	&u >#{@P
	.REQUE	?REL:DCN,REL:SWIL
	$SRC	A
	$EXTERN
	$STACK
YW$#uINI [AS	2~93 
 UIFG $$.SEG
8,<$$.HGH==.
		RE
XLOC	$$.LOW
		$$.SEG==-1>&~4v	3.[t  	34@ y a
$LOSEG

A:	BLOCK	1
$HISEG
P &~9<	C{8 Y"
IFG <B-xPRSMAX>,<PRINTX ?Bad B for PROMPT8 macro B
		PASSX2>
IFNB <D>,<IFxN <B-%KEYWR>,<IFG <B-%CHARA>,<
8		PRINTX ?Cannot Xgive 4th argumentx "D" here.
		PA SS2>>>
	PRMPT.	 8A,1+[XWD B,D
		ASCIZ \C\]
	N.M8 E%
XLIST
IE FN <$ONLY&I.PRM>,E@<
	TDZA	F,F		;NoE`te a zero offset Fstart
	 MOVX	F,1F 		;Note a CCL staF@rt
	MOVEM	F,OFFSF`ET	;Save for scanG
>
	RESET			;StG op all I/O, go baG@ck to scratch.
	G`MOVE	P,PDL		;Set Hup stack.
IFN <$H ONLY&I.LUO>,<
	$H@ABS	<.JB41==:41>,H`<CALL	LUUO$>	;SetIup call to LUUO hI andler
	PUSH	P,[I@CALL LUUO$]	;get I`new instruction, Jin case wiped outJ  by
	POP	P,.JB41J@		;  an error somJ`ewhere.
>
IFNB K\B\,<
	PUSH	P,[K JRST B]	;Get to K@user UUO dispatchK`
	POP	P,USRTRP##L	; by telling LUUL O what to do
>
L@IFN <$ONLY&I.CHG>L`,<
	SETZM	ORGPPNM		;zero original M PPN.
>
IFN <$ONM@LY&I.PRM>,<
$LVAM`R OFFSET			;PlaceN to save startingN  offset
$LVAR CON@MNUM			;Command nN`umber returned byO ISCAN
	IFNB \AO \,<		;If he supplO@ied us with a scaO`n block, use it
P		MOVE T1,A	;froP m the user
	>
	P@IFB \A\,<
		MOVP`E T1,[XWD 1,[XWD Q12,%%FXVE]] ;Use Q defualt if no bloQ@ck given
	>
	SEQ`TOM	WHERAC		;initRialize which ac sR et in use
	ISCANR@.	T1,		;InitializR`e SCAN
	MOVEM	T1S,COMNUM	;Save comS mand number for lS@ater use
> ;END S`IFN I.PRM
LIST
	O0 >q$$
	SALL
	@1SEARCH	JOBDAT,UUO@SYM,MACTEN,SWIL
=q	IFNDEF HI$SEG,<H?qI$SEG==640000>
	@aTWOSEG	HI$SEG
	RAELOC	HI$SEG
	RELA OC	0
	$$.HGH==HIA@$SEG
	$$.SEG==-1A`		;Default to losBeg
	$$.LOW==0
	B EPFX$$==<LH.ALF&<B@SIXBIT \A\>>
	.B`XCREF	F,T1,T2,T3,CT4,P1,P2,P3,P4,S1C ,S2,S3,S4,E,U,P,CC@,N
	DEFINE VRSN.C`(WHO,VER,MIN,EDT)D,<
	%%%A==:BYTED  (3)WHO(9)VER(6)MD@IN(18)EDT
	$ABS 137,%%%A>
	O$u Y!
IFNDEF PxDLSIZ,<PDLSIZ==100>
$BLOCK	STACK,8PDLSIZ
PDL:	IOWDX	PDLSIZ,STACK	;For move p,pdl
	^+@ 9!

$ERRMC WXARN,A,<B>,<C>,<D>,<E>
:4P 
exuP DPP DYP ~)9P J3P J6P J8P ,:6P MI9P ./yP >H6P NOTP NO
zP Z.,tP S@P B~
HA  B~
H>}{woP