Trailing-Edge
-
PDP-10 Archives
-
BB-FI82B-DD_1989
-
5,17/dcn.unv
There are 7 other files named dcn.unv in the archive. Click here to see a list.
x
,S?@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;] q)_
PARSE %C
HARR,<CALL .TIALT
0##>,<CALL .CHARH>
P,<MOVE T1,C>
PAR
pSE %CHARA,<CALL..
PARSE %SIXBI,<COUTSTR [ASCIZ\Sixbi0t word\]>,<MOVE TP1,N>
PARSE %OCTApL,<CALL .OCTNW##>,<OUTSTR [ASCIZ\O0ctal number\]>,<MPOVE T1,N>
PARSE p%DECIM,<CALL .DECNW##>,<OUTSTR [AS0CIZ\Decimal numbePr\]>,<MOVE T1,N>
PARSE %ASCII,<CALL .ASCQW##>,<OUT0STR [ASCIZ\Ascii Pstring\]>,<MOVE Tp1,N>
PARSE %SIXST,<CALL .SIXQW##>0,<OUTSTR [ASCIZ\SPixbit string\]>,<pMOVE T1,N>
PARSE %DATIM,<CALL .DA0TIM##>,<OUTSTR [APSCIZ\Date/time sppecification\]>,<MOVE T1,N>
PARSE 0%DATIP,<CALL .DATPIP##>,<OUTSTR [ASpCIZ\Date/time in the past\]>,<MOVE0 T1,N>
PARSE %DAPTIF,<CALL .DATIF#p#>,<OUTSTR [ASCIZ\Date/time in the0 future\]>,<MOVE PT1,N>
PARSE %VERpSI,<CALL .VERSW##>,<OUTSTR [ASCIZ\0Version number\]>P,<MOVE T1,N>
PARpSE %CORES,<CALL .COREW##>,<OUTSTR 0[ASCIZ\Core size\P]>,<MOVE T1,N>
PpARSE %BLOCK,<CALL .BLOKW##>,<OUTST0R [ASCIZ\File sizPe in words of blopcks\]>,<MOVE T1,N>
PARSE %FILES,<0CALL .FILIN##>,<OPUTSTR [ASCIZ\Filep specification\]>,<MOVE T1,T1>
PA0RSE %KEYWR,<JRST P.KEYWR >,<CALL .pKEYWH>,<MOVE T1,N>
S;-PP SNG Y#@ YW-p : +T
INUM==IN:(UM+1
ACNUM==0
O:HPDEF A [<INUM>B8]
hP@YW-z9 ;i,n
UUOI CH< PPN.,CHPPN$ ;Chan=ige PPN
UUOI FLE>RR.,FLERR$ ;Type >(out a file spec a>Hnd error code.
>hUUOI LERR.,LERR$ ?;Type out a looku?(p error code.
U?HUOI GOD.,GOD$,1 ;?hPivot to [1,2], s@aving current PPN@(
UUOI UNGOD.,UN@HGOD$,1 ;Pivot bac@hk. Clear pivoted Aflag.
UUOI TSIXA(N.,.TSIXN,1 ;TypeAH out a sixbit valAhue
UUOI TDTTM.,B.TDTTM,1 ;Type ouB(t a given date anBHd time
UUOI TDABhTE.,.TDATE,1 ;TypCe given date out.C(
UUOI TTIME.,.TCHTIME,1 ;Type giveChn time
UUOI TDEDCW.,.TDECW,1 ;TypD(e out decimal numDHber
UUOI TOCTW.Dh,.TOCTW,1 ;Type nEumber in octal
E(UUOI TXWDW.,.TXWDEHW,1 ;Type number Ehin octal halfwordF format
UUOI TVF(ERW.,.TVERW,1 ;TyFHpe version numberFh
UUOI TPPNW.,.TGPPNW,1 ;Type a PPG(N.
UUOI TDATN.,GH.TDATN,1 ;Type thGhe current date.
H UUOI TTIMN.,.TTIH(MN,1 ;Type the cuHHrrent time
UUOIHh TCRLF.,.TCRLF,1 I;Type out a carriI(age return
UUOIIH ISCAN.,ISCAN$ ;IIhnitialize scanninJg routines
UUOIJ( QSCAN.,QSCAN$,1 JH;initialize a newJh line for partialK scan
UUOI PSCAK(N.,PSCAN$,1 ; ditKHto
UUOI VSCAN.,KhVSCAN$,1 ;Verb scLanner. Think abouL(t this for a whilLHe.
UUOI REEAT.,LhREEAT$,1 ;Re-eat Ma character in SCM(AN context
UUOIMH GTNOW.,.GTNOW ;GMhet current date/time
YW-|` 3)+L
LUUO $L3HUUOI,LUUOI$ ;call3h one of DCN's rou4tines.
LUUO GTT4(AB.,GTTAB$## ;Do 4Ha gettab, always 4hdoing non-skip re5turn.
LUUO PRMP5(T.,PRMPT$## ;Prom5Hpt if necessary, 5hand get typein
6LUUO $ERMES,ERMES6($,1 ;error messag6Hes.
6SUUO DIE.
SUUO TCHRI.
7 SUUO TSTRG.
S7(UUO TLINE.
SUU7HO ERROR
SUUO E7hRROR.
SUUO ERR8OR$
SUUO ERROR8(%
SUUO WARN
8H SUUO WARN.
SU8hUO WARN$
SUUO 9WARN%
SUUO INF9(OR
SUUO INFOR.9H
SUUO INFOR$
SUUO INFOR%
\P ]>~ ``@ `D@ `H@ `L@ `P@ a9 )c
XP A,IN1UM
INUM==INUM+1
PRMADD0aJlP'aJmySQxaJn
cNG e, e ,~e&:x`+&;B~
HfD@ fH@ fL@ fP@ g/ agW-p ; +\
OPDEF A;( [<INUM>B8 ACNUM,;H]
ACNUM==ACNUM+1
' IP'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} N),t
INUM==INHNUM+1
OPDEF A [$LUUOI INUM]
mNG
o` oa oa oc@ q"eJ P q6~i4 C q@
PtIFB <C>,<
@A==:<B>> IFNB <C>,<A=:<B>>< 0 lA&r
$$.ABS==l`$$.SEG
IFG $$.ABmS,<$LOSEG>
IFL $m $.ABS,<$HISEG>
Lm@OC <A>
IFNB <Cm`>,<C:>
B
IFGn $$.ABS,<$HISEG>
IFL $$.ABS,<$LOWSG>
P C&~S
exu j!&T
$LOSEG
j@A: BLOCK B
$HISEG
P C&}kx LP p!'
DIE. (SIXBIT /A/)
" IP s'6
ZZZINS==s 0
IFNB <A>,<ZZZs@INS==-1
.IF <As`>,ABSOLUTE,<
ItFN <777000000000&t <A>>,<ZZZINS==1>t@
IFE <LH.ALF&t`A>,<
IFGE <Au-E>,<
IFLE <u A-P>,<
ZZZu@INS==0
>
u` >
>
>
>
IvFL <ZZZINS>,<MOVEv T1,A>
IFE <ZZZv@INS>,<MOVE T1,A-v`E-7(P)>
IFG <ZZZINS>,<A>
IQ w!'H
ZZZRTN==w@CALL
IFNB <A>,<w`
.IFN <A>,EXTExRNAL,<
IFN <<x A>&777000000000>,x@<
ZZZRTN==0
x` >
>
>
ZZZRTyN+A
PURGE ZZZRTN
Y9 +1 yA'b
E..B:!
IFNB \D\,<IFNB z\F\,<A% 3+[XWD z 0,F>
IFB \F\,z@<A$ 2+[>
$ERDFz`A <E>
$ERDFC <{D>>
IFB \D\,<I{ FNB \F\,<A. 1+[{@XWD 0,F>
IFB \{`F\,<A [>>
E$$|B:EPFX$$!(SIXBIT | \B\)
ASCIZ\C\]
@fH +y pa'
$ERRMC EqRROR,A,<B>,<C>,<D>,<E>
FI9 a([
IFNDEF $QONLY,<$ONLY=<XWD p-1,0>>
IFN <$ONLY&I.LUO>,<
EXTE0RN DN.E0
EXTERNP LUUO$
EXTERN EpREXIT
>
IFE <$ONLY&I.LUO>,<
P0FHINI==:.POPJ##
P USRTRP==:0
$HIpSEG
LUUOX:: ADJSP P,-1
POPJ P,
EREXIT: HALT .
P >
IFN <$ONLY&I.pFLE>,<EXTERN DN.E2>
IFE <$ONLY&I.0FLE>,<
FLERR$==P:EREXIT
LERR$==p:EREXIT
>
IFN <$ONLY&I.PRM>,<EX0TERN WHERAC,DN.E3P>
IFE <$ONLY&I.PpRM>,<
PRMPT$==:EREXIT
ISCAN$==0:EREXIT
QSCAN$=P=:EREXIT
PSCAN$p==:EREXIT
VSCAN$==:EREXIT
REEA0T$==:EREXIT
$HIPSEG
.PPMFD::XWD p1,1
>
IFN <$ONLY&I.CHG>,<EXTE0RN ORGPPN,DN.E6>
IFE <$ONLY&I.CHGp>,<
CHPPN$==:ER EXIT
GOD$==:ERE 0XIT
UNGOD$==:ER PEXIT
>
IFN <$O pNLY&I.GTT>,<EXTER
N DN.E7>
IFE <$O
0NLY&I.GTT>,<
GT
PTAB$==:EREXIT
>
p
IFE <$ONLY&E.SYM>,<
.TEXT "/SY0MSEG:HIGH/LOCALS "
>
4@ ka&`
$LOSEG
lA:: BLOCK 1
$HISEG
P .&}m9 "N93 h!&FIFL $$.SEGh@,<$$.LOW==.
REh`LOC $$.HGH
$$.SEG==1> <&}i &tky r!'
$ERRMC Ir@NFOR,A,<B>,<C>,<D>,<E>
&u )sX
.REQUE REL:DCN,REL:SWIL
$SRC A
$EXTERN
$STACK
YW)~)mINI [AS 2~93 i!&NIFG $$.SEGi@,<$$.HGH==.
REi`LOC $$.LOW
$$.SEG==-1>&}k 3.[t 34@ k&Z
$LOSEG
k A: BLOCK 1
$HISEG
P >&}l
C{8 |a'|
IFG <B-}PRSMAX>,<PRINTX ?} Bad B for PROMPT}@ macro B
PASS}`2>
IFNB <D>,<IF~N <B-%KEYWR>,<IF~ G <B-%CHARA>,<
~@ PRINTX ?Cannot ~`give 4th argument "D" here.
PA SS2>>>
PRMPT. @A,1+[XWD B,D
ASCIZ \C\]
H N.M8 $ +
XLIST
I$(FN <$ONLY&I.PRM>,$H<
TDZA F,F ;No$hte a zero offset %start
MOVX F,1%( ;Note a CCL sta%Hrt
MOVEM F,OFFS%hET ;Save for scan&
>
RESET ;St&(op all I/O, go ba&Hck to scratch.
&hMOVE P,PDL ;Set 'up stack.
IFN <$'(ONLY&I.LUO>,<
$'HABS <.JB41==:41>,'h<CALL LUUO$> ;Set(up call to LUUO h((andler
PUSH P,[(HCALL LUUO$] ;get (hnew instruction, )in case wiped out)( by
POP P,.JB41)H ; an error som)hewhere.
>
IFNB *\B\,<
PUSH P,[*(JRST B] ;Get to *Huser UUO dispatch*h
POP P,USRTRP##+ ; by telling LUU+(O what to do
>
+HIFN <$ONLY&I.CHG>+h,<
SETZM ORGPPN, ;zero original ,(PPN.
>
IFN <$ON,HLY&I.PRM>,<
$LVA,hR OFFSET ;Place- to save starting-( offset
$LVAR CO-HMNUM ;Command n-humber returned by. ISCAN
IFNB \A.(\,< ;If he suppl.Hied us with a sca.hn block, use it
/ MOVE T1,A ;fro/(m the user
>
/HIFB \A\,<
MOV/hE T1,[XWD 1,[XWD 012,%%FXVE]] ;Use 0(defualt if no blo0Hck given
>
SE0hTOM WHERAC ;init1ialize which ac s1(et in use
ISCAN1H. T1, ;Initializ1he SCAN
MOVEM T12,COMNUM ;Save com2(mand number for l2Hater use
> ;END 2hIFN I.PRM
LIST
O0 y*
SALL
9SEARCH JOBDAT,UUOSYM,MACTEN,SWIL
y IFNDEF HI$SEG,<HyI$SEG==640000>
iTWOSEG HI$SEG
R ELOC HI$SEG
REL (OC 0
$$.HGH==HI H$SEG
$$.SEG==-1 h ;Default to los!eg
$$.LOW==0
!(EPFX$$==<LH.ALF&<!HSIXBIT \A\>>
.!hXCREF F,T1,T2,T3,"T4,P1,P2,P3,P4,S1"(,S2,S3,S4,E,U,P,C"H,N
DEFINE VRSN."h(WHO,VER,MIN,EDT)#,<
%%%A==:BYTE#( (3)WHO(9)VER(6)M#HIN(18)EDT
$ABS 137,%%%A>
O$u na&~
IFNDEF PoDLSIZ,<PDLSIZ==10o 0>
$BLOCK STACK,o@PDLSIZ
PDL: IOWDo` PDLSIZ,STACK ;For move p,pdl
^+@ qA'
$ERRMC Wq`ARN,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