File: RESOV1.MA of Tape: Various/Tests/Blank-Tape-Unit1
(Source file text) 

/OS/8 RESOURCES OVLY. 1 FOR KBM V40
/
/
/
/
/
/
/
/
/
/COPYRIGHT  (C)  1978 BY DIGITAL EQUIPMENT CORPORATION
/		 AND 1979 BY DATAPLAN GMBH
/
/
/
/
/
/
/
/
/
/THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
/AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
/CORPORATION.  DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY
/FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT.
/
/THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER
/UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED
/(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
/SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL.
/
/DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE
/OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY
/DIGITAL.
/
/
/
/
/
/
/
/
/
/
	.EXTERNAL PUTNAM,PUTSP,GETTYP,PUTO,INPBL0,OPRINT
	.ENTRY KIND
	.GLOBAL TYPTBL
	PDHRT=37
	XR1=11
	TEMP=26
	PDHIT=30
	BLOC=36
	UN=6

	.RSECT OV1
	FIELD 1

GETD77,	0
	TAD (7707
	DCA MASK
	TAD (-6704	/V3C
	JMS SRCH
	RTR
	RAR
	AND (7
	JMP I GETD77

QTTY,	JMS GETHIT
	SMA CLA		/1 OR 2 PAGE?
	JMP I ($ASR	/1 PAGE
	JMP I ($KL8E	/2 PAGE

QRK8E,	JMS GETHIT
	AND (7
	CLL RAR
	DCA UN
	JMP I ($RK8E

GETHIT,	0
	JMS CHKRES	/GET OUT IF MULTI-8 OR SYS
	TAD I PDHIT
	JMP I GETHIT

QRK8,	JMS GETHIT
	AND (7
	DCA UN
	JMP I ($RK8
QSI43,
QTC08,
QLINC,	JMS GETHIT
	AND (7
	DCA UN
	JMP I (NOKIND
/SRCH SEARCHES THE HANDLER FOR THE NEGATIVE
/OF THE NON-ZERO VALUE IN THE AC.
/MASKED BY MASK.
/IF FOUND, RETURN IS MADE WITH VALUE(WITHOUT MASK) IN AC
/IF NOT FOUND, AC IS 0 UPON RETURN

SRCH,	0
	DCA LOOK4
	DCA XR1
	TAD (-230	/V3C MUST SEARCH 2 PAGES;
	DCA SRCHCNT	/TROUBLE IF TA8E IS IN LAST SLOT
SRCHLP,	TAD XR1
	JMS HNDGET	/ALWAYS USE HNDGET FOR HANDLER POKE
	ISZ XR1		/NEXT LOC
	DCA TEMP
	TAD TEMP
	AND MASK
	TAD LOOK4
	SNA CLA
	JMP SRCHGOT
	ISZ SRCHCNT
	JMP SRCHLP
	JMP I SRCH

SRCHGOT,TAD TEMP
	JMP I SRCH

SRCHCNT,-400
LOOK4,	0

/HNDGET GETS VALUE IN HANDLER FROM REL LOC IN AC
HNDGET,	0
	TAD BLOC
	DCA TEMP
	JMS CHKRES
	CDF 0
	TAD I TEMP
	CDF 10
	JMP I HNDGET

/	**** NOTE:  ALL HANDLERS SHOULD BE PADDED OUT TO FILL PAGE
/		WITH ZEROES
/BUILD SHOULD WRITE ZEROES IN 2ND PAGE OF ONE PAGE HANDLER
/SPECIAL PURPOSE ROUTINES

QPTP,
QPTR,	STA
	DCA MASK
	TAD (-6021
	JMS SRCH
	SZA CLA
	JMP I ($PT8E
	JMP I ($LSPT

/FOR TYPE PTR
/	IF HANDLER CONTAINS A 6021 IT IS A PT8E
/	OTHERWISE IT IS A LSPT

QCR8E,	TAD (104
	JMS HNDGET
	TAD (-3203
	SNA
	JMP I ($C029
	TAD (3203-7735
	SNA CLA
	JMP I ($C026
	JMP I (NOKIND

/FOR TYPE CR8E
/	IF REL LOC 104 IS A 3203 IT IN 029 KIND
/	IF REL LOC 104 IS A 7735 IT IS  AN 026 KIND
/	OTHERWISE IT IS AN UNKNOWN KIND

QRB0,	DCA UN		/ONLY ONE UNIT FOR THE MOMENT
	TAD (200
	JMS HNDGET	/LOOK AT VT78 SWITCH
	SNA CLA
	JMP I ($PDP8	/RT11 COMPATIBLE FORMAT
	JMP I ($VT78
QLPTR,	JMS GETHIT
	SPA CLA		/1 OR 2 PAGE?
	JMP I	(LQPSS8E
/	OTHERWISE IT'S UNKNOWN (POSSIBLY OLD LP08 OR LS8E KIND)
MASK,	0
	PAGE
QTD8E,	JMS I (GETD77
	CIA
	TAD (10
	DCA TEMP
	TAD I (KTD8+1
	AND (7700
	TAD TEMP
	DCA I (KTD8+1
	JMS GETHIT
	RTR
	RAR
	STA
	TAD TEMP
	CML RAL		/TIMES 2 + LINK
	DCA UN
	JMP I ($TD8

/FIGURE OUT KIND OF TD8E BY DEVICE CODE FOUND IN 67N1 INSTRUCTION
/	N	TYPE
/	7	TD8A
/	6	TD8B
/..
/	1	TD8G
/	0	TD8H
QTA8E,	JMS I (GETD77
	IAC
	DCA TEMP
	TAD I (KTA8+1
	AND (7700
	TAD TEMP
	DCA I (KTA8+1
	STA
	JMS GETHIT
	AND (177
	SNA CLA
	CLA IAC
	DCA UN
	STA
	TAD TEMP
	CLL RAL
	TAD UN
	DCA UN
	JMP I ($TA8

/FIGURE OUT KIND OF TA8E BY DEVICE CODE FOUND IN 67N1 INSTRUCTION

/	N	KIND
/	0	TA8A
/	1	TA8B
/...
/	6	TA8G
/	7	TA8H
QUNIT,	JMS GETHIT
	AND (1
	JMP QEX

RLSPC,	JMS GETHIT
	TAD (-50
	RTR
	SKP
RLSP,	JMS GETHIT
	AND (3
QEX,	DCA UN
	JMP I (NOKIND

LQPSS,	TAD	(201	/TEST FOR LPSS
	JMS I	(HNDGET
	AND	(7700
	TAD	(-5200	/JUMP OVER ARGS
	SZA CLA
	JMP I	($LQP	/DEC HANDLER
	TAD	(201
	JMS I	(HNDGET	/JUMP TO WHERE?
	AND	(177
	TAD	(200
	JMS I	(HNDGET
	TAD	(-6201	/CDF 0 IN DIABLO SERIAL HND
	SZA CLA
	JMP I	($LPSS
	JMP I	($DIAB
UNIT,	0
	JMS PUTSP
	TAD BLOC
	SNA CLA
	JMP TSTSUN
	TAD UN
	SPA
	TAD (40+1-60
	SKP
	CLA IAC		/FOR UNIT 1
ZOUN,	TAD (60
	DCA TEMP
	TAD (40
	JMS PUTO
	TAD TEMP
	JMS PUTO
	JMP I UNIT

TSTSUN,	TAD I PDHRT
	TAD (-7607
	SNA CLA
	JMP ZOUN	/SYS. ALWAYS UNIT 0
	JMS CHKM8	/IS IT MULTI-8?
	JMP ZOUN-1	/NO, ASSUME CORESIDENT HANDLERS ARE UNIT 1
	TAD (202+INPBL0+200
	TAD I PDHRT	/POINTS TO UNIT NUMBER
	DCA TEMP
	TAD I TEMP	/GET IT
	AND (77
	JMS OPRINT	/TWO DIGITS: CHANNEL+UNIT
	JMP I UNIT
	PAGE
CHKRES,	0
	TAD BLOC
	SZA CLA		/IS IT RESIDENT?
	JMP I CHKRES	/NO, GO ON
	JMS CHKM8	/IS IT MULTI-8?
$SYST,	IAC	/32	/NO, SYSTEM HANDLER	|KEEP HERE!
$MCHN,	IAC	/31	/YES, MULTI8 CHANNEL	|KEEP HERE!
$PDP8,	IAC	/30
$VT78,	IAC	/29
$LPSS,	IAC	/28
$DIAB,	IAC	/27
$LQP,	IAC	/26
PLAT7,	IAC	/25
PLAT6,	IAC	/24
PLAT5,	IAC	/23
PLAT4,	IAC	/22
PLAT3,	IAC	/21
PLAT2,	IAC	/20
PLAT1,	IAC	/17
PLAT0,	IAC	/16
$KL8E,	IAC	/15
$RK8E,	IAC	/14
$RK8,	IAC	/13
$ASR,	IAC	/12
$TA8,	IAC	/11
$TD8,	IAC	/10
$L645,	IAC	/7
$LPSV,	IAC	/6
$LV8E,	IAC	/5
$C026,	IAC	/4
$C029,	IAC	/3
$LSPT,	IAC	/2
$PT8E,	IAC	/1
NOKIND,	CLL RAL
/PRINTS NAME FROM TABLE, ENTER WITH ENTRY # IN AC
PRNAM,	TAD (TABASE
	JMS PUTNAM
	JMS UNIT
	JMP KINDRET
KIND,	0
	JMS PUTSP
	JMS GETTYP
	SNA
	JMP NOKIND
	DCA TEMP
	JMP I TEMP	/BRANCH TO APPROPRIATE SUBROUTINE
KINDRET,JMP I KIND

/KIND SUBROUTINES
/ENTER WITH BLOC POINTING TO HANDLER BLOCK IN CORE


CHKM8,	0
	TAD I (INPBL0+210
	TAD (-4270	/IS THERE A 'JMS FGENIO' AT 7610?
	SNA CLA
	ISZ CHKM8	/SECOND RETURN IS MULTI-8
	JMP I CHKM8
TABASE,	4040;4040	/0
	DEVICE PT8E	/1
	DEVICE KS33	/2
	DEVICE 029	/3
	DEVICE 026	/4
	DEVICE LV8E	/5
	DEVICE LPSV	/6
	DEVICE L645	/7
KTD8,	DEVICE TD8	/10
KTA8,	DEVICE TA8	/11
	DEVICE AS33	/12
	DEVICE RK01	/13
	DEVICE RK05	/14
	DEVICE KL8E	/15
	TEXT   /P=0/	/16
	TEXT   /P=1/	/17
	TEXT   /P=2/	/20
	TEXT   /P=3/	/21
	TEXT   /P=4/	/22
	TEXT   /P=5/	/23
	TEXT   /P=6/	/24
	TEXT   /P=7/	/25
	DEVICE LQP	/26
	DEVICE DIAB	/27
	DEVICE LPSS	/28
	DEVICE VT78	/29
	DEVICE PDP8	/30
	DEVICE CHNL	/31
	DEVICE SYST	/32
	PAGE
	.ASECT TYPTAB,LEVEL=0
	FIELD 0

	*2000

/	DEVICE LENGTH TABLE

/FORMAT OF THIS TABLE:

/1,2	DEVICE GENERALIZED NAME (CORR TO TYPE)
/3	NEG OF LENGTH
/4	ADDRESS OF SUBR IN FIELD 1 FOR SPECIALIZATION

TYPTBL,	DEVICE TTY ;0000;QTTY	/0
	DEVICE PTR ;0000;QPTR	/1
	DEVICE PTP ;0000;QPTP	/2
	DEVICE CR8E;0000;QCR8E	/3
	DEVICE LPTR;0000;QLPTR	/4	V3D
	DEVICE RK8 ;1520;QRK8	/5
	DEVICE RF08;6001;PLAT1	/6	V3C
	DEVICE RF08;4002;PLAT2	/7
	DEVICE RF08;2003;PLAT3	/10
	DEVICE RF08;0004;PLAT4	/11	RF'S ONLY HAVE LOGICALLY 1777 BLOCKS
	DEVICE DF32;7601;PLAT1	/12
	DEVICE DF32;7402;PLAT2	/13	V3C
	DEVICE DF32;7203;PLAT3	/14
	DEVICE DF32;7004;PLAT4	/15	DF'S HAVE 177 BLOCKS
	DEVICE TC08;6437;QTC08	/16
	DEVICE LINC;6437;QLINC	/17
	DEVICE TM8E;0000;0	/20
	DEVICE TD8E;6437;QTD8E	/21
	DEVICE BAT ;0000;0	/22
	DEVICE RK8E;1520;QRK8E	/23
	DEVICE NULL;0000;0	/24
	DEVICE RX8E;7022;QUNIT	/25
	DEVICE RL01;-7761;RLSP	/26
	DEVICE TA8E;0000;QTA8E	/27
	DEVICE VR12;0000;0	/30
	DEVICE RL01;-3751;RLSPC	/31
	DEVICE RX02;6044;QUNIT	/32
	DEVICE VXA0;7600;PLAT1	/33
	DEVICE VXA0;7400;PLAT2	/34
	DEVICE VXA0;7200;PLAT3	/35
	DEVICE DUMP;0000;0	/36
	DEVICE TU58;7000;QUNIT	/37
	DEVICE SI43;1520;QSI43	/40
	DEVICE RB01;6556;QRB0	/41
	DEVICE RB07;6556;QRB0	/42
	ZBLOCK 24		/43-47
	DEVICE VMT8;0000;PLAT0	/50
	DEVICE VMT8;0000;PLAT1	/51
	DEVICE VMT8;0000;PLAT2	/52
	DEVICE VMT8;0000;PLAT3	/53
	DEVICE VMT8;0000;PLAT4	/54
	DEVICE VMT8;0000;PLAT5	/55
	DEVICE VMT8;0000;PLAT6	/56
	DEVICE VMT8;0000;PLAT7	/57
	DEVICE COMM;0000;0	/60	/COMMUNICATION
	DEVICE DRUK;0000;QLPTR	/61	/ALTERNATE LPTR
	ZBLOCK TYPTBL+400-.
	PAGE