Trailing-Edge
-
PDP-10 Archives
-
BB-P363B-SM_1985
-
mcb/drivers/dmcdat.lst
There are no other files named dmcdat.lst in the archive.
25-Jan-1983 10:09:57 TOPS-20 Bliss-16 3(552) Page 1
30-Dec-1982 02:37:13 NETPKG:<DRIVERS>DMCDAT.R16.10 (1)
; 0001 ! [Beginning of DMCDAT]
; 0002 !
; 0003 !
; 0004 ! COPYRIGHT (c) 1980, 1981, 1982
; 0005 ! DIGITAL EQUIPMENT CORPORATION
; 0006 ! Maynard, Massachusetts
; 0007 !
; 0008 ! This software is furnished under a license and may be used
; 0009 ! and copied only in accordance with the terms of such license
; 0010 ! and with the inclusion of the above copyright notice. This
; 0011 ! software or any other copies thereof may not be provided or
; 0012 ! otherwise made available to any other person. No title to
; 0013 ! and ownership of the software is hereby transferred.
; 0014 !
; 0015 ! The information in this software is subject to change
; 0016 ! without notice and should not be construed as a commitment
; 0017 ! by DIGITAL EQUIPMENT CORPORATION.
; 0018 !
; 0019 ! DIGITAL assumes no responsibility for the use or reliability
; 0020 ! of its software on equipment which is not supplied by
; 0021 ! DIGITAL.
; 0022 !
; 0023
; 0024 !++
; 0025 !
; 0026 ! FACILITY: MCB DMC Driver
; 0027 !
; 0028 ! ABSTRACT:
; 0029 !
; 0030 ! This contains the data structure definitions for the DMC DLC.
; 0031 !
; 0032 ! ENVIRONMENT: MCB V3.0
; 0033 !
; 0034 ! AUTHOR: Alan D. Peckham CREATION DATE: 30-Oct-80
; 0035 !
; 0036 ! MODIFIED BY:
; 0037 !
; 0038 ! Alan D. Peckham, 30-Oct-80: Version 1
; 0039 ! 01 - Rewrite from MACRO-11 to BLISS.
; 0040 ! 04 - Map the data base.
; 0041 ! Add Network management parameters and counters.
; 0042 ! 05 - Add interrupt vector/priority.
; 0043 ! 06 - Extend event logging buffer.
; 0044 ! 07 - Add network management constants.
; 0045 ! 08 - Add controller loopback flag.
; 0046 ! 09 - Modify DD_CLEARED to allow DD_HALTED to be zero.
; 0047 ! 10 - Add hardware error counters.
; 0048 ! 11 - Add conflicting vector counter.
; 0049 ! 12 - Maintain new system specific line counters (2500,2501,2502).
; 0050 ! 13 - Add protocol up bit.
; 0051 ! 14 - Add CIRCUIT COST for Transport.
; 0052 ! 15 - Add seconds-since-last-zeroed support.
25-Jan-1983 10:09:57 TOPS-20 Bliss-16 3(552) Page 2
30-Dec-1982 02:37:13 NETPKG:<DRIVERS>DMCDAT.R16.10 (1)
; 0053 !--
; 0054
; 0055 %if not %declared (XPO$K_VERSION) %then library 'XPORT'; %fi
; 0056
; 0057 %if not %declared (MCB$K_VERSION) %then library 'MCBLIB'; %fi
; 0058
; 0059 library 'NMXLIB';
; 0060
; 0061 $SHOW (FIELDS) $SHOW (LITERALS)
; 0062
; 0063 !
; 0064 ! Status Codes:
; 0065 !
; 0066
; 0067 literal
; 0068 DMC$_EVT = STS$VALUE (CODE = 0, SEVERITY = STS$K_INFO),
; 0069 DMC$_PWF = STS$VALUE (CODE = 1, SEVERITY = STS$K_SEVERE),
; 0070 DMC$_MTL = STS$VALUE (CODE = 2, SEVERITY = STS$K_SEVERE),
; 0071 DMC$_QUE = STS$VALUE (CODE = 3, SEVERITY = STS$K_SEVERE),
; 0072 DMC$_LOG = STS$VALUE (CODE = 4, SEVERITY = STS$K_INFO);
; 0073
; 0074 !
; 0075 ! Parameter construction
; 0076 !
; 0077
; 0078 macro
; 0079 PARAMETER_DEVICE = LP1000 %,
; 0080 PARAMETER_DEVICE_REGISTERS = PLL0 %,
; 0081 PARAMETER_CIRCUIT_COUNTERS = CKCTRS %,
; 0082 PARAMETER_LINE_COUNTERS = LNCTRS %;
; 0083
; 0084 !
; 0085 !
; 0086 !
; 0087
; 0088 literal
; 0089 DMC_K_LINE_PROVIDER = 0^1,
; 0090 DMC_K_LINE_OWNER = 1^1,
; 0091 DMC_K_CIRCUIT_PROVIDER = 2^1,
; 0092 DMC_K_NMID_HIGH = 2^1;
; 0093
; 0094 !
; 0095 ! Data base creation items
; 0096 !
; 0097
; 0098 macro
; M 0099 $ALIGN_SIGN =
; M 0100 %assign ($xpo$fill_index, $xpo$fill_index + 1)
; M 0101 %assign ($xpo$fill_temp, 7 - ($xpo$bit_index mod 8))
; 0102 %name (XPOfill, %number ($xpo$fill_index)) = [$BITS ($xpo$fill_temp)], %,
; M 0103 $SIGN_BIT =
; 0104 $XPO$FIELD (1, 1, 0) %;
25-Jan-1983 10:09:57 TOPS-20 Bliss-16 3(552) Page 3
30-Dec-1982 02:37:13 NETPKG:<DRIVERS>DMCDAT.R16.10 (1)
; 0105
; 0106 compiletime
; 0107 $xpo$fill_index = 0,
; 0108 $xpo$fill_temp = 0;
; 0109
; 0110 $FIELD
; 0111 !
; 0112 ! List head definition
; 0113 !
; L 0114 LIST_FIRST = [$ADDRESS],
; %PRINT: [0,0,16,0] (+%O'0')
; L 0115 LIST_LAST = [$ADDRESS];
; %PRINT: [1,0,16,0] (+%O'2')
; 0116
; 0117 compiletime
; L 0118 $dmc$length = $FIELD_SET_SIZE;
; %PRINT: 2 fullwords
; 0119
; 0120 macro
; M 0121 $LIST_HEAD =
; 0122 $SUB_BLOCK (%expand %number ($dmc$length)) %;
; 0123
; 0124 $FIELD
; 0125 !
; 0126 ! Physical 18 bit address
; 0127 !
; L 0128 PHYSICAL_HIGH = [$BITS (16)],
; %PRINT: [0,0,16,0] (+%O'0')
; L 0129 PHYSICAL_LOW = [$BITS (16)];
; %PRINT: [1,0,16,0] (+%O'2')
; 0130
; L 0131 %assign ($dmc$length, $FIELD_SET_SIZE)
; %PRINT: 2 fullwords
; 0132
; 0133 macro
; M 0134 $BIAS =
; 0135 $SHORT_INTEGER %,
; M 0136 $PHYSICAL_ADDRESS =
; 0137 $SUB_BLOCK (%expand %number ($dmc$length)) %,
; M 0138 $SYNCH_BLOCK =
; 0139 $SUB_BLOCK (3) %;
; 0140
; 0141 undeclare
; 0142 $dmc$length;
25-Jan-1983 10:09:57 TOPS-20 Bliss-16 3(552) Page 4
30-Dec-1982 02:37:13 NETPKG:<DRIVERS>DMCDAT.R16.10 (2)
; 0143 !
; 0144 ! DMC11 hardware register definitions
; 0145 !
; 0146
; 0147 field
; 0148 DMC_FIELDS =
; 0149 set
; 0150 SEL0 = [0, 0, 16, 1],
; 0151 BSEL0 = [0, 0, 8, 1],
; 0152 BSEL1 = [0, 8, 8, 1],
; 0153 TYPEI = [0, 0, 3, 0], ! Input request type
; 0154 RQI = [0, 5, 1, 0], ! REQUEST FOR INPUT TRANSFER
; 0155 IEI = [0, 6, 1, 0], ! RDYI INTERRUPT ENABLE
; 0156 RDYI = [0, 7, 1, 1], ! READY FOR INPUT TRANSFER
; 0157 LU_LOOP = [0, 11, 1, 0], ! Line unit loopback
; 0158 MC = [0, 14, 1, 0], ! MASTER CLEAR
; 0159 RUN = [0, 15, 1, 1], ! MICROPROCESSOR RUN BIT (KMC ONLY)
; 0160 SEL2 = [1, 0, 16, 1],
; 0161 BSEL2 = [1, 0, 8, 1],
; 0162 BSEL3 = [1, 8, 8, 1],
; 0163 TYPEO = [0, 0, 3, 0], ! Output request type
; 0164 IEO = [0, 6, 1, 0], ! RDYO INTERRUPT ENABLE
; 0165 RDYO = [0, 7, 1, 1], ! READY FOR OUTPUT TRANSFER
; 0166 SEL4 = [2, 0, 16, 1],
; 0167 SEL6 = [3, 0, 16, 1],
; 0168
; 0169 ! BA/CC
; 0170
; 0171 BA_LOW = [0, 0, 16, 0],
; 0172 CC = [0, 0, 14, 0],
; 0173 BA_HIGH = [0, 14, 2, 0],
; 0174
; 0175 ! BASE I
; 0176
; 0177 B_LOW = [0, 0, 16, 0],
; 0178 RESUME = [0, 13, 1, 0],
; 0179 B_HIGH = [0, 14, 2, 0],
; 0180 ! CNTL I
; 0181
; 0182 MAINT = [0, 8, 1, 0], ! MOP MAINTAINANCE MODE BIT
; 0183 HD = [0, 10, 1, 0], ! HALF DUPLEX FLAG
; 0184 SEC = [0, 11, 1, 0], ! SECONDARY STATION BIT
; 0185
; 0186 ! CNTL O
; 0187
; 0188 DATA_CK = [0, 0, 1, 0], ! Data check
; 0189 TIME_OUT = [0, 1, 1, 0], ! Timeout
; 0190 O_RUN = [0, 2, 1, 0], ! Overrun error
; 0191 MNT_RCVD = [0, 3, 1, 0], ! DDCMP maintenance received
; 0192 DATA_LOST = [0, 4, 1, 0], ! Lost data
; 0193 DISC = [0, 6, 1, 0], ! Disconnect
; 0194 STR_RCVD = [0, 7, 1, 1], ! DDCMP START received
25-Jan-1983 10:09:57 TOPS-20 Bliss-16 3(552) Page 5
30-Dec-1982 02:37:13 NETPKG:<DRIVERS>DMCDAT.R16.10 (2)
; 0195 NXM = [0, 8, 1, 0], ! Non-existent memory
; 0196 PROC_ERR = [0, 9, 1, 0] ! Procedure error
; 0197 tes;
; 0198
; 0199 literal
; 0200 BA_CC_I = 0, ! Buffer Address/Character Count In
; 0201 BA_CC_O = 0, ! Buffer Address/Character Count Out
; 0202 HALT = 2, ! Halt device
; 0203 BASE_I = 3, ! Base In
; 0204 CNTL_I = 1, ! Control In
; 0205 CNTL_O = 1, ! Control Out
; 0206 RCV = 4, ! Reception I/O
; 0207 XMT = 0; ! Transmission I/O
; 0208
; 0209 field
; 0210 BASE_FIELDS =
; 0211 set
; 0212 BASE_COUNTER_BEGIN = [1, 0, 0, 0],
; 0213 BASE_NAKS_RCV_NO_BUF = [1, 8, 8, 0],
; 0214 BASE_NAKS_RCV_HDR_BCC = [2, 0, 8, 0],
; 0215 BASE_NAKS_RCV_DAT_BCC = [2, 8, 8, 0],
; 0216 BASE_NAKS_SND_NO_BUF = [3, 0, 8, 0],
; 0217 BASE_NAKS_SND_HDR_BCC = [3, 8, 8, 0],
; 0218 BASE_NAKS_SND_DAT_BCC = [4, 0, 8, 0],
; 0219 BASE_REPS_SND = [4, 8, 8, 0],
; 0220 BASE_REPS_RCV = [5, 0, 8, 0],
; 0221
; 0222 ! DMR only
; 0223
; 0224 BASE_NAKS_RCV_REP = [5, 8, 8, 0],
; 0225 BASE_NAKS_RCV_RCV_OVRN = [6, 0, 8, 0],
; 0226 BASE_NAKS_RCV_HDR_FMT = [6, 8, 8, 0],
; 0227 BASE_NAKS_RCV_TOO_LONG = [7, 0, 8, 0],
; 0228 BASE_NAKS_SND_RCV_REP = [7, 8, 8, 0],
; 0229 BASE_NAKS_SND_RCV_OVRN = [8, 0, 8, 0],
; 0230 BASE_NAKS_SND_HDR_FMT = [8, 8, 8, 0],
; 0231 BASE_XMT_UNDR = [9, 0, 8, 0],
; 0232 BASE_CALL_FAIL = [9, 8, 8, 0],
; 0233 BASE_CTS_FAIL = [10, 0, 8, 0],
; 0234 BASE_CAR_FAIL = [10, 8, 8, 0],
; 0235 BASE_RCVR_INACTIVE = [11, 0, 8, 0],
; 0236 BASE_STRM_TIMEOUT = [11, 8, 8, 0],
; 0237 BASE_BYTES_TRANSMITTED = [12, 0, 0 %(32)%, 0],
; 0238 BASE_BYTES_RECEIVED = [14, 0, 0 %(32)%, 0],
; 0239 BASE_INCOMPLETE_SEL = [16, 0, 8, 0],
; 0240 BASE_NO_REPLY_TO_SEL = [16, 8, 8, 0],
; 0241 BASE_COUNTER_END = [17, 0, 0, 0]
; 0242 tes;
; 0243
; 0244 literal
; 0245 BASE_COUNTER_LENGTH = 17 - 1,
; 0246 BASE_LENGTH = 128;
25-Jan-1983 10:09:57 TOPS-20 Bliss-16 3(552) Page 6
30-Dec-1982 02:37:13 NETPKG:<DRIVERS>DMCDAT.R16.10 (2)
; 0247
; 0248 macro
; M 0249 $DMC_BITS_CLEAR (REG, FLD) =
; M 0250 begin
; M 0251 bind $DMC$CSR = REG : block field (DMC_FIELDS) volatile;
; M 0252 (.$DMC$CSR [FLD] and $DMC$BIT_MASK [%remaining]) eql 0
; 0253 end %,
; M 0254 $DMC_CLEAR_BITS (REG, FLD) =
; M 0255 begin
; M 0256 bind $DMC$CSR = REG : block field (DMC_FIELDS);
; M 0257 $DMC$CSR [FLD] = .$DMC$CSR [FLD] and not $DMC$BIT_MASK [%remaining]
; 0258 end %,
; M 0259 $DMC_READ (REG, FLD) =
; M 0260 begin
; M 0261 bind $DMC$CSR = REG : block field (DMC_FIELDS);
; M 0262 .$DMC$CSR [$DMC$BYTE (FLD)]
; 0263 end %,
; M 0264 $DMC_SET_BITS (REG, FLD) =
; M 0265 begin
; M 0266 bind $DMC$CSR = REG : block field (DMC_FIELDS);
; M 0267 $DMC$CSR [FLD] = .$DMC$CSR [FLD] or $DMC$BIT_MASK [%remaining]
; 0268 end %,
; M 0269 $DMC_WRITE (REG, FLD, VALUE) =
; M 0270 begin
; M 0271 bind $DMC$CSR = REG : block field (DMC_FIELDS);
; M 0272 $DMC$CSR [$DMC$BYTE (FLD)] = VALUE;
; 0273 end %,
; M 0274 $DMC$BIT_MASK [FLD] =
; 0275 (1^%fieldexpand (FLD, 2) - 1)^%fieldexpand (FLD, 1) %,
; M 0276 $DMC$BYTE (FLD) =
; 0277 %fieldexpand (FLD, 0), %fieldexpand (FLD, 1), %fieldexpand (FLD, 2), 0 %;
25-Jan-1983 10:09:57 TOPS-20 Bliss-16 3(552) Page 7
30-Dec-1982 02:37:13 NETPKG:<DRIVERS>DMCDAT.R16.10 (3)
; 0278 !
; 0279 ! DMC driver data base
; 0280 !
; 0281
; 0282 macro
; M 0283 GET_DMC_DATA_BASE (NAME) =
; M 0284 %if %declared (NAME)
; M 0285 %then map NAME : ref
; M 0286 %else external MCB$GAW_PROCESS_DATA_BASE : vector [2];
; M 0287 bind NAME = .MCB$GAW_PROCESS_DATA_BASE [1] :
; 0288 %fi block field (D_FIELDS); %;
; 0289
; 0290 $FIELD
; 0291 D_FIELDS =
; 0292 set
; L 0293 D_TIM = [$TINY_INTEGER], ! One second timer
; %PRINT: [0,0,8,1] (+%O'0')
; L 0294 DF_NOTIFY_OFF = [$BIT], ! Send OFF state to circuit owner
; %PRINT: [0,8,1,0] (+%O'1')
; L 0295 DF_NOTIFY_STATE = [$BIT], ! Send state to circuit owner
; %PRINT: [0,9,1,0] (+%O'1')
; L 0296 DF_NXM = [$BIT], ! NXM occurred
; %PRINT: [0,10,1,0] (+%O'1')
; L 0297 DF_WAITING_FOR_RDYI = [$BIT], ! Looking for RDI late
; %PRINT: [0,11,1,0] (+%O'1')
; L 0298 DF_FLUSHING_DMC = [$BIT], ! Halting (procedure error expected)
; %PRINT: [0,12,1,0] (+%O'1')
; L 0299 DF_SYNCHRONIZING = [$BIT], ! SYNCH is in progress.
; %PRINT: [0,13,1,0] (+%O'1')
; L 0300 DF_SERVICING_DMC = [$BIT], ! The DMC is being polled for requests
; %PRINT: [0,14,1,0] (+%O'1')
; L 0301 DF_WAITING_FOR_RECEIVE = [$BIT],! Maintenance service timer is active
; %PRINT: [0,15,1,0] (+%O'1')
; 0302 $ALIGN (FULLWORD)
; L 0303 D_REGISTER = [$ADDRESS], ! Address of DMC SEL0 register
; %PRINT: [1,0,16,0] (+%O'2')
; L 0304 D_VECTOR = [$ADDRESS], ! Interrupt vector address
; %PRINT: [2,0,16,0] (+%O'4')
; L 0305 D_PRIORITY = [$TINY_INTEGER], ! Interrupt priority
; %PRINT: [3,0,8,1] (+%O'6')
; L 0306 D_NMX_PIX = [$BYTE], ! Process index for NMX
; %PRINT: [3,8,8,0] (+%O'7')
; L 0307 D_SYNCH_BLOCK = [$ADDRESS], ! SYNCH block.
; %PRINT: [4,0,16,0] (+%O'10')
; L 0308 D_INPUT_DATA = [$SUB_BLOCK (4)], ! DMC input transfer buffer.
; %PRINT: [5,0,0,0] (+%O'12')
; 0309 $OVERLAY ($SUB_FIELD (D_INPUT_DATA, BSEL0))
; L 0310 D_INPUT_COMMAND = [$BYTE], ! DMC input command buffer
; %PRINT: [5,0,8,0] (+%O'12')
; 0311 $CONTINUE
; L 0312 D_OUTPUT_DATA = [$SUB_BLOCK (4)], ! DMC output transfer buffer.
; %PRINT: [9,0,0,0] (+%O'22')
25-Jan-1983 10:09:57 TOPS-20 Bliss-16 3(552) Page 8
30-Dec-1982 02:37:13 NETPKG:<DRIVERS>DMCDAT.R16.10 (3)
; L 0313 D_CONTROL_FLAGS = [$TINY_INTEGER], ! Control flags (priority ordered):
; %PRINT: [13,0,8,1] (+%O'32')
; 0314 $OVERLAY (D_CONTROL_FLAGS)
; L 0315 DC_HALT = [$BIT], ! Halt the protocol
; %PRINT: [13,0,1,0] (+%O'32')
; L 0316 DC_MASTER_CLEAR = [$BIT], ! Master clear the DMC
; %PRINT: [13,1,1,0] (+%O'32')
; L 0317 DC_ZERO_CIRCUIT_COUNTERS = [$BIT],!Zero the circuit counters
; %PRINT: [13,2,1,0] (+%O'32')
; L 0318 DC_ZERO_LINE_COUNTERS = [$BIT], ! Zero the line counters
; %PRINT: [13,3,1,0] (+%O'32')
; L 0319 DC_BASE_IN = [$BIT], ! Assign the base table
; %PRINT: [13,4,1,0] (+%O'32')
; L 0320 DC_CONTROL_IN = [$BIT], ! Do a control in
; %PRINT: [13,5,1,0] (+%O'32')
; L 0321 DC_SET_REQUESTED_STATE = [$BIT],! Set requested state
; %PRINT: [13,6,1,0] (+%O'32')
; L 0322 DC_CONTINUE_CONTROL = [$BIT], ! Continue control function
; %PRINT: [13,7,1,0] (+%O'32')
; 0323 $CONTINUE
; L 0324 DF_HALF_DUPLEX = [$BIT], ! Line half duplex
; %PRINT: [13,8,1,0] (+%O'33')
; L 0325 DF_1_SEC = [$BIT], ! One second retransmit timer
; %PRINT: [13,9,1,0] (+%O'33')
; L 0326 DF_CONTROLLER_LOOPBACK = [$BIT],! DMC is in controller loopback
; %PRINT: [13,10,1,0] (+%O'33')
; L 0327 DF_DMR_LINE = [$BIT], ! Line is a DMR line
; %PRINT: [13,11,1,0] (+%O'33')
; L 0328 DF_DMR = [$BIT], ! Device is a DMR
; %PRINT: [13,12,1,0] (+%O'33')
; L 0329 DF_PROTOCOL_UP = [$BIT], ! Successful transmit or receive
; %PRINT: [13,13,1,0] (+%O'33')
; L 0330 DF_CTL = [$BIT], ! Control function blocked
; %PRINT: [13,14,1,0] (+%O'33')
; L 0331 $ALIGN_SIGN
; %PRINT: [13,15,0,0] (+%O'33')
; L 0332 DF_ACTIVE = [$SIGN_BIT], ! Line is active
; %PRINT: [13,15,1,1] (+%O'33')
; L 0333 D_PROTOCOL_STATE = [$TINY_INTEGER], ! Protocol state
; %PRINT: [14,0,8,1] (+%O'34')
; L 0334 D_REQUESTED_STATE = [$TINY_INTEGER], ! Requested protocol state
; %PRINT: [14,8,8,1] (+%O'35')
; L 0335 D_REPORTED_STATE = [$TINY_INTEGER], ! Reported circuit state
; %PRINT: [15,0,8,1] (+%O'36')
; L 0336 D_LINE_STATE = [$TINY_INTEGER], ! Network Management line state
; %PRINT: [15,8,8,1] (+%O'37')
; L 0337 D_DEVICE_STATE = [$TINY_INTEGER], ! DMC device state
; %PRINT: [16,0,8,1] (+%O'40')
; L 0338 D_TRANSMIT_TIMEOUT = [$TINY_INTEGER], ! Transmitter timeout value
; %PRINT: [16,8,8,1] (+%O'41')
; 0339 $ALIGN (FULLWORD)
; L 0340 D_OWNER_HANDLE = [$SHORT_INTEGER],
25-Jan-1983 10:09:57 TOPS-20 Bliss-16 3(552) Page 9
30-Dec-1982 02:37:13 NETPKG:<DRIVERS>DMCDAT.R16.10 (3)
; %PRINT: [17,0,16,1] (+%O'42')
; L 0341 D_ASSIGNABLE_RECEIVE_CCBS = [$LIST_HEAD],
; %PRINT: [18,0,0,0] (+%O'44')
; L 0342 D_ASSIGNED_RECEIVE_CCBS = [$LIST_HEAD],
; %PRINT: [20,0,0,0] (+%O'50')
; L 0343 D_ASSIGNABLE_TRANSMIT_CCBS = [$LIST_HEAD],
; %PRINT: [22,0,0,0] (+%O'54')
; L 0344 D_ASSIGNED_TRANSMIT_CCBS = [$LIST_HEAD],
; %PRINT: [24,0,0,0] (+%O'60')
; L 0345 D_TRANSMIT_BUFFER_SIZE = [$SHORT_INTEGER], ! Size of transmit buffer
; %PRINT: [26,0,16,1] (+%O'64')
; L 0346 D_NEXT_TRANSMIT_BUFFER = [$ADDRESS], ! Address of next transmit buffer to assign
; %PRINT: [27,0,16,0] (+%O'66')
; L 0347 D_HIGHEST_TRANSMIT_BUFFER = [$ADDRESS], ! Address of end of transmit buffer area
; %PRINT: [28,0,16,0] (+%O'70')
; L 0348 D_PENDING_CONTROLS = [$LIST_HEAD], ! Pending control functions
; %PRINT: [29,0,0,0] (+%O'72')
; L 0349 D_SERVICE_TIMER = [$INTEGER], ! Line service timer
; %PRINT: [31,0,16,1] (+%O'76')
; L 0350 D_CIRCUIT_ENTITY = [$INTEGER], ! Circuit logging entity identification
; %PRINT: [32,0,16,1] (+%O'100')
; L 0351 D_LINE_ENTITY = [$INTEGER], ! Line logging entity identification
; %PRINT: [33,0,16,1] (+%O'102')
; L 0352 D_TRANSIENT_ERROR = [$SHORT_INTEGER], ! Unreported transient error.
; %PRINT: [34,0,16,1] (+%O'104')
; L 0353 D_PERSISTENT_ERROR = [$SHORT_INTEGER], ! Unreported persistent error.
; %PRINT: [35,0,16,1] (+%O'106')
; L 0354 D_ACTIVE_BUFFERS = [$SHORT_INTEGER], ! Receive buffers at user and
; %PRINT: [36,0,16,1] (+%O'110')
; 0355 ! transmit buffers from user.
; L 0356 D_CIRCUIT_COST = [$SHORT_INTEGER], ! ** FOR TRANSPORT **
; %PRINT: [37,0,16,1] (+%O'112')
; L 0357 D_ASSIGNABLE_RECEIVE_COUNT = [$BYTE],
; %PRINT: [38,0,8,0] (+%O'114')
; L 0358 D_ASSIGNABLE_TRANSMIT_COUNT = [$BYTE],
; %PRINT: [38,8,8,0] (+%O'115')
; L 0359 D_ASSIGNED_RECEIVE_COUNT = [$BYTE],
; %PRINT: [39,0,8,0] (+%O'116')
; L 0360 D_ASSIGNED_TRANSMIT_COUNT = [$BYTE],
; %PRINT: [39,8,8,0] (+%O'117')
; L 0361 D_MAXIMUM_RECEIVE_COUNT = [$BYTE],
; %PRINT: [40,0,8,0] (+%O'120')
; L 0362 D_MAXIMUM_TRANSMIT_COUNT = [$BYTE],
; %PRINT: [40,8,8,0] (+%O'121')
; 0363 $ALIGN (FULLWORD)
; L 0364 D_BYTES_TRANSMITTED = [$COUNTER (32)], ! Number of data bytes transmitted
; %PRINT: [41,0,0,1] (+%O'122')
; L 0365 D_BYTES_RECEIVED = [$COUNTER (32)], ! Number of data bytes received
; %PRINT: [43,0,0,1] (+%O'126')
; L 0366 D_BLOCKS_TRANSMITTED = [$COUNTER (32)], ! Number of data blocks transmitted
; %PRINT: [45,0,0,1] (+%O'132')
; L 0367 D_BLOCKS_RECEIVED = [$COUNTER (32)], ! Number of data blocks received
25-Jan-1983 10:09:57 TOPS-20 Bliss-16 3(552) Page 10
30-Dec-1982 02:37:13 NETPKG:<DRIVERS>DMCDAT.R16.10 (3)
; %PRINT: [47,0,0,1] (+%O'136')
; L 0368 DB_TIME_LINE_ZEROED = [$TIME], ! Time line counters zeroed
; %PRINT: [49,0,0,1] (+%O'142')
; 0369 $ALIGN (FULLWORD)
; L 0370 D_CONFIGURATION_ERRORS = [$COUNTER (8)],
; %PRINT: [51,0,8,1] (+%O'146')
; L 0371 D_INVALID_CONTROLLER_REGISTER = [$COUNTER (1)],
; %PRINT: [51,8,1,0] (+%O'147')
; L 0372 D_NXM_CONTROLLER_REGISTER = [$COUNTER (1)],
; %PRINT: [51,9,1,0] (+%O'147')
; L 0373 D_INVALID_UNIT_REGISTER = [$COUNTER (1)],
; %PRINT: [51,10,1,0] (+%O'147')
; L 0374 D_NXM_UNIT_REGISTER = [$COUNTER (1)],
; %PRINT: [51,11,1,0] (+%O'147')
; L 0375 D_INVALID_VECTOR = [$COUNTER (1)],
; %PRINT: [51,12,1,0] (+%O'147')
; L 0376 D_CONFLICTING_VECTOR = [$COUNTER (1)],
; %PRINT: [51,13,1,0] (+%O'147')
; L 0377 D_INVALID_PRIORITY = [$COUNTER (1)],
; %PRINT: [51,14,1,0] (+%O'147')
; 0378 $ALIGN (FULLWORD)
; L 0379 D_DEVICE_SERVICE_ERRORS = [$COUNTER (8)],
; %PRINT: [52,0,8,1] (+%O'150')
; L 0380 D_LOST_INTERRUPT = [$COUNTER (1)],
; %PRINT: [52,8,1,0] (+%O'151')
; L 0381 D_LOST_RDYI = [$COUNTER (1)],
; %PRINT: [52,9,1,0] (+%O'151')
; L 0382 D_LOST_HALT = [$COUNTER (1)],
; %PRINT: [52,10,1,0] (+%O'151')
; L 0383 D_LOST_TRANSMIT = [$COUNTER (1)],
; %PRINT: [52,11,1,0] (+%O'151')
; L 0384 D_LOST_DOORBELL = [$COUNTER (1)],
; %PRINT: [52,12,1,0] (+%O'151')
; 0385 $ALIGN (FULLWORD)
; L 0386 D_FATAL_DEVICE_ERRORS = [$COUNTER (8)],
; %PRINT: [53,0,8,1] (+%O'152')
; L 0387 D_INVALID_REGISTER_CONTENTS = [$COUNTER (1)],
; %PRINT: [53,8,1,0] (+%O'153')
; L 0388 D_RECEIVE_BA_MISMATCH = [$COUNTER (1)],
; %PRINT: [53,9,1,0] (+%O'153')
; L 0389 D_TRANSMIT_BA_MISMATCH = [$COUNTER (1)],
; %PRINT: [53,10,1,0] (+%O'153')
; L 0390 D_NXM_TO_DEVICE = [$COUNTER (1)],
; %PRINT: [53,11,1,0] (+%O'153')
; L 0391 D_MICROCODE_ERROR = [$COUNTER (1)],
; %PRINT: [53,12,1,0] (+%O'153')
; L 0392 D_COMPLETION_QUEUE_OVERRUN = [$COUNTER (1)],
; %PRINT: [53,13,1,0] (+%O'153')
; L 0393 D_DOORBELL_STUCK = [$COUNTER (1)],
; %PRINT: [53,14,1,0] (+%O'153')
; L 0394 D_PROCEDURE_ERROR = [$COUNTER (1)],
; %PRINT: [53,15,1,0] (+%O'153')
25-Jan-1983 10:09:57 TOPS-20 Bliss-16 3(552) Page 11
30-Dec-1982 02:37:13 NETPKG:<DRIVERS>DMCDAT.R16.10 (3)
; 0395 $ALIGN (FULLWORD)
; L 0396 D_LNTB = [$SUB_BLOCK (BASE_LENGTH)], ! DMC base table.
; %PRINT: [54,0,0,0] (+%O'154')
; L 0397 D_CPTB = [$SUB_BLOCK (%fieldexpand (BASE_COUNTER_END, 0))],
; %PRINT: [182,0,0,0] (+%O'554')
; L 0398 D_BUF = [$SUB_BLOCK (0)], ! Transmit buffer area.
; %PRINT: [199,0,0,0] (+%O'616')
; 0399
; 0400 $OVERLAY (D_BUF) ! Initialization data.
; L 0401 DI_HD = [$BIT] ! Half duplex line
; %PRINT: [199,0,1,0] (+%O'616')
; 0402 $CONTINUE
; 0403 tes;
; 0404
; 0405 literal
; L 0406 D_LEN = $FIELD_SET_SIZE,
; %PRINT: 200 fullwords
; 0407 DD_MASTER_CLEARED = 0, ! Device is master cleared
; 0408 DD_HALTED = 1, ! Device is halted
; 0409 DD_BASE_TABLE_ASSIGNED = 2, ! Device has base table assigned
; 0410 DD_RUNNING = 3, ! Device is running
; 0411 DD_SHUT_DOWN = 4, ! Device has shut down
; 0412 DD_CLEARED = 5, ! Device is not defined
; 0413 DD_LOW = min (DD_CLEARED, DD_MASTER_CLEARED, DD_HALTED, DD_BASE_TABLE_ASSIGNED, DD_RUNNING, DD_SHUT_DOWN),
; 0414 DD_HIGH = max (DD_CLEARED, DD_MASTER_CLEARED, DD_HALTED, DD_BASE_TABLE_ASSIGNED, DD_RUNNING, DD_SHUT_DOWN),
; 0415 DL_ON = 0, ! Line is ON
; 0416 DL_OFF = 1, ! Line is OFF
; 0417 DS_HALTED = 0, ! Protocol is in HALTED state
; 0418 DS_ISTRT = 1, ! Protocol is in ISTRT state
; 0419 DS_ASTRT = 2, ! Protocol is in ASTRT state
; 0420 DS_RUNNING = 3, ! Protocol is in RUNNING state
; 0421 DS_MAINTENANCE = 4; ! Protocol is in MAINTENANCE state
; 0422
; 0423 !
; 0424 ! [End of DMCDAT]
; LIBRARY STATISTICS
;
; -------- Symbols -------- Blocks
; File Total Loaded Percent Read
;
; NETPKG:<BLIS16>XPORT.L16.1 568 37 6 0
; NETPKG:<V3P0>MCBLIB.L16.7 372 4 1 0
; NETPKG:<MCB>NMXLIB.L16.13 200 2 1 0
25-Jan-1983 10:09:57 TOPS-20 Bliss-16 3(552) Page 12
; Run Time: 00:13.6
; Elapsed Time: 00:44.1
; Memory Used: 24 pages
; Library Precompilation Complete