Trailing-Edge
-
PDP-10 Archives
-
BB-P363B-SM_1985
-
mcb/drivers/dcpnmx.lst
There are no other files named dcpnmx.lst in the archive.
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 1
30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (1)
; 0001 module DCPNMX ( ! DDCMP Driver Network Management
; 0002 ident = 'X01140',
; 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 DDCMP Protocol Driver
; 0031 !
; 0032 ! ABSTRACT:
; 0033 !
; 0034 ! This module contains the DDCMP protocol Network Management routines.
; 0035 !
; 0036 ! ENVIRONMENT: MCB V3.2
; 0037 !
; 0038 ! AUTHOR: Alan D. Peckham CREATION DATE: 5-Apr-81
; 0039 !
; 0040 ! MODIFIED BY:
; 0041 !
; 0042 ! Alan D. Peckham, 5-Apr-81: Version 1
; 0043 ! 01 - New module for DCP.
; 0044 ! 03 - Maintain line state.
; 0045 ! 04 - Change to routine called by LINE ON/OFF coding.
; 0046 ! 05 - Handle 16 bits of RETRANSMIT TIMER.
; 0047 ! 06 - Use $MCB_GET_DEVICE_NAME to get line/device name.
; 0048 ! Remove common counter routines.
; 0049 ! 07 - Use NMX$PARAMETER to get CIRCUIT/LINE names.
; 0050 ! Add support of SERVICE TIMER.
; 0051 ! Update counters to NM V3.0 .
; 0052 ! 08 - Update parameters to V3.0 .
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 2
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (1)
; 0053 ! 09 - Remove 'counters zeroed' event.
; 0054 ! 10 - Get parameters from KDP process for LINE CHARACTERISTICS.
; 0055 ! 11 - De-commit half-duplex.
; 0056 ! 12 - Fix CLEAR CIRCUIT/LINE ALL to work.
; 0057 ! 13 - Fix SET_LINE_RETRANSMIT_TIMER bug introduced in #5.
; 0058 ! 14 - Add seconds-since-last-zeroed support for lines.
; 0059 ! Eliminate double line counter report from owner and provider.
; 0060 !--
; 0061 !
; 0062 ! INCLUDE FILES:
; 0063 !
; 0064
; 0065 library 'MCBLIB';
; 0066
; 0067 library 'XPORTX';
; 0068
; 0069 library 'NMXLIB';
; 0070
; 0071 library 'DCPDAT';
; 0072
; 0073 !
; 0074 ! TABLE OF CONTENTS:
; 0075 !
; 0076
; 0077 linkage
; 0078 DCP_DB = jsr (register = 5) :
; 0079 nopreserve (0, 1, 2, 3, 4),
; 0080 DCP_DB_CCB = jsr (register = 5, register = 4) :
; 0081 nopreserve (0, 1, 2, 3),
; 0082 DCP_DB_NUM = jsr (register = 5, register = 0) : nopreserve (0, 1, 2);
; 0083
; 0084 forward routine
; 0085 DCPNM : DCP_DB_CCB novalue,
; 0086 PARAMETER_CIRCUIT_COUNTERS : LINKAGE_DB novalue;
; 0087
; 0088 forward routine
; 0089 CLEAR_CIRCUIT : DCP_DB_CCB,
; 0090 CLEAR_LINE : DCP_DB_CCB,
; 0091 IDENTIFY_PARAMETER,
; 0092 MANAGEMENT_PROGRAMMING_ERROR : DCP_DB_CCB,
; 0093 SET_CIRCUIT : DCP_DB_CCB,
; 0094 SET_LINE : DCP_DB_CCB,
; 0095 SET_LINE_CLOCK : DCP_DB_NUM,
; 0096 SET_LINE_CONTROLLER : DCP_DB_NUM,
; 0097 SET_LINE_DUPLEX : DCP_DB_NUM,
; 0098 SET_LINE_PROTOCOL : DCP_DB_NUM,
; 0099 SET_LINE_RETRANSMIT_TIMER : DCP_DB_NUM,
; 0100 SET_LINE_SERVICE_TIMER : DCP_DB_NUM,
; 0101 SET_LINE_STATE : DCP_DB_NUM,
; 0102 SHOW_AND_ZERO_CIRCUIT_COUNTERS : DCP_DB_CCB,
; 0103 SHOW_AND_ZERO_LINE_COUNTERS : DCP_DB_CCB,
; 0104 SHOW_CIRCUIT : DCP_DB_CCB,
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 3
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (1)
; 0105 SHOW_LINE : DCP_DB_CCB,
; 0106 SHOW_SUCCESS : DCP_DB_CCB,
; 0107 SUCCESS : DCP_DB_CCB,
; 0108 ZERO_CIRCUIT_COUNTERS : DCP_DB_CCB,
; 0109 ZERO_LINE_COUNTERS : DCP_DB_CCB;
; 0110
; 0111 !
; 0112 ! MACROS:
; 0113 !
; 0114 ! None
; 0115 !
; 0116 ! EQUATED SYMBOLS:
; 0117 !
; 0118
; 0119 literal
; 0120 TRUE = 1 EQL 1,
; 0121 FALSE = 1 EQL 0,
; 0122 NO_OPERATION = 0;
; 0123
; 0124 macro
; M 0125 $DCP_LINE_PARAMETERS =
; 0126 0, 1100, 1105, 1110, 1111, 1112, 1113, 1120, 1121 %,
; M 0127 $DCP_PARAMETER_NAMES (ENTITY) [NUMBER] =
; 0128 literal %name (ENTITY, '_', NUMBER) = %count; %,
; M 0129 $DCP_PARAMETER_NAME_LIST (ENTITY) [NUMBER] =
; 0130 %name (ENTITY, '_', NUMBER) %,
; M 0131 $DCP_PARAMETER_NUMBER_LIST (ENTITY) [NUMBER] =
; 0132 NUMBER %,
; M 0133 $DCP_PARAMETERS (ENTITY) =
; M 0134 $DCP_PARAMETER_NAMES (ENTITY, %remaining)
; M 0135 literal %name (ENTITY, '_MINIMUM') =
; M 0136 min ($DCP_PARAMETER_NAME_LIST (ENTITY, %remaining));
; M 0137 literal %name (ENTITY, '_MAXIMUM') =
; M 0138 max ($DCP_PARAMETER_NAME_LIST (ENTITY, %remaining));
; M 0139 bind %name (ENTITY, '_NUMBERS') =
; 0140 plit ($DCP_PARAMETER_NUMBER_LIST (ENTITY, %remaining)) : vector; %;
; 0141
; 0142 $DCP_PARAMETERS (LINE, $DCP_LINE_PARAMETERS)
; 0143
; 0144 !
; 0145 ! OWN STORAGE:
; 0146 !
; 0147
; 0148 external routine
; 0149 $DSPCR : novalue;
; 0150
; 0151 !
; 0152 ! EXTERNAL REFERENCES:
; 0153 !
; 0154
; 0155 external routine
; 0156 SET_DEVICE : DCP_DB novalue,
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 4
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (1)
; 0157 SET_LINK : DCP_DB novalue;
; 0158
; 0159 external
; 0160 MCB$GAW_PROCESS_DATA_BASE : vector [2],
; 0161 MCB$GW_PROCESS_HANDLE;
; 0162
; 0163 bind
; 0164 DB = MCB$GAW_PROCESS_DATA_BASE [1],
; 0165 DB_BIAS = MCB$GAW_PROCESS_DATA_BASE [0];
; 0166
; 0167 macro
; M 0168 GET_DCP_DATA_BASE (NAME) =
; M 0169 %if %declared (NAME)
; M 0170 %then map NAME : ref
; M 0171 %else bind NAME = .MCB$GAW_PROCESS_DATA_BASE [1] :
; 0172 %fi block field (D_FIELDS) %;
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 5
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (2)
; 0173 routine CLEAR_CIRCUIT
; 0174
; 0175 !++
; 0176 ! FUNCTIONAL DESCRIPTION:
; 0177 !
; 0178 !
; 0179 ! FORMAL PARAMETERS:
; 0180 (DB : ref block field (D_FIELDS),
; 0181 CCB : ref block field (C_NM_FIELDS))
; 0182 !
; 0183 ! IMPLICIT INPUTS:
; 0184 ! None
; 0185 !
; 0186 ! IMPLICIT OUTPUTS:
; 0187 ! None
; 0188 !
; 0189 ! ROUTINE VALUE:
; 0190 !
; 0191 : DCP_DB_CCB =
; 0192 !
; 0193 ! COMPLETION CODES:
; 0194 ! None
; 0195 !
; 0196 ! SIDE EFFECTS:
; 0197 ! None
; 0198 !--
; 0199
; 0200 begin
; 0201 if .CCB [C_CNT] eql 0
; 0202 then
; 0203 NM$SUC
; 0204 else
; 0205 NE$PNA
; 0206 end;
.TITLE DCPNMX
.IDENT /X01140/
000000 .PSECT $PLIT$, RO , D
000000 000011 .WORD 11 ; Plit count word
000002 000000 P.AAA: .WORD 0
000004 002114 .WORD 2114
000006 002121 .WORD 2121
000010 002126 .WORD 2126
000012 002127 .WORD 2127
000014 002130 .WORD 2130
000016 002131 .WORD 2131
000020 002140 .WORD 2140
000022 002141 .WORD 2141
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 6
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (2)
.GLOBL $DSPCR, SETDEV, SETLNK, .CRDAT
.GLOBL .CRPIX
000002' LINE.NUMBERS= P.AAA
.SBTTL CLEAR.CIRCUIT
000000 .PSECT $CODE$, RO
000000 005764 000022 CLEAR.CIRCUIT:
TST 22(R4) ; *(CCB) 0201
000004 001003 BNE 1$
000006 012700 000001 MOV #1,R0 ; 0200
000012 000207 RTS PC
000014 012700 177752 1$: MOV #-26,R0
000020 000207 RTS PC ; 0173
; Routine Size: 9 words, Routine Base: $CODE$ + 0000
; Maximum stack depth per invocation: 0 words
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 7
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (3)
; 0207 routine CLEAR_LINE
; 0208
; 0209 !++
; 0210 ! FUNCTIONAL DESCRIPTION:
; 0211 !
; 0212 !
; 0213 ! FORMAL PARAMETERS:
; 0214 !
; 0215 (DB : ref block field (D_FIELDS),
; 0216 CCB : ref block field (C_NM_FIELDS))
; 0217 !
; 0218 ! IMPLICIT INPUTS:
; 0219 ! None
; 0220 !
; 0221 ! IMPLICIT OUTPUTS:
; 0222 ! None
; 0223 !
; 0224 ! ROUTINE VALUE:
; 0225 !
; 0226 : DCP_DB_CCB =
; 0227 !
; 0228 ! COMPLETION CODES:
; 0229 ! None
; 0230 !
; 0231 ! SIDE EFFECTS:
; 0232 ! None
; 0233 !--
; 0234
; 0235 begin
; 0236 if .CCB [C_CNT] eql 0
; 0237 then
; 0238 NM$SUC
; 0239 else
; 0240 NE$PNA
; 0241 end;
.SBTTL CLEAR.LINE
000000 005764 000022 CLEAR.LINE:
TST 22(R4) ; *(CCB) 0236
000004 001003 BNE 1$
000006 012700 000001 MOV #1,R0 ; 0235
000012 000207 RTS PC
000014 012700 177752 1$: MOV #-26,R0
000020 000207 RTS PC ; 0207
; Routine Size: 9 words, Routine Base: $CODE$ + 0022
; Maximum stack depth per invocation: 0 words
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 8
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (4)
; 0242 global routine DCPNM
; 0243
; 0244 !++
; 0245 ! FUNCTIONAL DESCRIPTION:
; 0246 ! This routine is activated by a control request from
; 0247 ! Network Management.
; 0248 !
; 0249 ! FORMAL PARAMETERS:
; 0250 !
; 0251 (DB : ref block field (D_FIELDS),
; 0252 CCB : ref block field (C_NM_FIELDS))
; 0253 !
; 0254 ! IMPLICIT INPUTS:
; 0255 ! CCB Contents
; 0256 !
; 0257 ! IMPLICIT OUTPUTS:
; 0258 ! None
; 0259 !
; 0260 ! ROUTINE VALUE:
; 0261 !
; 0262 : DCP_DB_CCB novalue =
; 0263 !
; 0264 ! SIDE EFFECTS:
; 0265 ! None
; 0266 !--
; 0267
; 0268 begin
; 0269 begin
; 0270
; 0271 bind
; 0272 LIX = .CCB [C_LIX];
; 0273
; 0274 local
; 0275 RTN;
; 0276
; 0277 RTN =
; 0278 (case .CCB [C_NM_ENTITY] from NMX$ENT_lo to NMX$ENT_hi of
; 0279 set
; 0280 [NMX$ENT_ckt] : ! CIRCUIT parameter
; 0281 case .CCB [C_NM_FUNC] from NMX$FNC_lo to NMX$FNC_hi of
; 0282 set
; 0283 [NMX$FNC_set] : ! Set parameters
; 0284 SET_CIRCUIT;
; 0285 [NMX$FNC_clr] : ! Clear parameters
; 0286 CLEAR_CIRCUIT;
; 0287 [NMX$FNC_zro] : ! Zero counters
; 0288 ZERO_CIRCUIT_COUNTERS;
; 0289 [NMX$FNC_sho] : ! Show selected items
; 0290 SHOW_CIRCUIT;
; 0291 [NMX$FNC_szc] : ! Show and zero counters
; 0292 SHOW_AND_ZERO_CIRCUIT_COUNTERS;
; 0293 [inrange, outrange] :
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 9
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (4)
; 0294 MANAGEMENT_PROGRAMMING_ERROR;
; 0295 tes;
; 0296 [NMX$ENT_lin] : ! LINE parameter
; 0297 case .CCB [C_NM_FUNC] from NMX$FNC_lo to NMX$FNC_hi of
; 0298 set
; 0299 [NMX$FNC_set] : ! Set parameters
; P 0300 .(LIX + TABLE$ (SUCCESS, DCP_K_NMID_HIGH,
; P 0301 (DCP_K_LINE_OWNER, SET_LINE),
; 0302 (DCP_K_LINE_PROVIDER, SET_LINE)));
; 0303 [NMX$FNC_clr] : ! Clear parameters
; P 0304 .(LIX + TABLE$ (SUCCESS, DCP_K_NMID_HIGH,
; 0305 (DCP_K_LINE_PROVIDER, CLEAR_LINE)));
; 0306 [NMX$FNC_zro] : ! Zero counters
; P 0307 .(LIX + TABLE$ (SUCCESS, DCP_K_NMID_HIGH,
; 0308 (DCP_K_LINE_PROVIDER, ZERO_LINE_COUNTERS)));
; 0309 [NMX$FNC_sho] : ! Show selected items
; P 0310 .(LIX + TABLE$ (SHOW_SUCCESS, DCP_K_NMID_HIGH,
; 0311 (DCP_K_LINE_PROVIDER, SHOW_LINE)));
; 0312 [NMX$FNC_szc] : ! Show and zero counters
; P 0313 .(LIX + TABLE$ (SHOW_SUCCESS, DCP_K_NMID_HIGH,
; 0314 (DCP_K_LINE_PROVIDER, SHOW_AND_ZERO_LINE_COUNTERS)));
; 0315 [inrange, outrange] :
; 0316 MANAGEMENT_PROGRAMMING_ERROR;
; 0317 tes;
; 0318
; 0319 [inrange, outrange] :
; 0320 MANAGEMENT_PROGRAMMING_ERROR;
; 0321
; 0322 tes);
; 0323
; 0324 if (CCB [C_STS] = DCP_DB_CCB (.RTN, DB [D_TIM], .CCB)) eql 0
; 0325 then
; 0326 return;
; 0327
; 0328 end;
; 0329 CCB [C_FNC] = FC_CCP;
; 0330 $MCB_SCHEDULE_CCB (.CCB);
; 0331 end; ! of routine DCPNM
000024 .PSECT $PLIT$, RO , D
000024 000000V P.AAE: .WORD SET.LINE
000026 000000V .WORD SET.LINE
000030 000000V .WORD SUCCESS
000032 000022' P.AAF: .WORD CLEAR.LINE
000034 000000V .WORD SUCCESS
000036 000000V .WORD SUCCESS
000040 000000V P.AAG: .WORD ZERO.LINE.COUNTERS
000042 000000V .WORD SUCCESS
000044 000000V .WORD SUCCESS
000046 000000V P.AAH: .WORD SHOW.LINE
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 10
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (4)
000050 000000V .WORD SHOW.SUCCESS
000052 000000V .WORD SHOW.SUCCESS
000054 000000V P.AAI: .WORD SHOW.AND.ZERO.LINE.COUNTERS
000056 000000V .WORD SHOW.SUCCESS
000060 000000V .WORD SHOW.SUCCESS
.GLOBL $SCHED
.SBTTL DCPNM
000044 .PSECT $CODE$, RO
000000 010446 DCPNM:: MOV R4,-(SP) ; 0242
000002 005001 CLR R1 ; 0269
000004 156401 000010 BISB 10(R4),R1 ; *(CCB),*
000010 012700 000024 MOV #24,R0 ; 0278
000014 060400 ADD R4,R0 ; CCB,*
000016 011002 MOV (R0),R2
000020 072227 177770 ASH #-10,R2
000024 042702 177760 BIC #177760,R2
000030 005302 DEC R2
000032 020227 000004 CMP R2,#4
000036 101052 BHI 10$
000040 006302 ASL R2
000042 066207 000062' ADD P.AAB(R2),PC ; Case dispatch
000046 000446 1$: BR 10$
000050 111000 2$: MOVB (R0),R0 ; 0281
000052 006200 ASR R0
000054 042700 177600 BIC #177600,R0
000060 005300 DEC R0
000062 020027 000005 CMP R0,#5
000066 101036 BHI 10$
000070 006300 ASL R0
000072 066007 000074' ADD P.AAC(R0),PC ; Case dispatch
000076 000432 3$: BR 10$
000100 012700 000000V 4$: MOV #SET.CIRCUIT,R0 ; *,RTN
000104 000450 BR 16$
000106 012700 000000' 5$: MOV #CLEAR.CIRCUIT,R0 ; *,RTN
000112 000445 BR 16$
000114 012700 000000V 6$: MOV #ZERO.CIRCUIT.COUNTERS,R0 ; *,RTN
000120 000442 BR 16$
000122 012700 000000V 7$: MOV #SHOW.CIRCUIT,R0 ; *,RTN
000126 000437 BR 16$
000130 012700 000000V 8$: MOV #SHOW.AND.ZERO.CIRCUIT.COUNTERS,R0 ;
; *,RTN
000134 000434 BR 16$ ; 0278
000136 111000 9$: MOVB (R0),R0 ; 0297
000140 006200 ASR R0
000142 042700 177600 BIC #177600,R0
000146 005300 DEC R0
000150 020027 000005 CMP R0,#5
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 11
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (4)
000154 101003 BHI 10$
000156 006300 ASL R0
000160 066007 000110' ADD P.AAD(R0),PC ; Case dispatch
000164 012700 000000V 10$: MOV #MANAGEMENT.PROGRAMMING.ERROR,R0; *,RTN
000170 000416 BR 16$
000172 016100 000024' 11$: MOV P.AAE(R1),R0 ; *,RTN
000176 000413 BR 16$
000200 016100 000032' 12$: MOV P.AAF(R1),R0 ; *,RTN
000204 000410 BR 16$
000206 016100 000040' 13$: MOV P.AAG(R1),R0 ; *,RTN
000212 000405 BR 16$
000214 016100 000046' 14$: MOV P.AAH(R1),R0 ; *,RTN
000220 000402 BR 16$
000222 016100 000054' 15$: MOV P.AAI(R1),R0 ; *,RTN
000226 004710 16$: JSR PC,(R0) ; *,RTN 0324
000230 010064 000014 MOV R0,14(R4) ; *,*(CCB)
000234 001405 BEQ 17$ ; 0326
000236 112764 000022 000012 MOVB #22,12(R4) ; *,*(CCB) 0329
000244 004767 000000G JSR PC,$SCHED ; 0330
000250 012604 17$: MOV (SP)+,R4 ; 0242
000252 000207 RTS PC
; Routine Size: 86 words, Routine Base: $CODE$ + 0044
; Maximum stack depth per invocation: 2 words
000062 .PSECT $PLIT$, RO , D
P.AAB: ; CASE Table for DCPNM+0042 0278
000062 000116 .WORD 116 ; [10$]
000064 000070 .WORD 70 ; [9$]
000066 000116 .WORD 116 ; [10$]
000070 000002 .WORD 2 ; [2$]
000072 000116 .WORD 116 ; [10$]
P.AAC: ; CASE Table for DCPNM+0072 0281
000074 000002 .WORD 2 ; [4$]
000076 000010 .WORD 10 ; [5$]
000100 000016 .WORD 16 ; [6$]
000102 000024 .WORD 24 ; [7$]
000104 000032 .WORD 32 ; [8$]
000106 000066 .WORD 66 ; [10$]
P.AAD: ; CASE Table for DCPNM+0160 0297
000110 000006 .WORD 6 ; [11$]
000112 000014 .WORD 14 ; [12$]
000114 000022 .WORD 22 ; [13$]
000116 000030 .WORD 30 ; [14$]
000120 000036 .WORD 36 ; [15$]
000122 000000 .WORD 0 ; [10$]
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 12
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (5)
; 0332 routine IDENTIFY_PARAMETER
; 0333
; 0334 !++
; 0335 ! FUNCTIONAL DESCRIPTION:
; 0336 !
; 0337 !
; 0338 ! FORMAL PARAMETERS:
; 0339 !
; 0340 (NUMBER,
; 0341 TABLE : ref vector)
; 0342 !
; 0343 ! IMPLICIT INPUTS:
; 0344 !
; 0345 ! IMPLICIT OUTPUTS:
; 0346 ! None
; 0347 !
; 0348 ! ROUTINE VALUE:
; 0349 !
; 0350 =
; 0351 !
; 0352 ! SIDE EFFECTS:
; 0353 ! None
; 0354 !--
; 0355
; 0356 begin
; 0357
; 0358 incru INDEX from 1 to .TABLE [-1] do
; 0359
; 0360 if .NUMBER eql .TABLE [.INDEX - 1] then return .INDEX - 1;
; 0361
; 0362 .TABLE [-1]
; 0363 end; !of routine IDENTIFY_PARAMETER
.SBTTL IDENTIFY.PARAMETER
000320 .PSECT $CODE$, RO
000000 004167 000000G IDENTIFY.PARAMETER:
JSR R1,$SAVE2 ; 0332
000004 016602 000010 MOV 10(SP),R2 ; TABLE,* 0358
000010 012701 000001 MOV #1,R1 ; *,INDEX
000014 000414 BR 3$
000016 010100 1$: MOV R1,R0 ; INDEX,* 0360
000020 006300 ASL R0
000022 066600 000010 ADD 10(SP),R0 ; TABLE,*
000026 026660 000012 177776 CMP 12(SP),-2(R0) ; NUMBER,*
000034 001003 BNE 2$
000036 010100 MOV R1,R0 ; INDEX,*
000040 005300 DEC R0
000042 000207 RTS PC
000044 005201 2$: INC R1 ; INDEX 0358
000046 020162 177776 3$: CMP R1,-2(R2) ; INDEX,*
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 13
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (5)
000052 101761 BLOS 1$
000054 016200 177776 MOV -2(R2),R0 ; 0332
000060 000207 RTS PC
; Routine Size: 25 words, Routine Base: $CODE$ + 0320
; Maximum stack depth per invocation: 4 words
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 14
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (6)
; 0364 routine MANAGEMENT_PROGRAMMING_ERROR
; 0365
; 0366 !++
; 0367 ! FUNCTIONAL DESCRIPTION:
; 0368 !
; 0369 !
; 0370 ! FORMAL PARAMETERS:
; 0371 (DB : ref block field (D_FIELDS),
; 0372 CCB : ref block field (C_NM_FIELDS))
; 0373 !
; 0374 ! IMPLICIT INPUTS:
; 0375 ! None
; 0376 !
; 0377 ! IMPLICIT OUTPUTS:
; 0378 ! None
; 0379 !
; 0380 ! ROUTINE VALUE:
; 0381 !
; 0382 : DCP_DB_CCB =
; 0383 !
; 0384 ! COMPLETION CODES:
; 0385 ! None
; 0386 !
; 0387 ! SIDE EFFECTS:
; 0388 ! None
; 0389 !--
; 0390
; 0391 begin
; 0392 $NM$ERR_MPE
; 0393 end;
.SBTTL MANAGEMENT.PROGRAMMING.ERROR
000000 012700 177773 MANAGEMENT.PROGRAMMING.ERROR:
MOV #-5,R0 ; 0364
000004 000207 RTS PC
; Routine Size: 3 words, Routine Base: $CODE$ + 0402
; Maximum stack depth per invocation: 0 words
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 15
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (7)
; 0394 global routine PARAMETER_CIRCUIT_COUNTERS
; 0395
; 0396 !++
; 0397 ! FUNCTIONAL DESCRIPTION:
; 0398 !
; 0399 !
; 0400 ! FORMAL PARAMETERS:
; 0401 (DB : ref block field (D_FIELDS))
; 0402 !
; 0403 ! IMPLICIT INPUTS:
; 0404 ! None
; 0405 !
; 0406 ! IMPLICIT OUTPUTS:
; 0407 ! None
; 0408 !
; 0409 ! ROUTINE VALUE:
; 0410 !
; 0411 : LINKAGE_DB novalue =
; 0412 !
; 0413 ! SIDE EFFECTS:
; 0414 ! None
; 0415 !--
; 0416
; 0417 begin
; 0418 COUNTER_32 (1000, DB [S_BYTES_RECEIVED]);
; 0419 COUNTER_32 (1001, DB [S_BYTES_TRANSMITTED]);
; 0420 COUNTER_32 (1010, DB [S_DATA_BLOCKS_RECEIVED]);
; 0421 COUNTER_32 (1011, DB [S_DATA_BLOCKS_TRANSMITTED]);
; 0422 COUNTER_8_BM (1020, DB [S_DATA_ERRORS_INBOUND]);
; 0423 COUNTER_8_BM (1021, DB [S_DATA_ERRORS_OUTBOUND]);
; 0424 COUNTER_8 (1030, DB [S_REMOTE_REPLY_TIMEOUTS]);
; 0425 COUNTER_8 (1031, DB [S_LOCAL_REPLY_TIMEOUTS]);
; 0426 COUNTER_8_BM (1040, DB [S_REMOTE_BUFFER_ERRORS]);
; 0427 COUNTER_8_BM (1041, DB [S_LOCAL_BUFFER_ERRORS]);
; 0428 COUNTER_8 (1050, DB [S_SELECTION_INTERVALS]);
; 0429 COUNTER_8_BM (1051, DB [S_SELECTION_TIMEOUTS]);
; 0430 end; !of routine PARAMETER_CIRCUIT_COUNTERS
.GLOBL $DC32, $DC8B, $DC8
.SBTTL CKCTRS
000000 004167 000000G CKCTRS::JSR R1,$SAVE5 ; 0394
000004 010501 MOV R5,R1 ; *,DB
000006 012746 161750 MOV #-16030,-(SP) ; 0418
000012 062705 000020 ADD #20,R5
000016 010500 MOV R5,R0
000020 004767 000000G JSR PC,$DC32
000024 012716 161751 MOV #-16027,(SP) ; 0419
000030 010105 MOV R1,R5 ; DB,*
000032 062705 000024 ADD #24,R5
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 16
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (7)
000036 010500 MOV R5,R0
000040 004767 000000G JSR PC,$DC32
000044 012716 161762 MOV #-16016,(SP) ; 0420
000050 010105 MOV R1,R5 ; DB,*
000052 062705 000030 ADD #30,R5
000056 010500 MOV R5,R0
000060 004767 000000G JSR PC,$DC32
000064 012716 161763 MOV #-16015,(SP) ; 0421
000070 010105 MOV R1,R5 ; DB,*
000072 062705 000034 ADD #34,R5
000076 010500 MOV R5,R0
000100 004767 000000G JSR PC,$DC32
000104 012716 131774 MOV #-46004,(SP) ; 0422
000110 016100 000044 MOV 44(R1),R0 ; *(DB),*
000114 004767 000000G JSR PC,$DC8B
000120 012716 131775 MOV #-46003,(SP) ; 0423
000124 016100 000042 MOV 42(R1),R0 ; *(DB),*
000130 004767 000000G JSR PC,$DC8B
000134 012716 122006 MOV #-55772,(SP) ; 0424
000140 116100 000055 MOVB 55(R1),R0 ; *(DB),*
000144 004767 000000G JSR PC,$DC8
000150 012716 122007 MOV #-55771,(SP) ; 0425
000154 116100 000054 MOVB 54(R1),R0 ; *(DB),*
000160 004767 000000G JSR PC,$DC8
000164 012716 132020 MOV #-45760,(SP) ; 0426
000170 016100 000050 MOV 50(R1),R0 ; *(DB),*
000174 004767 000000G JSR PC,$DC8B
000200 012716 132021 MOV #-45757,(SP) ; 0427
000204 016100 000046 MOV 46(R1),R0 ; *(DB),*
000210 004767 000000G JSR PC,$DC8B
000214 012716 122032 MOV #-55746,(SP) ; 0428
000220 116100 000040 MOVB 40(R1),R0 ; *(DB),*
000224 004767 000000G JSR PC,$DC8
000230 012716 132033 MOV #-45745,(SP) ; 0429
000234 016100 000052 MOV 52(R1),R0 ; *(DB),*
000240 004767 000000G JSR PC,$DC8B
000244 005726 TST (SP)+ ; 0417
000246 000207 RTS PC ; 0394
; Routine Size: 84 words, Routine Base: $CODE$ + 0410
; Maximum stack depth per invocation: 8 words
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 17
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (8)
; 0431 global routine PARAMETER_LINE_COUNTERS
; 0432
; 0433 !++
; 0434 ! FUNCTIONAL DESCRIPTION:
; 0435 !
; 0436 !
; 0437 ! FORMAL PARAMETERS:
; 0438 (DB : ref block field (D_FIELDS))
; 0439 !
; 0440 ! IMPLICIT INPUTS:
; 0441 ! None
; 0442 !
; 0443 ! IMPLICIT OUTPUTS:
; 0444 ! None
; 0445 !
; 0446 ! ROUTINE VALUE:
; 0447 !
; 0448 : LINKAGE_DB novalue =
; 0449 !
; 0450 ! SIDE EFFECTS:
; 0451 ! None
; 0452 !--
; 0453
; 0454 begin
; 0455 COUNTER_16_TIME (0, DB [L_TIME_LINE_ZEROED]);
; 0456 COUNTER_8_BM (1100, DB [L_REMOTE_STATION_ERRORS]);
; 0457 COUNTER_8_BM (1101, DB [L_LOCAL_STATION_ERRORS]);
; 0458 end; !of routine PARAMETER_LINE_COUNTERS
.GLOBL $DT16
.SBTTL LNCTRS
000000 004167 000000G LNCTRS::JSR R1,$SAVE5 ; 0431
000004 010501 MOV R5,R1 ; *,DB
000006 012746 140000 MOV #-40000,-(SP) ; 0455
000012 062705 000056 ADD #56,R5
000016 010500 MOV R5,R0
000020 004767 000000G JSR PC,$DT16
000024 012716 132114 MOV #-45664,(SP) ; 0456
000030 016100 000062 MOV 62(R1),R0 ; *(DB),*
000034 004767 000000G JSR PC,$DC8B
000040 012716 132115 MOV #-45663,(SP) ; 0457
000044 016100 000064 MOV 64(R1),R0 ; *(DB),*
000050 004767 000000G JSR PC,$DC8B
000054 005726 TST (SP)+ ; 0454
000056 000207 RTS PC ; 0431
; Routine Size: 24 words, Routine Base: $CODE$ + 0660
; Maximum stack depth per invocation: 8 words
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 18
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (9)
; 0459 routine SET_CIRCUIT
; 0460
; 0461 !++
; 0462 ! FUNCTIONAL DESCRIPTION:
; 0463 !
; 0464 !
; 0465 ! FORMAL PARAMETERS:
; 0466 !
; 0467 (DB : ref block field (D_FIELDS),
; 0468 CCB : ref block field (C_FIELDS))
; 0469 !
; 0470 ! IMPLICIT INPUTS:
; 0471 ! None
; 0472 !
; 0473 ! IMPLICIT OUTPUTS:
; 0474 ! None
; 0475 !
; 0476 ! ROUTINE VALUE:
; 0477 !
; 0478 : DCP_DB_CCB =
; 0479 !
; 0480 ! COMPLETION CODES:
; 0481 ! None
; 0482 !
; 0483 ! SIDE EFFECTS:
; 0484 ! None
; 0485 !--
; 0486
; 0487 begin
; 0488 NE$PNA
; 0489 end;
.SBTTL SET.CIRCUIT
000000 012700 177752 SET.CIRCUIT:
MOV #-26,R0 ; 0459
000004 000207 RTS PC
; Routine Size: 3 words, Routine Base: $CODE$ + 0740
; Maximum stack depth per invocation: 0 words
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 19
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (10)
; 0490 routine SET_LINE
; 0491
; 0492 !++
; 0493 ! FUNCTIONAL DESCRIPTION:
; 0494 !
; 0495 !
; 0496 ! FORMAL PARAMETERS:
; 0497 !
; 0498 (DB : ref block field (D_FIELDS),
; 0499 CCB : ref block field (C_NM_FIELDS))
; 0500 !
; 0501 ! IMPLICIT INPUTS:
; 0502 ! None
; 0503 !
; 0504 ! IMPLICIT OUTPUTS:
; 0505 ! None
; 0506 !
; 0507 ! ROUTINE VALUE:
; 0508 !
; 0509 : DCP_DB_CCB =
; 0510 !
; 0511 ! COMPLETION CODES:
; 0512 ! None
; 0513 !
; 0514 ! SIDE EFFECTS:
; 0515 ! None
; 0516 !--
; 0517
; 0518 begin
; 0519
; 0520 local
; 0521 BUF_PTR,
; 0522 DATA_ID,
; 0523 DATA_VALUE;
; 0524
; 0525 MAP$ (.CCB [C_BIAS]);
; 0526 BUF_PTR = .CCB [C_ADDR];
; 0527 BYT$STRING_SHORT (BUF_PTR, DATA_ID);
; 0528 DATA_ID = IDENTIFY_PARAMETER (.DATA_ID <0, 12>, LINE_NUMBERS);
; 0529 BYT$STRING_SHORT (BUF_PTR, DATA_VALUE);
; 0530 MAP$ (.DB_BIAS);
; 0531
; 0532 case .DATA_ID from LINE_MINIMUM to LINE_MAXIMUM of
; 0533 set
; 0534 [LINE_0] : SET_LINE_STATE (DB [D_TIM], .DATA_VALUE <0, 8>);
; 0535 [LINE_1110] : SET_LINE_CONTROLLER (DB [D_TIM], .DATA_VALUE <0, 8>);
; 0536 ! [LINE_1111] : SET_LINE_DUPLEX (DB [D_TIM], .DATA_VALUE <0, 8>);
; 0537 [LINE_1112] : SET_LINE_PROTOCOL (DB [D_TIM], .DATA_VALUE <0, 8>);
; 0538 [LINE_1113] : SET_LINE_CLOCK (DB [D_TIM], .DATA_VALUE <0, 8>);
; 0539 [LINE_1120] : SET_LINE_SERVICE_TIMER (DB [D_TIM], .DATA_VALUE);
; 0540 [LINE_1121] : SET_LINE_RETRANSMIT_TIMER (DB [D_TIM], .DATA_VALUE);
; 0541 [inrange, outrange] : ! Parameter not applicable
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 20
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (10)
; 0542 NE$PNA;
; 0543 tes
; 0544
; 0545 end;
.GLOBL KISAR6
.SBTTL SET.LINE
000000 024646 SET.LINE:
CMP -(SP),-(SP) ; 0490
000002 016467 000016 000000G MOV 16(R4),KISAR6 ; *(CCB),* 0525
000010 016401 000020 MOV 20(R4),R1 ; *(CCB),BUF.PTR 0526
000014 112166 000002 MOVB (R1)+,2(SP) ; BUF.PTR,DATA.ID 0527
000020 112166 000003 MOVB (R1)+,3(SP) ; BUF.PTR,DATA.ID+1
000024 016646 000002 MOV 2(SP),-(SP) ; DATA.ID,* 0528
000030 042716 170000 BIC #170000,(SP)
000034 012746 000002' MOV #LINE.NUMBERS,-(SP)
000040 004767 177306 JSR PC,IDENTIFY.PARAMETER
000044 010066 000006 MOV R0,6(SP) ; *,DATA.ID
000050 112166 000004 MOVB (R1)+,4(SP) ; BUF.PTR,DATA.VALUE 0529
000054 112166 000005 MOVB (R1)+,5(SP) ; BUF.PTR,DATA.VALUE+1
000060 016767 000000G 000000G MOV .CRDAT,KISAR6 ; 0530
000066 020027 000010 CMP R0,#10 ; 0532
000072 101003 BHI 1$
000074 006300 ASL R0
000076 066007 000124' ADD P.AAJ(R0),PC ; Case dispatch
000102 012700 177752 1$: MOV #-26,R0
000106 000441 BR 8$
000110 005000 2$: CLR R0 ; 0534
000112 156600 000004 BISB 4(SP),R0 ; DATA.VALUE,*
000116 004767 000000V JSR PC,SET.LINE.STATE
000122 000433 BR 8$ ; 0532
000124 005000 3$: CLR R0 ; 0535
000126 156600 000004 BISB 4(SP),R0 ; DATA.VALUE,*
000132 004767 000000V JSR PC,SET.LINE.CONTROLLER
000136 000425 BR 8$ ; 0532
000140 005000 4$: CLR R0 ; 0537
000142 156600 000004 BISB 4(SP),R0 ; DATA.VALUE,*
000146 004767 000000V JSR PC,SET.LINE.PROTOCOL
000152 000417 BR 8$ ; 0532
000154 005000 5$: CLR R0 ; 0538
000156 156600 000004 BISB 4(SP),R0 ; DATA.VALUE,*
000162 004767 000000V JSR PC,SET.LINE.CLOCK
000166 000411 BR 8$ ; 0532
000170 016600 000004 6$: MOV 4(SP),R0 ; DATA.VALUE,* 0539
000174 004767 000000V JSR PC,SET.LINE.SERVICE.TIMER
000200 000404 BR 8$ ; 0532
000202 016600 000004 7$: MOV 4(SP),R0 ; DATA.VALUE,* 0540
000206 004767 000000V JSR PC,SET.LINE.RETRANSMIT.TIMER
000212 062706 000010 8$: ADD #10,SP ; 0490
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 21
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (10)
000216 000207 RTS PC
; Routine Size: 72 words, Routine Base: $CODE$ + 0746
; Maximum stack depth per invocation: 5 words
000124 .PSECT $PLIT$, RO , D
P.AAJ: ; CASE Table for SET.LINE+0076 0532
000124 000006 .WORD 6 ; [2$]
000126 000000 .WORD 0 ; [1$]
000130 000000 .WORD 0 ; [1$]
000132 000022 .WORD 22 ; [3$]
000134 000000 .WORD 0 ; [1$]
000136 000036 .WORD 36 ; [4$]
000140 000052 .WORD 52 ; [5$]
000142 000066 .WORD 66 ; [6$]
000144 000100 .WORD 100 ; [7$]
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 22
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (11)
; 0546 routine SET_LINE_CLOCK
; 0547
; 0548 !++
; 0549 ! FUNCTIONAL DESCRIPTION:
; 0550 !
; 0551 !
; 0552 ! FORMAL PARAMETERS:
; 0553 !
; 0554 (DB : ref block field (D_FIELDS),
; 0555 CLOCK)
; 0556 !
; 0557 ! IMPLICIT INPUTS:
; 0558 ! None
; 0559 !
; 0560 ! IMPLICIT OUTPUTS:
; 0561 ! None
; 0562 !
; 0563 ! ROUTINE VALUE:
; 0564 !
; 0565 : DCP_DB_NUM =
; 0566 !
; 0567 ! COMPLETION CODES:
; 0568 ! None
; 0569 !
; 0570 ! SIDE EFFECTS:
; 0571 ! None
; 0572 !--
; 0573
; 0574 begin
; 0575
; 0576 literal
; 0577 EXTERN = 0,
; 0578 INTERN = 1;
; 0579
; 0580 if .DB [L_LINE_STATE] eql DL_ON then return NE$CWS;
; 0581
; 0582 selectone .CLOCK of
; 0583 set
; 0584 [EXTERN, INTERN] :
; 0585 begin
; 0586 DB [L_CLOCK] = .CLOCK;
; 0587 NM$SUC
; 0588 end;
; 0589 [otherwise] : NE$IPV;
; 0590 tes
; 0591
; 0592 end;
.SBTTL SET.LINE.CLOCK
001166 .PSECT $CODE$, RO
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 23
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (11)
000000 105765 000014 SET.LINE.CLOCK:
TSTB 14(R5) ; *(DB) 0580
000004 001003 BNE 1$
000006 012700 177765 MOV #-13,R0
000012 000207 RTS PC
000014 005700 1$: TST R0 ; CLOCK 0582
000016 002410 BLT 2$
000020 020027 000001 CMP R0,#1 ; CLOCK,*
000024 003005 BGT 2$
000026 110065 000013 MOVB R0,13(R5) ; CLOCK,*(DB) 0586
000032 012700 000001 MOV #1,R0 ; 0582
000036 000207 RTS PC
000040 012700 177760 2$: MOV #-20,R0
000044 000207 RTS PC ; 0546
; Routine Size: 19 words, Routine Base: $CODE$ + 1166
; Maximum stack depth per invocation: 0 words
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 24
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (12)
; 0593 routine SET_LINE_CONTROLLER
; 0594
; 0595 !++
; 0596 ! FUNCTIONAL DESCRIPTION:
; 0597 !
; 0598 !
; 0599 ! FORMAL PARAMETERS:
; 0600 !
; 0601 (DB : ref block field (D_FIELDS),
; 0602 CONTROLLER)
; 0603 !
; 0604 ! IMPLICIT INPUTS:
; 0605 ! None
; 0606 !
; 0607 ! IMPLICIT OUTPUTS:
; 0608 ! None
; 0609 !
; 0610 ! ROUTINE VALUE:
; 0611 !
; 0612 : DCP_DB_NUM =
; 0613 !
; 0614 ! COMPLETION CODES:
; 0615 ! None
; 0616 !
; 0617 ! SIDE EFFECTS:
; 0618 ! None
; 0619 !--
; 0620
; 0621 begin
; 0622
; 0623 literal
; 0624 LOOPBACK = 1,
; 0625 NORMAL = 0;
; 0626
; 0627 if .DB [L_LINE_STATE] eql DL_ON then return NE$CWS;
; 0628
; 0629 selectone .CONTROLLER of
; 0630 set
; 0631 [NORMAL, LOOPBACK] :
; 0632 begin
; 0633 DB [L_CONTROLLER] = .CONTROLLER;
; 0634 NM$SUC
; 0635 end;
; 0636 [otherwise] : NE$IPV;
; 0637 tes
; 0638
; 0639 end;
.SBTTL SET.LINE.CONTROLLER
000000 105765 000014 SET.LINE.CONTROLLER:
TSTB 14(R5) ; *(DB) 0627
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 25
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (12)
000004 001003 BNE 1$
000006 012700 177765 MOV #-13,R0
000012 000207 RTS PC
000014 005700 1$: TST R0 ; CONTROLLER 0629
000016 002410 BLT 2$
000020 020027 000001 CMP R0,#1 ; CONTROLLER,*
000024 003005 BGT 2$
000026 110065 000011 MOVB R0,11(R5) ; CONTROLLER,*(DB) 0633
000032 012700 000001 MOV #1,R0 ; 0629
000036 000207 RTS PC
000040 012700 177760 2$: MOV #-20,R0
000044 000207 RTS PC ; 0593
; Routine Size: 19 words, Routine Base: $CODE$ + 1234
; Maximum stack depth per invocation: 0 words
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 26
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (13)
; 0640 routine SET_LINE_DUPLEX
; 0641
; 0642 !++
; 0643 ! FUNCTIONAL DESCRIPTION:
; 0644 !
; 0645 !
; 0646 ! FORMAL PARAMETERS:
; 0647 !
; 0648 (DB : ref block field (D_FIELDS),
; 0649 DUPLEX)
; 0650 !
; 0651 ! IMPLICIT INPUTS:
; 0652 ! None
; 0653 !
; 0654 ! IMPLICIT OUTPUTS:
; 0655 ! None
; 0656 !
; 0657 ! ROUTINE VALUE:
; 0658 !
; 0659 : DCP_DB_NUM =
; 0660 !
; 0661 ! COMPLETION CODES:
; 0662 ! None
; 0663 !
; 0664 ! SIDE EFFECTS:
; 0665 ! None
; 0666 !--
; 0667
; 0668 begin
; 0669
; 0670 literal
; 0671 FULL = 0,
; 0672 HALF = 1;
; 0673
; 0674 if .DB [L_LINE_STATE] eql DL_ON then return NE$CWS;
; 0675
; 0676 selectone .DUPLEX of
; 0677 set
; 0678 [FULL, HALF] : (DB [L_DUPLEX] = .DUPLEX; NM$SUC);
; 0679 [otherwise] : NE$IPV;
; 0680 tes
; 0681
; 0682 end;
.SBTTL SET.LINE.DUPLEX
000000 105765 000014 SET.LINE.DUPLEX:
TSTB 14(R5) ; *(DB) 0674
000004 001003 BNE 1$
000006 012700 177765 MOV #-13,R0
000012 000207 RTS PC
000014 005700 1$: TST R0 ; DUPLEX 0676
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 27
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (13)
000016 002410 BLT 2$
000020 020027 000001 CMP R0,#1 ; DUPLEX,*
000024 003005 BGT 2$
000026 110065 000012 MOVB R0,12(R5) ; DUPLEX,*(DB) 0678
000032 012700 000001 MOV #1,R0 ; 0676
000036 000207 RTS PC
000040 012700 177760 2$: MOV #-20,R0
000044 000207 RTS PC ; 0640
; Routine Size: 19 words, Routine Base: $CODE$ + 1302
; Maximum stack depth per invocation: 0 words
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 28
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (14)
; 0683 routine SET_LINE_PROTOCOL
; 0684
; 0685 !++
; 0686 ! FUNCTIONAL DESCRIPTION:
; 0687 !
; 0688 !
; 0689 ! FORMAL PARAMETERS:
; 0690 !
; 0691 (DB : ref block field (D_FIELDS),
; 0692 PROTOCOL)
; 0693 !
; 0694 ! IMPLICIT INPUTS:
; 0695 ! None
; 0696 !
; 0697 ! IMPLICIT OUTPUTS:
; 0698 ! None
; 0699 !
; 0700 ! ROUTINE VALUE:
; 0701 !
; 0702 : DCP_DB_NUM =
; 0703 !
; 0704 ! COMPLETION CODES:
; 0705 ! None
; 0706 !
; 0707 ! SIDE EFFECTS:
; 0708 ! None
; 0709 !--
; 0710
; 0711 begin
; 0712
; 0713 literal
; 0714 DDCMP_POINT = 0,
; 0715 DDCMP_CONTROL = 1,
; 0716 DDCMP_TRIBUTARY = 2,
; 0717 DDCMP_DMC = 4;
; 0718
; 0719 if .DB [L_LINE_STATE] eql DL_ON then return NE$CWS;
; 0720
; 0721 selectone .PROTOCOL of
; 0722 set
; 0723 [DDCMP_POINT, DDCMP_DMC] : (DB [L_PROTOCOL] = .PROTOCOL; NM$SUC);
; 0724 [otherwise] : NE$IPV;
; 0725 tes
; 0726
; 0727 end;
.SBTTL SET.LINE.PROTOCOL
000000 105765 000014 SET.LINE.PROTOCOL:
TSTB 14(R5) ; *(DB) 0719
000004 001003 BNE 1$
000006 012700 177765 MOV #-13,R0
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 29
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (14)
000012 000207 RTS PC
000014 005700 1$: TST R0 ; PROTOCOL 0721
000016 001403 BEQ 2$
000020 020027 000004 CMP R0,#4 ; PROTOCOL,*
000024 001005 BNE 3$
000026 110065 000010 2$: MOVB R0,10(R5) ; PROTOCOL,*(DB) 0723
000032 012700 000001 MOV #1,R0 ; 0721
000036 000207 RTS PC
000040 012700 177760 3$: MOV #-20,R0
000044 000207 RTS PC ; 0683
; Routine Size: 19 words, Routine Base: $CODE$ + 1350
; Maximum stack depth per invocation: 0 words
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 30
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (15)
; 0728 routine SET_LINE_RETRANSMIT_TIMER
; 0729
; 0730 !++
; 0731 ! FUNCTIONAL DESCRIPTION:
; 0732 !
; 0733 !
; 0734 ! FORMAL PARAMETERS:
; 0735 !
; 0736 (DB : ref block field (D_FIELDS),
; 0737 TIME)
; 0738 !
; 0739 ! IMPLICIT INPUTS:
; 0740 ! None
; 0741 !
; 0742 ! IMPLICIT OUTPUTS:
; 0743 ! None
; 0744 !
; 0745 ! ROUTINE VALUE:
; 0746 !
; 0747 : DCP_DB_NUM =
; 0748 !
; 0749 ! COMPLETION CODES:
; 0750 ! None
; 0751 !
; 0752 ! SIDE EFFECTS:
; 0753 ! None
; 0754 !--
; 0755
; 0756 begin
; 0757
; 0758 if .TIME<0, 1, 0> neq 0 or
; 0759 (.TIME<1, 15, 0> mod (1000/2)) neq 0
; 0760 then return NE$IPV;
; 0761
; 0762 DB [L_RETRANSMIT_TIMER] = .TIME<1, 15, 0>/(1000/2);
; 0763 NM$SUC
; 0764 end;
.SBTTL SET.LINE.RETRANSMIT.TIMER
000000 010002 SET.LINE.RETRANSMIT.TIMER:
MOV R0,R2 ; *,TIME 0728
000002 032702 000001 BIT #1,R2 ; *,TIME 0758
000006 001011 BNE 1$
000010 010201 MOV R2,R1 ; TIME,* 0759
000012 006201 ASR R1
000014 042701 100000 BIC #100000,R1
000020 006700 SXT R0
000022 071027 000764 DIV #764,R0
000026 005701 TST R1
000030 001403 BEQ 2$
000032 012700 177760 1$: MOV #-20,R0 ; 0760
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 31
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (15)
000036 000207 RTS PC
000040 010201 2$: MOV R2,R1 ; TIME,* 0762
000042 006201 ASR R1
000044 042701 100000 BIC #100000,R1
000050 005000 CLR R0
000052 071027 000764 DIV #764,R0
000056 010065 000112 MOV R0,112(R5) ; *,*(DB)
000062 012700 000001 MOV #1,R0 ; 0728
000066 000207 RTS PC
; Routine Size: 28 words, Routine Base: $CODE$ + 1416
; Maximum stack depth per invocation: 0 words
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 32
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (16)
; 0765 routine SET_LINE_SERVICE_TIMER
; 0766
; 0767 !++
; 0768 ! FUNCTIONAL DESCRIPTION:
; 0769 !
; 0770 !
; 0771 ! FORMAL PARAMETERS:
; 0772 !
; 0773 (DB : ref block field (D_FIELDS),
; 0774 TIME)
; 0775 !
; 0776 ! IMPLICIT INPUTS:
; 0777 ! None
; 0778 !
; 0779 ! IMPLICIT OUTPUTS:
; 0780 ! None
; 0781 !
; 0782 ! ROUTINE VALUE:
; 0783 !
; 0784 : DCP_DB_NUM =
; 0785 !
; 0786 ! COMPLETION CODES:
; 0787 ! None
; 0788 !
; 0789 ! SIDE EFFECTS:
; 0790 ! None
; 0791 !--
; 0792
; 0793 begin
; 0794
; 0795 if (.TIME<1, 15, 0> mod 1000) neq 0 or
; 0796 .TIME<0, 1, 0> neq 0 then return NE$IPV;
; 0797
; 0798 DB [L_SERVICE_TIMER] = .TIME<1, 15, 0>/(1000/2);
; 0799 NM$SUC
; 0800 end;
.SBTTL SET.LINE.SERVICE.TIMER
000000 010002 SET.LINE.SERVICE.TIMER:
MOV R0,R2 ; *,TIME 0765
000002 010201 MOV R2,R1 ; TIME,* 0795
000004 006201 ASR R1
000006 042701 100000 BIC #100000,R1
000012 006700 SXT R0
000014 071027 001750 DIV #1750,R0
000020 005701 TST R1
000022 001003 BNE 1$
000024 032702 000001 BIT #1,R2 ; *,TIME 0796
000030 001403 BEQ 2$
000032 012700 177760 1$: MOV #-20,R0
000036 000207 RTS PC
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 33
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (16)
000040 010201 2$: MOV R2,R1 ; TIME,* 0798
000042 006201 ASR R1
000044 042701 100000 BIC #100000,R1
000050 005000 CLR R0
000052 071027 000764 DIV #764,R0
000056 010065 000110 MOV R0,110(R5) ; *,*(DB)
000062 012700 000001 MOV #1,R0 ; 0765
000066 000207 RTS PC
; Routine Size: 28 words, Routine Base: $CODE$ + 1506
; Maximum stack depth per invocation: 0 words
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 34
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (17)
; 0801 routine SET_LINE_STATE
; 0802
; 0803 !++
; 0804 ! FUNCTIONAL DESCRIPTION:
; 0805 !
; 0806 !
; 0807 ! FORMAL PARAMETERS:
; 0808 !
; 0809 (DB : ref block field (D_FIELDS),
; 0810 STATE)
; 0811 !
; 0812 ! IMPLICIT INPUTS:
; 0813 ! None
; 0814 !
; 0815 ! IMPLICIT OUTPUTS:
; 0816 ! None
; 0817 !
; 0818 ! ROUTINE VALUE:
; 0819 !
; 0820 : DCP_DB_NUM =
; 0821 !
; 0822 ! COMPLETION CODES:
; 0823 ! None
; 0824 !
; 0825 ! SIDE EFFECTS:
; 0826 ! None
; 0827 !--
; 0828
; 0829 begin
; 0830
; 0831 literal
; 0832 CLEARED = 3,
; 0833 OFF = 1,
; 0834 ON = 0,
; 0835 SERVICE = 2;
; 0836
; 0837 if .STATE eql .DB [L_LINE_STATE] then return NM$SUC;
; 0838
; 0839 selectone .STATE of
; 0840 set
; 0841 [ON] :
; 0842 begin
; 0843 DB [L_LINE_STATE] = .STATE;
; 0844 DB [DC_SET_REQUESTED_STATE] = TRUE;
; 0845 SET_DEVICE (DB [D_TIM]);
; 0846 NM$SUC
; 0847 end;
; 0848 [OFF] :
; 0849 begin
; 0850 DB [L_LINE_STATE] = .STATE;
; 0851 SET_LINK (DB [D_TIM], SS_HALTED);
; 0852 SET_DEVICE (DB [D_TIM]);
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 35
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (17)
; 0853 NM$SUC
; 0854 end;
; 0855 [otherwise] : NE$IPV;
; 0856 tes
; 0857
; 0858 end;
.SBTTL SET.LINE.STATE
000000 010346 SET.LINE.STATE:
MOV R3,-(SP) ; 0801
000002 010446 MOV R4,-(SP)
000004 012701 000014 MOV #14,R1 ; 0837
000010 060501 ADD R5,R1 ; DB,*
000012 111102 MOVB (R1),R2
000014 020002 CMP R0,R2 ; STATE,*
000016 001423 BEQ 2$
000020 005700 TST R0 ; STATE 0839
000022 001007 BNE 1$
000024 110011 MOVB R0,(R1) ; STATE,* 0843
000026 052765 004000 000006 BIS #4000,6(R5) ; *,*(DB) 0844
000034 004767 000000G JSR PC,SETDEV ; 0845
000040 000412 BR 2$ ; 0839
000042 020027 000001 1$: CMP R0,#1 ; STATE,*
000046 001012 BNE 3$
000050 110011 MOVB R0,(R1) ; STATE,* 0850
000052 005046 CLR -(SP) ; 0851
000054 004767 000000G JSR PC,SETLNK
000060 004767 000000G JSR PC,SETDEV ; 0852
000064 005726 TST (SP)+ ; 0849
000066 012700 000001 2$: MOV #1,R0 ; 0839
000072 000402 BR 4$
000074 012700 177760 3$: MOV #-20,R0
000100 012604 4$: MOV (SP)+,R4 ; 0801
000102 012603 MOV (SP)+,R3
000104 000207 RTS PC
; Routine Size: 35 words, Routine Base: $CODE$ + 1576
; Maximum stack depth per invocation: 4 words
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 36
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (18)
; 0859 routine SHOW_AND_ZERO_CIRCUIT_COUNTERS
; 0860
; 0861 !++
; 0862 ! FUNCTIONAL DESCRIPTION:
; 0863 ! This routine writes the counter contents into the NM buffer.
; 0864 !
; 0865 ! FORMAL PARAMETERS:
; 0866 !
; 0867 (DB : ref block field (D_FIELDS),
; 0868 CCB : ref block field (C_NM_FIELDS))
; 0869 !
; 0870 ! IMPLICIT INPUTS:
; 0871 ! None
; 0872 !
; 0873 ! IMPLICIT OUTPUTS:
; 0874 ! None
; 0875 !
; 0876 ! ROUTINE VALUE:
; 0877 !
; 0878 : DCP_DB_CCB =
; 0879 !
; 0880 ! COMPLETION CODES:
; 0881 ! None
; 0882 !
; 0883 ! SIDE EFFECTS:
; 0884 ! None
; 0885 !--
; 0886
; 0887 begin
; 0888 $NM_RESPONSE_BEGIN (.CCB);
; 0889 PARAMETER_CIRCUIT_COUNTERS (DB [D_TIM]);
; 0890 $NM_RESPONSE_END (.CCB);
; 0891 ZERO_CIRCUIT_COUNTERS (DB [D_TIM], .CCB);
; 0892 .CCB [C_STS]
; 0893 end;
.GLOBL $NRBEG, $NREND
.SBTTL SHOW.AND.ZERO.CIRCUIT.COUNTERS
000000 004767 000000G SHOW.AND.ZERO.CIRCUIT.COUNTERS:
JSR PC,$NRBEG ; 0888
000004 004767 176474 JSR PC,CKCTRS ; 0889
000010 004767 000000G JSR PC,$NREND ; 0890
000014 004767 000000V JSR PC,ZERO.CIRCUIT.COUNTERS ; 0891
000020 016400 000014 MOV 14(R4),R0 ; *(CCB),* 0859
000024 000207 RTS PC
; Routine Size: 11 words, Routine Base: $CODE$ + 1704
; Maximum stack depth per invocation: 1 word
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 37
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (19)
; 0894 routine SHOW_AND_ZERO_LINE_COUNTERS
; 0895
; 0896 !++
; 0897 ! FUNCTIONAL DESCRIPTION:
; 0898 ! This routine writes the counter contents into the NM buffer.
; 0899 !
; 0900 ! FORMAL PARAMETERS:
; 0901 !
; 0902 (DB : ref block field (D_FIELDS),
; 0903 CCB : ref block field (C_NM_FIELDS))
; 0904 !
; 0905 ! IMPLICIT INPUTS:
; 0906 ! None
; 0907 !
; 0908 ! IMPLICIT OUTPUTS:
; 0909 ! None
; 0910 !
; 0911 ! ROUTINE VALUE:
; 0912 !
; 0913 : DCP_DB_CCB =
; 0914 !
; 0915 ! COMPLETION CODES:
; 0916 ! None
; 0917 !
; 0918 ! SIDE EFFECTS:
; 0919 ! None
; 0920 !--
; 0921
; 0922 begin
; 0923 $NM_RESPONSE_BEGIN (.CCB);
; 0924 PARAMETER_LINE_COUNTERS (DB [D_TIM]);
; 0925 $NM_RESPONSE_END (.CCB);
; 0926 ZERO_LINE_COUNTERS (DB [D_TIM], .CCB);
; 0927 .CCB [C_STS]
; 0928 end;
.SBTTL SHOW.AND.ZERO.LINE.COUNTERS
000000 004767 000000G SHOW.AND.ZERO.LINE.COUNTERS:
JSR PC,$NRBEG ; 0923
000004 004767 176716 JSR PC,LNCTRS ; 0924
000010 004767 000000G JSR PC,$NREND ; 0925
000014 004767 000000V JSR PC,ZERO.LINE.COUNTERS ; 0926
000020 016400 000014 MOV 14(R4),R0 ; *(CCB),* 0894
000024 000207 RTS PC
; Routine Size: 11 words, Routine Base: $CODE$ + 1732
; Maximum stack depth per invocation: 1 word
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 38
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (20)
; 0929 routine SHOW_CIRCUIT
; 0930
; 0931 !++
; 0932 ! FUNCTIONAL DESCRIPTION:
; 0933 !
; 0934 !
; 0935 ! FORMAL PARAMETERS:
; 0936 !
; 0937 (DB : ref block field (D_FIELDS),
; 0938 CCB : ref block field (C_NM_FIELDS))
; 0939 !
; 0940 ! IMPLICIT INPUTS:
; 0941 ! None
; 0942 !
; 0943 ! IMPLICIT OUTPUTS:
; 0944 ! None
; 0945 !
; 0946 ! ROUTINE VALUE:
; 0947 !
; 0948 : DCP_DB_CCB =
; 0949 !
; 0950 ! COMPLETION CODES:
; 0951 ! None
; 0952 !
; 0953 ! SIDE EFFECTS:
; 0954 ! None
; 0955 !--
; 0956
; 0957 begin
; 0958 $NM_RESPONSE_BEGIN (.CCB);
; 0959
; 0960 selectone .CCB [C_NM_SELECT] of
; 0961 set
; 0962
; 0963 [NMX$SEL_sum, NMX$SEL_sta] :
; 0964 NMX$PARAMETER_CIRCUIT_USER (.DB [D_NMX_PIX], .DB [L_LINE_ENTITY], 1000);
; 0965
; 0966 [NMX$SEL_cha] :
; 0967 begin
; 0968 NMX$PARAMETER_CIRCUIT_OWNER (.DB [D_NMX_PIX], .DB [L_LINE_ENTITY], 1100);
; 0969 NMX$PARAMETER_LINE (.DB [D_NMX_PIX], .DB [L_LINE_ENTITY], 1110);
; 0970 PARAMETER_C_1 (1112, DB [L_PROTOCOL]); ! TYPE
; 0971 end;
; 0972
; 0973 [NMX$SEL_cou] :
; 0974 PARAMETER_CIRCUIT_COUNTERS (DB [D_TIM]);
; 0975
; 0976 [otherwise] :
; 0977 return $NM$ERR_MPE;
; 0978
; 0979 tes;
; 0980
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 39
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (20)
; 0981 $NM_RESPONSE_END (.CCB);
; 0982 .CCB [C_STS]
; 0983 end;
.GLOBL $NPUSR, $CALLP, $NPOWN, $NPNAM
.GLOBL $DPC1
.SBTTL SHOW.CIRCUIT
000000 004767 000000G SHOW.CIRCUIT:
JSR PC,$NRBEG ; 0958
000004 016400 000024 MOV 24(R4),R0 ; *(CCB),* 0960
000010 072027 177764 ASH #-14,R0
000014 042700 177760 BIC #177760,R0
000020 003425 BLE 1$
000022 020027 000002 CMP R0,#2
000026 003022 BGT 1$
000030 012746 001750 MOV #1750,-(SP) ; 0964
000034 016546 000142 MOV 142(R5),-(SP) ; *(DB),*
000040 012746 002004 MOV #2004,-(SP)
000044 012746 000003 MOV #3,-(SP)
000050 012746 000000G MOV #$NPUSR,-(SP)
000054 005046 CLR -(SP)
000056 116516 000100 MOVB 100(R5),(SP) ; *(DB),*
000062 004767 000000G JSR PC,$CALLP
000066 062706 000014 ADD #14,SP
000072 000463 BR 4$ ; 0960
000074 020027 000003 1$: CMP R0,#3
000100 001047 BNE 2$
000102 012746 002114 MOV #2114,-(SP) ; 0968
000106 016546 000142 MOV 142(R5),-(SP) ; *(DB),*
000112 012746 002000 MOV #2000,-(SP)
000116 012746 000003 MOV #3,-(SP)
000122 012746 000000G MOV #$NPOWN,-(SP)
000126 005046 CLR -(SP)
000130 116516 000100 MOVB 100(R5),(SP) ; *(DB),*
000134 004767 000000G JSR PC,$CALLP
000140 012716 002126 MOV #2126,(SP) ; 0969
000144 016546 000142 MOV 142(R5),-(SP) ; *(DB),*
000150 012746 001004 MOV #1004,-(SP)
000154 012746 000003 MOV #3,-(SP)
000160 012746 000000G MOV #$NPNAM,-(SP)
000164 005046 CLR -(SP)
000166 116516 000100 MOVB 100(R5),(SP) ; *(DB),*
000172 004767 000000G JSR PC,$CALLP
000176 012716 002130 MOV #2130,(SP) ; 0970
000202 116500 000010 MOVB 10(R5),R0 ; *(DB),*
000206 004767 000000G JSR PC,$DPC1
000212 062706 000026 ADD #26,SP ; 0967
000216 000411 BR 4$ ; 0960
000220 020027 000004 2$: CMP R0,#4
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 40
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (20)
000224 001003 BNE 3$
000226 004767 176176 JSR PC,CKCTRS ; 0974
000232 000403 BR 4$ ; 0960
000234 012700 177773 3$: MOV #-5,R0 ; 0977
000240 000207 RTS PC
000242 004767 000000G 4$: JSR PC,$NREND ; 0981
000246 016400 000014 MOV 14(R4),R0 ; *(CCB),* 0929
000252 000207 RTS PC
; Routine Size: 86 words, Routine Base: $CODE$ + 1760
; Maximum stack depth per invocation: 12 words
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 41
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (21)
; 0984 routine SHOW_LINE
; 0985
; 0986 !++
; 0987 ! FUNCTIONAL DESCRIPTION:
; 0988 !
; 0989 !
; 0990 ! FORMAL PARAMETERS:
; 0991 !
; 0992 (DB : ref block field (D_FIELDS),
; 0993 CCB : ref block field (C_NM_FIELDS))
; 0994 !
; 0995 ! IMPLICIT INPUTS:
; 0996 ! None
; 0997 !
; 0998 ! IMPLICIT OUTPUTS:
; 0999 ! None
; 1000 !
; 1001 ! ROUTINE VALUE:
; 1002 !
; 1003 : DCP_DB_CCB =
; 1004 !
; 1005 ! COMPLETION CODES:
; 1006 ! None
; 1007 !
; 1008 ! SIDE EFFECTS:
; 1009 ! None
; 1010 !--
; 1011
; 1012 begin
; 1013 $NM_RESPONSE_BEGIN (.CCB);
; 1014
; 1015 selectone .CCB [C_NM_SELECT] of
; 1016 set
; 1017
; 1018 [NMX$SEL_sum, NMX$SEL_sta] :
; 1019 begin
; 1020 PARAMETER_C_1 (0, DB [L_LINE_STATE]); ! STATE
; 1021 end;
; 1022
; 1023 [NMX$SEL_cha] :
; 1024 begin
; 1025
; 1026 local
; 1027 PRM;
; 1028
; 1029 NMX$PARAMETER_LINE (.DB [D_NMX_PIX], .DB [L_LINE_ENTITY], 1100);
; 1030 ! DEVICE
; 1031 PARAMETER_C_1 (1110, DB [L_CONTROLLER]); ! CONTROLLER
; 1032 PARAMETER_C_1 (1111, DB [L_DUPLEX]); ! DUPLEX
; 1033 PARAMETER_C_1 (1112, DB [L_PROTOCOL]); ! PROTOCOL
; 1034 PARAMETER_C_1 (1113, DB [L_CLOCK]); ! CLOCK
; 1035 PRM = .DB [L_SERVICE_TIMER]*1000;
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 42
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (21)
; 1036 PARAMETER_DU_2 (1120, PRM); ! SERVICE TIMER
; 1037 PRM = .DB [L_RETRANSMIT_TIMER]*1000;
; 1038 PARAMETER_DU_2 (1121, PRM); ! RETRANSMIT TIMER
; 1039
; 1040 if .DB [K_REGISTER] neqa 0
; 1041 then
; 1042 begin
; 1043 PARAMETER_O_2 (2650, DB [K_REGISTER]);
; 1044 PARAMETER_O_2 (2651, DB [D_REGISTER]);
; 1045 PARAMETER_O_2 (2655, DB [K_VECTOR]);
; 1046 PARAMETER_DU_1 (2660, DB [K_PRIORITY]);
; 1047 end;
; 1048
; 1049 end;
; 1050
; 1051 [NMX$SEL_cou] :
; 1052 PARAMETER_LINE_COUNTERS (DB [D_TIM]);
; 1053
; 1054 [otherwise] :
; 1055 return $NM$ERR_MPE;
; 1056
; 1057 tes;
; 1058
; 1059 $NM_RESPONSE_END (.CCB);
; 1060 .CCB [C_STS]
; 1061 end;
.GLOBL $DPDU2, $DPO2, $DPDU1
.SBTTL SHOW.LINE
000000 004767 000000G SHOW.LINE:
JSR PC,$NRBEG ; 1013
000004 016400 000024 MOV 24(R4),R0 ; *(CCB),* 1015
000010 072027 177764 ASH #-14,R0
000014 042700 177760 BIC #177760,R0
000020 003412 BLE 1$
000022 020027 000002 CMP R0,#2
000026 003007 BGT 1$
000030 005046 CLR -(SP) ; 1020
000032 116500 000014 MOVB 14(R5),R0 ; *(DB),*
000036 004767 000000G JSR PC,$DPC1
000042 005726 TST (SP)+ ; 1019
000044 000541 BR 5$ ; 1015
000046 020027 000003 1$: CMP R0,#3
000052 001125 BNE 3$
000054 012746 002114 MOV #2114,-(SP) ; 1029
000060 016546 000142 MOV 142(R5),-(SP) ; *(DB),*
000064 012746 001004 MOV #1004,-(SP)
000070 012746 000003 MOV #3,-(SP)
000074 012746 000000G MOV #$NPNAM,-(SP)
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 43
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (21)
000100 005046 CLR -(SP)
000102 116516 000100 MOVB 100(R5),(SP) ; *(DB),*
000106 004767 000000G JSR PC,$CALLP
000112 012716 002126 MOV #2126,(SP) ; 1031
000116 116500 000011 MOVB 11(R5),R0 ; *(DB),*
000122 004767 000000G JSR PC,$DPC1
000126 012716 002127 MOV #2127,(SP) ; 1032
000132 116500 000012 MOVB 12(R5),R0 ; *(DB),*
000136 004767 000000G JSR PC,$DPC1
000142 012716 002130 MOV #2130,(SP) ; 1033
000146 116500 000010 MOVB 10(R5),R0 ; *(DB),*
000152 004767 000000G JSR PC,$DPC1
000156 012716 002131 MOV #2131,(SP) ; 1034
000162 116500 000013 MOVB 13(R5),R0 ; *(DB),*
000166 004767 000000G JSR PC,$DPC1
000172 016501 000110 MOV 110(R5),R1 ; *(DB),* 1035
000176 070127 001750 MUL #1750,R1
000202 012716 002140 MOV #2140,(SP) ; 1036
000206 010100 MOV R1,R0 ; PRM,*
000210 004767 000000G JSR PC,$DPDU2
000214 016501 000112 MOV 112(R5),R1 ; *(DB),* 1037
000220 070127 001750 MUL #1750,R1
000224 012716 002141 MOV #2141,(SP) ; 1038
000230 010100 MOV R1,R0 ; PRM,*
000232 004767 000000G JSR PC,$DPDU2
000236 016500 000102 MOV 102(R5),R0 ; *(DB),* 1040
000242 001426 BEQ 2$
000244 012716 005132 MOV #5132,(SP) ; 1043
000250 004767 000000G JSR PC,$DPO2
000254 012716 005133 MOV #5133,(SP) ; 1044
000260 016500 000106 MOV 106(R5),R0 ; *(DB),*
000264 004767 000000G JSR PC,$DPO2
000270 012716 005137 MOV #5137,(SP) ; 1045
000274 016500 000104 MOV 104(R5),R0 ; *(DB),*
000300 004767 000000G JSR PC,$DPO2
000304 012716 005144 MOV #5144,(SP) ; 1046
000310 116500 000101 MOVB 101(R5),R0 ; *(DB),*
000314 004767 000000G JSR PC,$DPDU1
000320 062706 000014 2$: ADD #14,SP ; 1024
000324 000411 BR 5$ ; 1015
000326 020027 000004 3$: CMP R0,#4
000332 001003 BNE 4$
000334 004767 176064 JSR PC,LNCTRS ; 1052
000340 000403 BR 5$ ; 1015
000342 012700 177773 4$: MOV #-5,R0 ; 1055
000346 000207 RTS PC
000350 004767 000000G 5$: JSR PC,$NREND ; 1059
000354 016400 000014 MOV 14(R4),R0 ; *(CCB),* 0984
000360 000207 RTS PC
; Routine Size: 121 words, Routine Base: $CODE$ + 2234
; Maximum stack depth per invocation: 7 words
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 44
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (22)
; 1062 routine SHOW_SUCCESS
; 1063
; 1064 !++
; 1065 ! FUNCTIONAL DESCRIPTION:
; 1066 !
; 1067 !
; 1068 ! FORMAL PARAMETERS:
; 1069 !
; 1070 (DB : ref block field (D_FIELDS),
; 1071 CCB : ref block field (C_NM_FIELDS))
; 1072 !
; 1073 ! IMPLICIT INPUTS:
; 1074 ! None
; 1075 !
; 1076 ! IMPLICIT OUTPUTS:
; 1077 ! None
; 1078 !
; 1079 ! ROUTINE VALUE:
; 1080 !
; 1081 : DCP_DB_CCB =
; 1082 !
; 1083 ! COMPLETION CODES:
; 1084 ! None
; 1085 !
; 1086 ! SIDE EFFECTS:
; 1087 ! None
; 1088 !--
; 1089
; 1090 begin
; 1091 CCB [C_CNT] = 0;
; 1092 NM$SUC
; 1093 end;
.SBTTL SHOW.SUCCESS
000000 005064 000022 SHOW.SUCCESS:
CLR 22(R4) ; *(CCB) 1091
000004 012700 000001 MOV #1,R0 ; 1062
000010 000207 RTS PC
; Routine Size: 5 words, Routine Base: $CODE$ + 2616
; Maximum stack depth per invocation: 0 words
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 45
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (23)
; 1094 routine SUCCESS
; 1095
; 1096 !++
; 1097 ! FUNCTIONAL DESCRIPTION:
; 1098 !
; 1099 !
; 1100 ! FORMAL PARAMETERS:
; 1101 !
; 1102 (DB : ref block field (D_FIELDS),
; 1103 CCB : ref block field (C_NM_FIELDS))
; 1104 !
; 1105 ! IMPLICIT INPUTS:
; 1106 ! None
; 1107 !
; 1108 ! IMPLICIT OUTPUTS:
; 1109 ! None
; 1110 !
; 1111 ! ROUTINE VALUE:
; 1112 !
; 1113 : DCP_DB_CCB =
; 1114 !
; 1115 ! COMPLETION CODES:
; 1116 ! None
; 1117 !
; 1118 ! SIDE EFFECTS:
; 1119 ! None
; 1120 !--
; 1121
; 1122 begin
; 1123 NM$SUC
; 1124 end;
.SBTTL SUCCESS
000000 012700 000001 SUCCESS:MOV #1,R0 ; 1094
000004 000207 RTS PC
; Routine Size: 3 words, Routine Base: $CODE$ + 2630
; Maximum stack depth per invocation: 0 words
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 46
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (24)
; 1125 routine ZERO_CIRCUIT_COUNTERS
; 1126
; 1127 !++
; 1128 ! FUNCTIONAL DESCRIPTION:
; 1129 !
; 1130 !
; 1131 ! FORMAL PARAMETERS:
; 1132 !
; 1133 (DB : ref block field (D_FIELDS),
; 1134 CCB : ref block field (C_FIELDS))
; 1135 !
; 1136 ! IMPLICIT INPUTS:
; 1137 ! None
; 1138 !
; 1139 ! IMPLICIT OUTPUTS:
; 1140 ! None
; 1141 !
; 1142 ! ROUTINE VALUE:
; 1143 !
; 1144 : DCP_DB_CCB =
; 1145 !
; 1146 ! COMPLETION CODES:
; 1147 ! None
; 1148 !
; 1149 ! SIDE EFFECTS:
; 1150 ! None
; 1151 !--
; 1152
; 1153 begin
; 1154 COUNTER_ZERO (DB, S_BYTES_RECEIVED);
; 1155 COUNTER_ZERO (DB, S_BYTES_TRANSMITTED);
; 1156 COUNTER_ZERO (DB, S_DATA_BLOCKS_RECEIVED);
; 1157 COUNTER_ZERO (DB, S_DATA_BLOCKS_TRANSMITTED);
; 1158 COUNTER_ZERO (DB, S_DATA_ERRORS_INBOUND, 8);
; 1159 COUNTER_ZERO (DB, S_DATA_ERRORS_OUTBOUND, 8);
; 1160 COUNTER_ZERO (DB, S_REMOTE_REPLY_TIMEOUTS);
; 1161 COUNTER_ZERO (DB, S_LOCAL_REPLY_TIMEOUTS);
; 1162 COUNTER_ZERO (DB, S_REMOTE_BUFFER_ERRORS, 8);
; 1163 COUNTER_ZERO (DB, S_LOCAL_BUFFER_ERRORS, 8);
; 1164 COUNTER_ZERO (DB, S_SELECTION_INTERVALS);
; 1165 COUNTER_ZERO (DB, S_SELECTION_TIMEOUTS, 8);
; 1166 NM$SUC
; 1167 end;
.SBTTL ZERO.CIRCUIT.COUNTERS
000000 005065 000020 ZERO.CIRCUIT.COUNTERS:
CLR 20(R5) ; *(DB) 1154
000004 005065 000022 CLR 22(R5) ; *(DB)
000010 005065 000024 CLR 24(R5) ; *(DB) 1155
000014 005065 000026 CLR 26(R5) ; *(DB)
000020 005065 000030 CLR 30(R5) ; *(DB) 1156
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 47
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (24)
000024 005065 000032 CLR 32(R5) ; *(DB)
000030 005065 000034 CLR 34(R5) ; *(DB) 1157
000034 005065 000036 CLR 36(R5) ; *(DB)
000040 005065 000044 CLR 44(R5) ; *(DB) 1158
000044 005065 000042 CLR 42(R5) ; *(DB) 1159
000050 105065 000055 CLRB 55(R5) ; *(DB) 1160
000054 105065 000054 CLRB 54(R5) ; *(DB) 1161
000060 005065 000050 CLR 50(R5) ; *(DB) 1162
000064 005065 000046 CLR 46(R5) ; *(DB) 1163
000070 005065 000040 CLR 40(R5) ; *(DB) 1164
000074 005065 000052 CLR 52(R5) ; *(DB) 1165
000100 012700 000001 MOV #1,R0 ; 1125
000104 000207 RTS PC
; Routine Size: 35 words, Routine Base: $CODE$ + 2636
; Maximum stack depth per invocation: 0 words
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 48
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (25)
; 1168 routine ZERO_LINE_COUNTERS
; 1169
; 1170 !++
; 1171 ! FUNCTIONAL DESCRIPTION:
; 1172 !
; 1173 !
; 1174 ! FORMAL PARAMETERS:
; 1175 !
; 1176 (DB : ref block field (D_FIELDS),
; 1177 CCB : ref block field (C_FIELDS))
; 1178 !
; 1179 ! IMPLICIT INPUTS:
; 1180 ! None
; 1181 !
; 1182 ! IMPLICIT OUTPUTS:
; 1183 ! None
; 1184 !
; 1185 ! ROUTINE VALUE:
; 1186 !
; 1187 : DCP_DB_CCB =
; 1188 !
; 1189 ! COMPLETION CODES:
; 1190 ! None
; 1191 !
; 1192 ! SIDE EFFECTS:
; 1193 ! None
; 1194 !--
; 1195
; 1196 begin
; 1197 $NM_TIME (DB [L_TIME_LINE_ZEROED]);
; 1198 COUNTER_ZERO (DB, L_REMOTE_STATION_ERRORS, 8);
; 1199 COUNTER_ZERO (DB, L_LOCAL_STATION_ERRORS, 8);
; 1200 NM$SUC
; 1201 end;
.GLOBL $ST32
.SBTTL ZERO.LINE.COUNTERS
000000 010500 ZERO.LINE.COUNTERS:
MOV R5,R0 ; DB,* 1197
000002 062700 000056 ADD #56,R0
000006 004767 000000G JSR PC,$ST32
000012 005065 000062 CLR 62(R5) ; *(DB) 1198
000016 005065 000064 CLR 64(R5) ; *(DB) 1199
000022 012700 000001 MOV #1,R0 ; 1168
000026 000207 RTS PC
; Routine Size: 12 words, Routine Base: $CODE$ + 2744
; Maximum stack depth per invocation: 1 word
; 1202 end
DCPNMX 25-Jan-1983 10:00:23 TOPS-20 Bliss-16 3(552) Page 49
X01140 30-Dec-1982 02:28:54 NETPKG:<DRIVERS>DCPNMX.B16.10 (25)
; 1203 eludom
; OTS external references
.GLOBL $SAVE5, $SAVE2
; PSECT SUMMARY
;
; Psect Name Words Attributes
; $PLIT$ 51 RO , D , LCL, REL, CON
; $CODE$ 766 RO , I , LCL, REL, CON
; LIBRARY STATISTICS
;
; -------- Symbols -------- Blocks
; File Total Loaded Percent Read
;
; NETPKG:<V3P0>MCBLIB.L16.7 372 35 9 0
; NETPKG:<MCB>XPORTX.L16.15 599 3 0 0
; NETPKG:<MCB>NMXLIB.L16.13 200 52 26 0
; NETPKG:<DRIVERS>DCPDAT.L16.2 186 119 63 0
; Size: 766 code + 51 data words
; Run Time: 00:13.4
; Elapsed Time: 00:45.1
; Memory Used: 40 pages
; Compilation Complete