Trailing-Edge
-
PDP-10 Archives
-
BB-P363B-SM_1985
-
mcb/drivers/kdpini.lst
There are no other files named kdpini.lst in the archive.
KDPINI 25-Jan-1983 09:55:38 TOPS-20 Bliss-16 3(552) Page 1
30-Dec-1982 03:15:25 NETPKG:<DRIVERS>KDPINI.B16.8 (1)
; 0001 module KDPINI ( ! KMC11/DUP11 Driver Initialization
; 0002 ident = 'X04030',
; 0003 language (bliss16)
; 0004 ) =
; 0005 begin
; 0006
; 0007 !
; 0008 ! COPYRIGHT (c) 1980, 1981, 1982
; 0009 ! DIGITAL EQUIPMENT CORPORATION
; 0010 ! Maynard, Massachusetts
; 0011 !
; 0012 ! This software is furnished under a license and may be used
; 0013 ! and copied only in accordance with the terms of such license
; 0014 ! and with the inclusion of the above copyright notice. This
; 0015 ! software or any other copies thereof may not be provided or
; 0016 ! otherwise made available to any other person. No title to
; 0017 ! and ownership of the software is hereby transferred.
; 0018 !
; 0019 ! The information in this software is subject to change
; 0020 ! without notice and should not be construed as a commitment
; 0021 ! by DIGITAL EQUIPMENT CORPORATION.
; 0022 !
; 0023 ! DIGITAL assumes no responsibility for the use or reliability
; 0024 ! of its software on equipment which is not supplied by
; 0025 ! DIGITAL.
; 0026 !
; 0027
; 0028 !++
; 0029 !
; 0030 ! FACILITY: MCB KDP Driver
; 0031 !
; 0032 ! ABSTRACT:
; 0033 !
; 0034 ! This is the DDM process which services the KMC11 microprocessor
; 0035 ! which controls DUP11 synchronous line devices.
; 0036 !
; 0037 ! ENVIRONMENT: MCB V3.0
; 0038 !
; 0039 ! AUTHOR: Alan D. Peckham CREATION DATE: 9-Mar-81
; 0040 !
; 0041 ! MODIFIED BY:
; 0042 !
; 0043 ! S. I. GOLDFARB, 25-MAR-1977
; 0044 ! R. H. ROSENBAUM, 30-AUG-1977
; 0045 ! L. J. TWAITS, 10-SEP-1977
; 0046 ! D. B. TUTTLE, 10-OCT-1977
; 0047 !
; 0048 ! Alan D. Peckham, 9-Mar-81: Version 4
; 0049 ! 01 - Split off from KDP module.
; 0050 ! 02 - Avoid NXM signal unwinding by using flag (.CRDSP).
; 0051 ! 03 - Get NMXID for event logging.
; 0052 !--
KDPINI 25-Jan-1983 09:55:38 TOPS-20 Bliss-16 3(552) Page 2
X04030 30-Dec-1982 03:15:25 NETPKG:<DRIVERS>KDPINI.B16.8 (1)
; 0053 !
; 0054 ! INCLUDE FILES:
; 0055 !
; 0056
; 0057 library 'MCBLIB';
; 0058
; 0059 library 'XPORT';
; 0060
; 0061 library 'NMXLIB';
; 0062
; 0063 library 'KDPDAT';
; 0064
; 0065 !
; 0066 ! TABLE OF CONTENTS:
; 0067 !
; 0068
; 0069 forward routine
; 0070 KDPNMI,
; 0071 NXM_CATCHER,
; 0072 REGISTER_NXM : KDP_CSR_NUM;
; 0073
; 0074 !
; 0075 ! MACROS:
; 0076 !
; 0077
; 0078 !
; 0079 ! EQUATED SYMBOLS:
; 0080 !
; 0081
; 0082 literal
; 0083 FALSE = 1 EQL 0,
; 0084 NO_OPERATION = 0,
; 0085 TRUE = 1 EQL 1;
; 0086
; 0087 !
; 0088 ! OWN STORAGE:
; 0089 !
; 0090
; 0091 !
; 0092 ! EXTERNAL REFERENCES:
; 0093 !
; 0094
; 0095 external
; 0096 MCB$GAW_PROCESS_DATA_BASE : vector [2],
; 0097 MCB$GW_PROCESS_HANDLE;
; 0098
; 0099 bind
; 0100 DB_BIAS = %name ('.CRDAT') [0];
; 0101
; 0102 macro
; M 0103 GET_DUP_DATA_BASE (NAME) =
; M 0104 %if %declared (NAME)
KDPINI 25-Jan-1983 09:55:38 TOPS-20 Bliss-16 3(552) Page 3
X04030 30-Dec-1982 03:15:25 NETPKG:<DRIVERS>KDPINI.B16.8 (1)
; M 0105 %then map NAME : ref DUP_DATA_BASE
; M 0106 %else bind NAME = .MCB$GAW_PROCESS_DATA_BASE [1] : DUP_DATA_BASE
; 0107 %fi %,
; M 0108 GET_KMC_DATA_BASE (NAME) =
; M 0109 %if %declared (NAME)
; M 0110 %then map NAME : ref KMC_DATA_BASE
; M 0111 %else bind NAME = .MCB$GAW_PROCESS_DATA_BASE [1] : KMC_DATA_BASE
; 0112 %fi %;
KDPINI 25-Jan-1983 09:55:38 TOPS-20 Bliss-16 3(552) Page 4
X04030 30-Dec-1982 03:15:25 NETPKG:<DRIVERS>KDPINI.B16.8 (2)
; 0113 global routine KDPNMI =
; 0114
; 0115 !++
; 0116 ! FUNCTIONAL DESCRIPTION:
; 0117 !
; 0118 !
; 0119 ! FORMAL PARAMETERS:
; 0120 ! None
; 0121 !
; 0122 ! IMPLICIT INPUTS:
; 0123 ! None
; 0124 !
; 0125 ! IMPLICIT OUTPUTS:
; 0126 ! None
; 0127 !
; 0128 ! ROUTINE VALUE:
; 0129 ! COMPLETION CODES:
; 0130 ! None
; 0131 !
; 0132 ! SIDE EFFECTS:
; 0133 ! None
; 0134 !--
; 0135
; 0136 begin
; 0137 GET_DUP_DATA_BASE (DB);
; 0138
; 0139 local
; 0140 NAME_BUFFER : vector [ch$allocation (17)],
; 0141 NMXID,
; 0142 NMXPIX,
; 0143 SAVE_MAP;
; 0144
; 0145 bind
; 0146 NAME_PTR = ch$ptr (NAME_BUFFER);
; 0147
; 0148 if not $MCB_GET_PROCESS_HANDLE (%rad50_11 'NMX', NMXPIX) then return FALSE;
; 0149
; 0150 SMAP$ (SAVE_MAP);
; 0151 MAP$ (.DB [D_EXT_BIAS]);
; 0152 $MCB_GET_DEVICE_NAME (.block [.DB [D_EXT_ADDR], E_ENTITY], NAME_PTR);
; 0153 NMX$OBTAIN_LINE_PROVIDER (.NMXPIX, NAME_PTR, NMXPIX, NMXID);
; 0154 block [.DB [D_EXT_ADDR], E_ENTITY] = .NMXID;
; 0155 MAP$ (.SAVE_MAP);
; 0156 TRUE
; 0157 end; !of routine KDPNMI
.TITLE KDPINI
.IDENT /X04030/
.GLOBL .CRDAT, .CRPIX, P.DTGT, $CALLI
.GLOBL KISAR6, D.NMGT, $NMGID, $CALLP
KDPINI 25-Jan-1983 09:55:38 TOPS-20 Bliss-16 3(552) Page 5
X04030 30-Dec-1982 03:15:25 NETPKG:<DRIVERS>KDPINI.B16.8 (2)
.SBTTL KDPNMI
000000 .PSECT $CODE$, RO
000000 004167 000000G KDPNMI::JSR R1,$SAVE2 ; 0113
000004 162706 000030 SUB #30,SP
000010 016701 000002G MOV .CRDAT+2,R1 ; 0136
000014 012746 000006 MOV #6,-(SP) ; 0148
000020 060616 ADD SP,(SP) ; $MCB$MY.INDEX,*
000022 012746 054640 MOV #54640,-(SP)
000026 012746 000002 MOV #2,-(SP)
000032 012746 000000G MOV #P.DTGT,-(SP)
000036 004767 000000G JSR PC,$CALLI
000042 062706 000010 ADD #10,SP
000046 032700 000001 BIT #1,R0 ; *,$MCB$STATUS
000052 001405 BEQ 1$
000054 016616 000004 MOV 4(SP),(SP) ; $MCB$MY.INDEX,NMXPIX
000060 032700 000001 BIT #1,R0 ; *,$MCB$STATUS
000064 001002 BNE 2$
000066 005000 1$: CLR R0
000070 000456 BR 3$
000072 016702 000000G 2$: MOV KISAR6,R2 ; *,SAVE.MAP 0150
000076 016167 000036 000000G MOV 36(R1),KISAR6 ; 0151
000104 012746 000010 MOV #10,-(SP) ; 0152
000110 060616 ADD SP,(SP) ; NAME.PTR,*
000112 016101 000040 MOV 40(R1),R1
000116 016146 000014 MOV 14(R1),-(SP)
000122 012746 000002 MOV #2,-(SP)
000126 012746 000000G MOV #D.NMGT,-(SP)
000132 004767 000000G JSR PC,$CALLI
000136 012716 000012 MOV #12,(SP) ; 0153
000142 060616 ADD SP,(SP) ; NMXID,*
000144 012746 000012 MOV #12,-(SP)
000150 060616 ADD SP,(SP) ; NMXPIX,*
000152 012746 000022 MOV #22,-(SP)
000156 060616 ADD SP,(SP) ; NAME.PTR,*
000160 012746 001004 MOV #1004,-(SP)
000164 012746 000004 MOV #4,-(SP)
000170 012746 000000G MOV #$NMGID,-(SP)
000174 016646 000022 MOV 22(SP),-(SP) ; NMXPIX,*
000200 004767 000000G JSR PC,$CALLP
000204 016661 000026 000014 MOV 26(SP),14(R1) ; NMXID,* 0154
000212 010267 000000G MOV R2,KISAR6 ; SAVE.MAP,* 0155
000216 062706 000024 ADD #24,SP ; 0136
000222 012700 000001 MOV #1,R0 ; 0113
000226 062706 000030 3$: ADD #30,SP
000232 000207 RTS PC
; Routine Size: 78 words, Routine Base: $CODE$ + 0000
; Maximum stack depth per invocation: 26 words
KDPINI 25-Jan-1983 09:55:38 TOPS-20 Bliss-16 3(552) Page 6
X04030 30-Dec-1982 03:15:25 NETPKG:<DRIVERS>KDPINI.B16.8 (3)
; 0158 routine NXM_CATCHER (SIG, MCH, ENB) =
; 0159
; 0160 !++
; 0161 ! FUNCTIONAL DESCRIPTION:
; 0162 !
; 0163 !
; 0164 ! FORMAL PARAMETERS:
; 0165 ! SIG = signal vector address
; 0166 ! MCH = mechanism vector address
; 0167 ! ENB = enable vector address
; 0168 !
; 0169 ! IMPLICIT INPUTS:
; 0170 ! None
; 0171 !
; 0172 ! IMPLICIT OUTPUTS:
; 0173 ! None
; 0174 !
; 0175 ! ROUTINE VALUE:
; 0176 ! COMPLETION CODES:
; 0177 ! None
; 0178 !
; 0179 ! SIDE EFFECTS:
; 0180 ! None
; 0181 !--
; 0182
; 0183 begin
; 0184
; 0185 map
; 0186 ENB : ref vector,
; 0187 MCH : ref vector,
; 0188 SIG : ref vector;
; 0189
; 0190 if .SIG [1] neq SS$NXM then return FALSE;
; 0191
; 0192 .ENB [1] = TRUE;
; 0193 TRUE
; 0194 end; !of routine NXM_CATCHER
.SBTTL NXM.CATCHER
000000 016600 000006 NXM.CATCHER:
MOV 6(SP),R0 ; SIG,* 0190
000004 026027 000002 000114 CMP 2(R0),#114
000012 001402 BEQ 1$
000014 005000 CLR R0
000016 000207 RTS PC
000020 016600 000002 1$: MOV 2(SP),R0 ; ENB,* 0192
000024 012770 000001 000002 MOV #1,@2(R0)
000032 012700 000001 MOV #1,R0 ; 0158
000036 000207 RTS PC
; Routine Size: 16 words, Routine Base: $CODE$ + 0234
KDPINI 25-Jan-1983 09:55:38 TOPS-20 Bliss-16 3(552) Page 7
X04030 30-Dec-1982 03:15:25 NETPKG:<DRIVERS>KDPINI.B16.8 (3)
; Maximum stack depth per invocation: 0 words
KDPINI 25-Jan-1983 09:55:38 TOPS-20 Bliss-16 3(552) Page 8
X04030 30-Dec-1982 03:15:25 NETPKG:<DRIVERS>KDPINI.B16.8 (4)
; 0195 global routine REGISTER_NXM
; 0196
; 0197 !++
; 0198 ! FUNCTIONAL DESCRIPTION:
; 0199 !
; 0200 !
; 0201 ! FORMAL PARAMETERS:
; 0202 (CSR : ref vector volatile,
; 0203 NUM)
; 0204 !
; 0205 ! IMPLICIT INPUTS:
; 0206 ! None
; 0207 !
; 0208 ! IMPLICIT OUTPUTS:
; 0209 ! None
; 0210 !
; 0211 ! ROUTINE VALUE:
; 0212 : KDP_CSR_NUM =
; 0213 !
; 0214 ! SIDE EFFECTS:
; 0215 ! None
; 0216 !--
; 0217
; 0218 begin
; 0219
; 0220 local
; 0221 FLAG : volatile, %(BLISS initializes to 0 = FALSE)%
; 0222 TEMP;
; 0223
; 0224 enable
; 0225 NXM_CATCHER (FLAG);
; 0226
; 0227 do
; 0228 begin
; 0229 TEMP = .CSR [0];
; 0230 CSR = CSR [1];
; 0231 end
; 0232 while (NUM = .NUM - 1) nequ 0;
; 0233
; 0234 .FLAG
; 0235 end; !of routine REGISTER_NXM
.SBTTL KMCNXM
000000 004167 000000G KMCNXM::JSR R1,$SAVE5 ; 0195
000004 005046 CLR -(SP) ; FLAG
000006 012746 000350' MOV #2$,-(SP)
000012 012746 177776 MOV #-2,-(SP)
000016 060616 ADD SP,(SP)
000020 016746 000000G MOV $IGREG,-(SP)
000024 010667 000000G MOV SP,$IGREG
000030 012002 1$: MOV (R0)+,R2 ; CSR,TEMP 0229
KDPINI 25-Jan-1983 09:55:38 TOPS-20 Bliss-16 3(552) Page 9
X04030 30-Dec-1982 03:15:25 NETPKG:<DRIVERS>KDPINI.B16.8 (4)
000032 077102 SOB R1,1$ ; NUM,* 0232
000034 016600 000006 MOV 6(SP),R0 ; FLAG,* 0234
000040 017767 000000G 000000G MOV @$IGREG,$IGREG ; 0195
000046 062706 000010 ADD #10,SP
000052 000207 RTS PC
000054 012746 000010 2$: MOV #10,-(SP)
000060 060616 ADD SP,(SP) ; FLAG,*
000062 066716 000000G ADD $HANSP,(SP)
000066 012746 000001 MOV #1,-(SP)
000072 012746 000234' MOV #NXM.CATCHER,-(SP)
000076 004767 000000G JSR PC,$HANDL
000102 062706 000016 ADD #16,SP
000106 000207 RTS PC
; Routine Size: 36 words, Routine Base: $CODE$ + 0274
; Maximum stack depth per invocation: 14 words
; 0236 end
; 0237 eludom
; OTS external references
.GLOBL $HANSP, $IGREG, $SAVE5, $SAVE2
.GLOBL $HANDL
; PSECT SUMMARY
;
; Psect Name Words Attributes
; $CODE$ 130 RO , I , LCL, REL, CON
; LIBRARY STATISTICS
;
; -------- Symbols -------- Blocks
; File Total Loaded Percent Read
;
; NETPKG:<V3P0>MCBLIB.L16.7 372 12 3 0
; NETPKG:<BLIS16>XPORT.L16.1 568 0 0 0
; NETPKG:<MCB>NMXLIB.L16.13 200 6 3 0
; NETPKG:<DRIVERS>KDPDAT.L16.3 227 48 21 0
; 0238
; Size: 130 code + 0 data words
KDPINI 25-Jan-1983 09:55:38 TOPS-20 Bliss-16 3(552) Page 10
X04030
; Run Time: 00:02.6
; Elapsed Time: 00:08.2
; Memory Used: 24 pages
; Compilation Complete