Google
 

Trailing-Edge - PDP-10 Archives - BB-H348C-RM_1982 - swskit-v21/listings/mcb/ceddm.list
There are no other files named ceddm.list in the archive.
CEDDM	MACRO M1110  13-OCT-79 08:07
TABLE OF CONTENTS

     5-   74	$DD??? - DLC TO DDM REQUESTS
     7-  151	DDCM1 - COMMON PROCESS FOR SPECIAL NON-CCB FUNCTIONS
     8-  184	DDCM2 - COMMON PROCESS FOR MODEM CONTROL FUNCTIONS
     9-  256	DDCM3 - COMMON PROCESS FOR FUNCTIONS WITH CCB
     9-  257	DDCM4 - COMMON PROCESS FOR FUNCTIONS WITH CCB                   ;SJP0002
    10-  305	$DDAST - ASYNCHRONOUS COMPLETION TO DLC LEVEL
    11-  344	$DDXMP - TRANSMIT COMPLETE TO DLC LEVEL
    11-  345	$DDRCP - RECEIVE COMPLETE TO DLC LEVEL
    11-  346	$DDCCP - CONTROL COMPLETE TO DLC LEVEL
    11-  347	$DDKCP - KILL COMPLETE TO DLC LEVEL
    12-  404	$STDDM - SET DDM PDV INDEX AND LINE TABLE ADDRESS
CEDDM	MACRO M1110  13-OCT-79 08:07  PAGE 3


      1					.IIF DF X$$NDM	.TITLE	CEDDMN
      2					.IIF DF X$$MDC	.TITLE	CEDDMM
      3					.IIF NDF X$$NDM & X$$MDC .TITLE CEDDM
      4						.IDENT	/V01.01/
      5
      6					;
      7					; COPYRIGHT (C) 1978 BY
      8					; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
      9					;
     10					;
     11					; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED
     12					; ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE
     13					; INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER
     14					; COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
     15					; OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY
     16					; TRANSFERRED.
     17					;
     18					; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT  NOTICE
     19					; AND  SHOULD  NOT  BE  CONSTRUED  AS  A COMMITMENT BY DIGITAL EQUIPMENT
     20					; CORPORATION.
     21					;
     22					; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF  ITS
     23					; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
     24					;
     25					;
     26					;MODULE DESCRIPTION:
     27					;
     28					;	CEX DDM/DLC INTERFACE ROUTINES
     29					;
     30					;
     31					; DISTRIBUTED SYSTEMS SOFTWARE ENGINEERING
     32					;
     33					; IDENT HISTORY:
     34					;
     35					; 1.00	10-FEB-78
     36					;	VERSION 2.0 RELEASE
     37					; 1.01	11-APR-79 ALAN D. PECKHAM
     38					;	ADD CODING TO ALLOW MAPPED DLC LINE TABLES
     39
     40					;
     41					; MACRO LIBRARY CALLS
     42					;
     43						.MCALL	INHIB$,ENABL$,SAVRG,RESRG
     44						.MCALL	CCBDF$,HWDDF$,PDVDF$,SLTDF$
     45						.MCALL	CALLR		; AVOID SYSTEM DEPENDENCY
     46	000000					HWDDF$			; DEFINE THE HARDWARE REGISTERS
     47	000000					CCBDF$			; DEFINE THE CCB OFFSETS
     48	000000					PDVDF$			; DEFINE THE PDV OFFSETS
     49	000000					SLTDF$			; DEFINE THE SLT OFFSETS
     50
CEDDM	MACRO M1110  13-OCT-79 08:07  PAGE 4


     52					;
     53					; LOCAL MACRO DEFINITIONS
     54					;
     55
     56						.MACRO	DDFDF,FNC,ARG1                                                  ;SJP0002
     57						.IF B	<ARG1>                                                          ;SJP0002
     58						JSR	R3,DDCM1	; COMMON PROCESSING FOR NON-CCB CONTROL FUNCTION;SJP0002
     59						.IFF                                                                    ;SJP0002
     60						.IF IDN <ARG1>,<MDC>                                                    ;SJP0002
     61						JSR	R3,DDCM2	; COMMON PROCESSING FOR  MODEM CONTROL FUNCTIONS;SJP0002
     62						.IFF                                                                    ;SJP0002
     63						.IF IDN <ARG1>,<SUB>                                                    ;SJP0002
     64						JSR	R3,DDCM4                                                        ;SJP0002
     65						.IFF
     66						JSR	R3,DDCM3	; COMMON PROCESSING FOR CONTROL FUNCTIONS WITH CCB
     67						.ENDC
     68						.ENDC
     69						.ENDC                                                                   ;SJP0002
     70					10$:	.WORD	FNC
     71						.ENDM
CEDDM	MACRO M1110  13-OCT-79 08:07  PAGE 5


     73						.IF NDF	X$$NDM
     74						.SBTTL	$DD??? - DLC TO DDM REQUESTS
     75
     76					;+
     77					;	GENERAL REQUESTS WITH CCB
     78					;;
     79					; FORMAT OF CALL:
     80					;	CALL	$DD???
     81					;
     82					; INPUTS:
     83					;	R4 = ADDRESS OF FIRST CCB IN CHAIN
     84					;		(ALL CCBS MUST CONTAIN A VALID SLN)
     85					;
     86					; OUTPUTS TO DDM:
     87					;	R4 = ADDRESS OF FIRST CCB IN CHAIN
     88					;	R5 = ADDRESS OF DDM LINE TABLE
     89					;	R2 & R3 - AVAILABLE FOR USE WITHOUT SAVING
     90					;
     91					; REGISTERS ACROSS CALL:
     92					;	R0,R1 - MUST BE PRESERVED BY DDM IF USED
     93					;	R2,R3,R5 - PRESERVED BY COMM EXEC
     94					;	R4 - MAY BE MODIFIED
     95					;
     96					; ON RETURN TO DLC:
     97					;	C-BIT CLEAR - REQUEST HAS COMPLETED SYNCHRONOUSLY
     98					;		R4 = ADDRESS OF CCB
     99					;
    100					;	C-BIT SET - REQUEST WILL COMPLETE ASYNCHRONOUSLY
    101					;		R4 = 0
    102					;-
    103
    104					;+
    105					;	SPECIAL REQUESTS WITHOUT CCB
    106					;
    107					;
    108					; FORMAT OF CALL:
    109					;	CALL	$DD???
    110					;
    111					; INPUTS:
    112					;	R3 = SYSTEM LINE NUMBER
    113					;	R4 = OPTIONAL CALLING PARAMETER TO DDM
    114					;
    115					; OUTPUTS TO DDM:
    116					;	R4 = OPTIONAL CALLING PARAMETER FROM DLC
    117					;	R5 = ADDRESS OF DDM LINE TABLE
    118					;	R2 & R3 - AVAILABLE FOR USE WITHOUT SAVING
    119					;
    120					; REGISTERS ACROSS CALL:
    121					; 	R0,R1 - MUST BE PRESERVED BY DDM IF USED
    122					;	R2,R3,R5 - PRESERVED BY COMM EXEC
    123					;	R4 - MAY BE MODIFIED
    124					;
    125					; ON RETURN TO DLC:
    126					;	C-BIT ALWAYS CLEAR
    127					;		R4 = OPTIONAL RETURNING PARAMETER FROM DDM
    128					;-
    129
CEDDM	MACRO M1110  13-OCT-79 08:07  PAGE 6
$DD??? - DLC TO DDM REQUESTS

    131	000000				$DDXME::DDFDF	FC.XME,SUB		; TRANSMIT ENABLE                       ;SJP0002
    132	000006				$DDRCE::DDFDF	FC.RCE,SUB		; RECEIVE ENABLE                        ;SJP0002
    133					                                                                                ;SJP0002
    134	000014				$DDXKL::DDFDF	FC.KIL+FS.XKL,CCB	; TRANSMIT KILL
    135	000022				$DDCRA::DDFDF	FC.KIL+FS.CRA,CCB	; RECEIVE KILL
    136	000030				$DDKIL::DDFDF	FC.KIL+FS.KIL,CCB	; RECEIVE AND TRANSMIT KILL
    137	000036				$DDSTR::DDFDF	FC.CTL+FS.STR,CCB	; START
    138	000044				$DDSTP::DDFDF	FC.CTL+FS.STP,CCB	; STOP
    139	000052				$DDGET::DDFDF	FC.CTL+FS.GET,CCB	; GET CHARACTERISTICS
    140	000060				$DDSET::DDFDF	FC.CTL+FS.SET,CCB	; SET CHARACTERISTICS
    141
    142	000066				$DDRNG::DDFDF	FC.CTL+FS.RNG,MDC	; LOOK FOR RING
    143	000074				$DDENB::DDFDF	FC.CTL+FS.ENB,MDC	; ENABLE LINE
    144	000102				$DDDIS::DDFDF	FC.CTL+FS.DIS,MDC	; DISABLE LINE
    145
    146	000110				$DDXON::DDFDF	FC.CTL+FS.XON		; XON
    147	000116				$DDXOF::DDFDF	FC.CTL+FS.XOF		; XOFF
    148	000124				$DDMSN::DDFDF	FC.CTL+FS.MSN		; SENSE MODEM STATUS
    149
CEDDM	MACRO M1110  13-OCT-79 08:07  PAGE 7
DDCM1 - COMMON PROCESS FOR SPECIAL NON-CCB FUNCTIONS

    151						.SBTTL	DDCM1 - COMMON PROCESS FOR SPECIAL NON-CCB FUNCTIONS
    152
    153					;+
    154					; **-DDCM1 - COMMON PROCESS FOR SPECIAL NON-CCB FUNCTIONS
    155					;
    156					; INPUTS:
    157					;	R3 = ADDRESS OF FUNCTION CODE
    158					;	R4 = UNSPECIFIED CALLING PARAMETER TO DDM
    159					;	STACK CONTAINS:
    160					;		00(SP) = LINE NUMBER (ORIGINALLY IN R3)
    161					;		02(SP) = RETURN ADDRESS TO CALLING DLC
    162					;
    163					; OUTPUTS TO DDM:
    164					;	R3 = SUBFUNCTION CODE (WORD INDEX)
    165					;	R4 = SAME AS ON ENTRY
    166					;	R5 = LINE TABLE ADDRESS
    167					;
    168					; OUTPUTS ON RETURN TO CALLER:
    169					;	FUNCTION HAS BEEN PERFORMED
    170					;	R4 = UNSPECIFIED RETURN PARAMETER TO DLC FROM DDM
    171					;
    172					; REGISTERS ACCROSS CALL:
    173					;	R2,R3,R5 PRESERVED
    174					;	R4	 MAY BE MODIFIED BY DDM
    175					;-
    176
    177						.ENABL	LSB
    178	000132	010246 			DDCM1:	MOV	R2,-(SP)	; SAVE R2
    179	000134	016602 	000002 			MOV	2(SP),R2	; GET LINE NUMBER
    180	000140	000411 				BR	22$		; JOIN COMMON CODE TO DISPATCH TO DDM
    181
    182
CEDDM	MACRO M1110  13-OCT-79 08:07  PAGE 8
DDCM2 - COMMON PROCESS FOR MODEM CONTROL FUNCTIONS

    184						.SBTTL	DDCM2 - COMMON PROCESS FOR MODEM CONTROL FUNCTIONS
    185
    186					;+
    187					; **-DDCM2 - COMMON PROCESS FOR MODEM CONTROL FUNCTIONS
    188					;
    189					; IF THE SPECIFIED LINE HAS MODEM CONTROL ENABLED THE
    190					; FUNCTION REQUEST IS DERAILED TO THE MODEM CONTROLLER.
    191					; ON RETURN FROM THE MODEM CONTROLLER THE REQUEST IS
    192					; ROUTED TO THE PROPER DDM AS USUAL.  IF THE LINE IS
    193					; HARDWIRED THE REQUEST IS ROUTED DIRECTLY TO THE DDM.
    194					; INPUTS:
    195					;	R3 = ADDRESS OF FUNCTION CODE
    196					;	R4 = ADDRESS OF CCB
    197					;	STACK CONTAINS:
    198					;		00(SP) = CALLER'S R3
    199					;		02(SP) = RETURN ADDRESS TO CALLING DLC
    200					;
    201					; OUTPUTS TO MODEM CONTROLLER:
    202					;	R3 = SUBFUNCTION CODE
    203					;	R5 = LINE TABLE ADDRESS
    204					;
    205					; OUTPUTS TO DDM:
    206					;	R3 = SUBFUNCTION CODE
    207					;	R4 = SAME AS ON ENTRY
    208					;	R5 = LINE TABLE ADDRESS
    209					;
    210					; OUTPUTS ON RETURN TO CALLER:
    211					;	C-BIT CLEAR - FUNCTION PERFORMED SYNCHRONOUSLY
    212					;	C-BIT SET - WAIT FOR ASYNCHRONOUS REPORT OF FUNCTION COMPLETION
    213					;
    214					; REGISTERS ACROSS CALL:
    215					;	R2,R3,R5 - PRESERVED
    216					;	R4       - MODIFIED
    217					;-
    218
    219	000142				DDCM2:
    220						.IF DF	X$$MDC
    221					 	MOV	R2,-(SP)	; SAVE R2
    222						CLR	R2		; GET LINE NUMBER
    223						BISB	C.LIN(R4),R2	; WITHOUT SIGN EXTENSION
    224						ASL	R2		; MULTIPLY SLN BY 14 (L.LEN)
    225						ASL	R2		; ...
    226						MOV	R2,-(SP)	; ...
    227						ASL	R2		; ...
    228						ADD	(SP)+,R2	; ...
    229						BIT	#LF.MDC,$SLTTB(R2)  ; DOES LINE NEED MODEM CONTROL?
    230						BEQ	20$		; NO - JOIN COMMON CODE TO DISPATCH TO DDM
    231						MOV	R5,-(SP)	; SAVE REGISTER
    232						MOV	@#KISAR6,-(SP)	; SAVE APR6 FROM PROCESS'S INDESCRETION         ;AP0001
    233						MOV	R3,-(SP)	; SAVE ADDRESS OF FUNCTION CODE
    234						CLR	R2		; GET AUXILARY PROCESS PDX INDEX (ALWAYS 0)     ;SJP0001
    235						MOV	$PDVTB,R5	; GET ADDRESS OF AUXILARY PROCESS' PDV
    236									; THAT WORKS SINCE IT'S PDV INDEX = 0
    237						MOV	Z.DAT(R5),R5	; GET ADDRESS OF DATA BASE DESCRIPTOR BLOCK
    238						CALL	$PDDSP		; DISPATCH TO MODEM CONTROLLER
    239						MOV	(SP)+,R3	; RESTORE R3
    240						CLR	R2		; OBTAIN LINE NUMBER
CEDDM	MACRO M1110  13-OCT-79 08:07  PAGE 8-1
DDCM2 - COMMON PROCESS FOR MODEM CONTROL FUNCTIONS

    241						BISB	C.LIN(R4),R2	; WITHOUT SIGN EXTENSION
    242						BIS	#100000,C.LIN(R4) ; INDICATE MODEM CONTROL REQUEST
    243						CALL	$STDD1		; SET UP DDM PDV INDEX & LINE TABLE ADDRESS
    244						MOV	(R3),C.FNC(R4)	; PUT FUNCTION CODE IN CCB
    245						CALL	$PDDSP		; DISPATCH TO DEVICE DRIVER (DDM)
    246						MOV	(SP)+,@#KISAR6	; APR6 IS NOW SAFE                              ;AP0001
    247						BCS	25$		; REQUEST WILL COMPLETE ASYNCHRONOUSLY
    248						CALL	$CCBRT		; OTHERWISE RETURN CCB TO POOL
    249						CLR	R4		; MODEM CONTROLLER WILL RETURN ASYNCHRONOUS COMPLETION
    250						SEC			; SET C-BIT, LINE IS MODEM CONTROLLED
    251						BR	25$		; JOIN COMMON CODE
    252						.ENDC
    253
    254
CEDDM	MACRO M1110  13-OCT-79 08:07  PAGE 9
DDCM3 - COMMON PROCESS FOR FUNCTIONS WITH CCB

    256						.SBTTL	DDCM3 - COMMON PROCESS FOR FUNCTIONS WITH CCB
    257						.SBTTL 	DDCM4 - COMMON PROCESS FOR FUNCTIONS WITH CCB                   ;SJP0002
    258					                                                                                ;SJP0002
    259					;+                                                                              ;SJP0002
    260					; **-DDCM3 - COMMON PROCESS FOR FUNCTIONS WITH CCB                              ;SJP0002
    261					; **-DDCM4 - COMMON PROCESS FOR FUNCTIONS WITH CCB                              ;SJP0002
    262					;                                                                               ;SJP0002
    263					; INPUTS:                                                                       ;SJP0002
    264					;	R3 = ADDRESS OF FUNCTION AND SUBFUNCTION CODE (DDCM3)                   ;SJP0002
    265					;	R3 = ADDRESS OF FUNCTION CODE ONLY (DDCM4)                              ;SJP0002
    266					;	R4 = ADDRESS OF CCB
    267					;	STACK CONTAINS:
    268					;		00(SP) = CALLERS R3
    269					;		02(SP) = RETURN ADDRESS TO CALLING DLC
    270					;
    271					; OUTPUTS TO DDM:
    272					;	R3 = SUBFUNCTION CODE (WORD INDEX)
    273					;	R4 = ADDRESS OF CCB
    274					;	R5 = ADDRESS OF LINE TABLE
    275					;
    276					; REGISTERS ACROSS CALL:
    277					;	R2,R3,R5 - PRESERVED
    278					;	R4 - MAY BE MODIFIED
    279					;-
    280
    281	000142	011364 	000010 		DDCM3:	MOV	(R3),C.FNC(R4)	; PUT FUNCTION AND SUBFUNCTION IN CCB           ;SJP0002
    282	000146	000402 				BR	10$		; JOIN COMMON CODE                              ;SJP0002
    283					                                                                                ;SJP0002
    284	000150	111364 	000010 		DDCM4:	MOVB	(R3),C.FNC(R4)	; PUT FUNCTION CODE IN CCB                      ;SJP0002
    285					                                                                                ;SJP0002
    286	000154	010246 			10$:	MOV	R2,-(SP)	; SAVE R2                                       ;SJP0002
    287
    288	000156	005002 			20$:	CLR	R2		; GET SLN WITHOUT SIGN EXTENSION
    289	000160	156402 	000006 			BISB	C.LIN(R4),R2	; ...
    290
    291	000164	010546 			22$: 	MOV	R5,-(SP)	; SAVE R5
    292	000166	013746 	172354 			MOV	@#KISAR6,-(SP)	; SAVE APR6 FROM PROCESS'S INDESCRETION         ;AP0001
    293	000172					CALL	$STDD1		; SET UP DDM PDV INDEX & LINE TABLE ADDRESS
    294	000176					CALL	$PDDSP		; DISPATCH TO DEVICE DRIVER (DDM)
    295	000202	012637 	172354 			MOV	(SP)+,@#KISAR6	; APR6 IS NOW SAFE                              ;AP0001
    296	000206	012605 			25$:	MOV	(SP)+,R5	; RESTORE R5
    297	000210	012602 				MOV	(SP)+,R2	; RESTORE R2
    298	000212	012603 				MOV	(SP)+,R3	; RESTORE R3
    299	000214					RETURN			; RETURN TO CALLING DLC
    300
    301						.DSABL 	LSB
    302
    303
CEDDM	MACRO M1110  13-OCT-79 08:07  PAGE 10
$DDAST - ASYNCHRONOUS COMPLETION TO DLC LEVEL

    305						.SBTTL	$DDAST - ASYNCHRONOUS COMPLETION TO DLC LEVEL
    306
    307					;+
    308					; **-$DDAST-ASYNCHRONOUS COMPLETION TO DATA LINK CONTROL
    309					;
    310					; THIS SUBROUTINE IS CALLED BY DEVICE DRIVERS WHEN AN ASYNCHRONOUS
    311					; CONDITION MUST BE RETURNED TO A DATA LINK CONTROL MODULE AND NO CCB
    312					; IS AVAILABLE AT THE DEVICE DRIVER.
    313					;
    314					; INPUTS:
    315					;
    316					;	R3 = ASYNCHRONOUS COMPLETION STATUS (MOVED INTO C.STS)
    317					;	R4 = SYSTEM LINE NUMBER
    318					;
    319					; OUTPUTS:
    320					;
    321					;	A CCB IS ALLOCATED ON BEHALF OF THE DEVICE DRIVER
    322					;	AND THE ASYNCHRONOUS STATUS IS QUEUED TO THE
    323					;	DATA LINK CONTROL MODULE WITH:
    324					;		C.FNC= FC.CCP
    325					;		C.MOD= FS.AST
    326					;
    327					; REGISTERS MODIFIED:
    328					;
    329					;	XXX
    330					;-
    331						.ENABL	LSB
    332
    333	000216	010446 			$DDAST::MOV	R4,-(SP)	; SAVE LINE NUMBER
    334	000220					CALL	$CCBGT		; ALLOCATE A CCB
    335	000224	103406 				BCS	5$		; IF CS ERROR
    336	000226	012664 	000006 			MOV	(SP)+,C.LIN(R4)	; SET LINE NUMBER IN CCB
    337	000232	012764 	000020 	000010 		MOV	#FC.CCP+FS.AST,C.FNC(R4) ; SET ERROR COMPLETE FUNCTION CODE
    338	000240	000426 				BR	20$		; FINISH IN COMMON CODE
    339
    340	000242	012604 			5$:	MOV	(SP)+,R4	; CLEAN THE STACK
    341	000244					RETURN			; RETURN TO CALLER
    342
CEDDM	MACRO M1110  13-OCT-79 08:07  PAGE 11
$DDXMP - TRANSMIT COMPLETE TO DLC LEVEL

    344						.SBTTL	$DDXMP - TRANSMIT COMPLETE TO DLC LEVEL
    345						.SBTTL	$DDRCP - RECEIVE COMPLETE TO DLC LEVEL
    346						.SBTTL	$DDCCP - CONTROL COMPLETE TO DLC LEVEL
    347						.SBTTL	$DDKCP - KILL COMPLETE TO DLC LEVEL
    348					;+
    349					; **-$DDXMP-TRANSMIT COMPLETE TO DATA LINK CONTROL
    350					; **-$DDRCP-RECEIVE COMPLETE
    351					; **-$DDCCP-CONTROL COMPLETE
    352					; **-$DDKCP-KILL COMPLETE
    353					;
    354					; THIS SUBROUTINE IS CALLED BY DEVICE DRIVERS TO QUEUE
    355					; COMPLETION NOTIFICATIONS TO DATA LINK CONTROL MODULES.
    356					;
    357					; INPUTS:
    358					;
    359					;	R3 = OPERATION COMPLETION STATUS
    360					;	R4 = ADDRESS OF CCB TO QUEUE
    361					;	     THE CCB CONTAINS A VALID LINE NUMBER
    362					;
    363					;
    364					; OUTPUTS:
    365					;
    366					;	THE CCB IS QUEUED TO A DLC LIST BASED
    367					;	ON THE SYSTEM LINE NUMBER PARAMETER IN THE CCB WITH A
    368					;	TRANSMIT OR RECEIVE COMPLETE FUNCTION CODE.
    369					;
    370					; REGISTERS MODIFIED:
    371					;
    372					;	XXX
    373					;-
    374
    375	000246	112764 	000012 	000010 	$DDXMP::MOVB	#FC.XCP,C.FNC(R4) ; SET TRANSMIT COMPLETE FUNCTION CODE
    376	000254	000420 				BR	20$		; JOIN COMMON CODE
    377
    378	000256	112764 	000014 	000010 	$DDRCP::MOVB	#FC.RCP,C.FNC(R4) ; SET RECEIVE COMPLETE FUNCTION CODE
    379	000264	000414 				BR	20$		; JOIN COMMON CODE
    380
    381	000266	112764 	000016 	000010 	$DDKCP::MOVB	#FC.KCP,C.FNC(R4) ; SET KILL COMPLETE FUNCTION CODE             ;SJP0002
    382	000274	000410 				BR	20$		; JOIN COMMON CODE
    383
    384	000276	005764 	000006 		$DDCCP::TST	C.LIN(R4)	; SPECIAL MODEM CONTROL COMPLETION?
    385	000302	100002 				BPL	10$		; NO
    386	000304					CALLR	$CCBRT		; YES - RETURN CCB TO POOL
    387									; MODEM CONTROLLER WILL POST COMPLETION
    388	000310	112764 	000020 	000010 	10$:	MOVB	#FC.CCP,C.FNC(R4) ; SET CONTROL COMPLETE FUNCTION CODE
    389
    390	000316				$DDSPC::
    391	000316	010364 	000012 		20$:	MOV	R3,C.STS(R4)	; SET COMPLETION STATUS
    392	000322	013746 	172354 			MOV	@#KISAR6,-(SP)	; SAVE APR6 FROM $STDLC MAPPER                  ;AP0001
    393	000326					SAVRG	<R2,R5>		; SAVE REGISTERS
    394	000332					CALL	$STDLC		; SET UP DLC'S PDV INDEX
    395	000336	010203 				MOV	R2,R3		; COPY DLC'S PDV INDEX
    396	000340					RESRG	<R5,R2>		; RESTORE REGISTERS
    397	000344	012637 	172354 			MOV	(SP)+,@#KISAR6	; RESTORE APR6 TO ORIGINAL VALUE                ;AP0001
    398	000350					CALLR	$PDQU1		; QUEUE CCB AND SCHEDULE PROCESS
    399
    400						.ENABL LSB
CEDDM	MACRO M1110  13-OCT-79 08:07  PAGE 11-1
$DDKCP - KILL COMPLETE TO DLC LEVEL

    401
    402						.ENDC
CEDDM	MACRO M1110  13-OCT-79 08:07  PAGE 12
$STDDM - SET DDM PDV INDEX AND LINE TABLE ADDRESS

    404						.SBTTL	$STDDM - SET DDM PDV INDEX AND LINE TABLE ADDRESS
    405
    406					;+
    407					; **-$STDDM-SET DDM PDV INDEX AND LINE TABLE ADDRESS
    408					; **-$STDD1-(ALTERNATE ENTRY)
    409					;
    410					; THIS SUBROUTINE IS CALLED TO SET UP A DEVICE DRIVER PDV INDEX AND
    411					; LINE TABLE ADDRESS BASED ON A SYSTEM LINE NUMBER.
    412					;
    413					; INPUTS:
    414					;
    415					;	R2 = SYSTEM LINE NUMBER (ALTERNATE ENTRY ONLY)
    416					;	R4 = CCB ADDRESS WITH A VALID SYSTEM LINE NUMBER IN
    417					;	     C.LIN (MAIN ENTRY ONLY)
    418					;
    419					; OUTPUTS:
    420					;
    421					;	R2 = PDV INDEX
    422					;	R5 = ADDRESS OF DEVICE LINE TABLE
    423					;
    424					; REGISTERS MODIFIED:
    425					;
    426					;	R5
    427					;-
    428
    429	000354	005002 			$STDDM::CLR	R2		; EXTRACT LINE NUMBER WITHOUT SIGN EXTENTION
    430	000356	156402 	000006 			BISB	C.LIN(R4),R2	; ...
    431
    432	000362				$STDD1::
    433	000362	006302 				ASL	R2		; MULTIPLY SLN BY 14 (L.LEN)
    434	000364	006302 				ASL	R2		; ...
    435	000366	010246 				MOV	R2,-(SP)	; ...
    436	000370	006302 				ASL	R2		; ...
    437	000372	062602 				ADD	(SP)+,R2	; ...
    438	000374	016205 	000004G			MOV	$SLTTB+L.DDS(R2),R5 ; GET DEVICE LINE TABLE ADDRESS
    439
    440						.IF DF 	X$$BUG
    441						BEQ	.
    442						.ENDC
    443
    444	000400	116202 	000002G			MOVB	$SLTTB+L.DDM(R2),R2 ; GET DEVICE DRIVER PDV INDEX (WORD INDEX)
    445	000404					RETURN			; RETURN
    446
    447
    448		000001 				.END
CEDDM	MACRO M1110  13-OCT-79 08:07  PAGE 12-1
SYMBOL TABLE

A$$CHK= 000000   	C.LIN   000006   	FS.SET= 005000   	L.FLG   000000   	UISDR6= 177614
A$$CPS= 000000   	C.LNK   000000   	FS.STM= 000000   	L.LEN = 000014   	UISDR7= 177616
A$$PRI= 000000   	C.MOD   000011   	FS.STP= 002000   	L.UNT   000013   	V$$CTR= 001000
A$$TRP= 000000   	C.NSP   000004   	FS.STR= 001000   	MPAR  = 172100   	X$$DBT= 000000
CB.CCB= 000002   	C.RSV   000002   	FS.TRM= 003000   	MPCSR = 177746   	ZF.DDM= 000001
CB.RDB= 000004   	C.STA   000007   	FS.XKL= 002000   	M$$CRB= 000124   	ZF.DLC= 000002
CE.ABO= 100362   	C.STS   000012   	FS.XOF= 010000   	M$$CRX= 000000   	ZF.KMX= 000020
CE.DIS= 100366   	DDCM1   000132R  	FS.XON= 007000   	M$$FCS= 000000   	ZF.LLC= 000004
CE.ERR= 100370   	DDCM2   000142R  	F$$LVL= 000001   	M$$MGE= 000000   	ZF.LMC= 000100
CE.MOP= 100372   	DDCM3   000142R  	G$$TPP= 000000   	M$$OVR= 000000   	ZF.MFL= 000010
CE.NTE= 100361   	DDCM4   000150R  	G$$TSS= 000000   	N$$LDV= 000001   	ZF.MUX= 000040
CE.RTE= 100376   	D$$BUG= 177514   	G$$TTK= 000000   	N$$MOV= 000010   	ZF.TIM= 000200
CE.SRC= 100364   	D$$ISK= 000000   	G$$WRD= 000000   	N$$SYS= 000001   	Z.DAT   000014
CE.TMO= 100374   	D$$L11= 000001   	I$$RAR= 000000   	N$$USR= 000001   	Z.DSP   000000
CF.EOM= 000004   	D$$YNC= 000000   	I$$RDN= 000000   	PIRQ  = 177772   	Z.FLG   000011
CF.HDR= 000020   	D$$YNM= 000000   	KDSAR0= 172360   	PMODE = 030000   	Z.LEN = 000014
CF.LB = 100000   	E$$XPR= 000000   	KDSDR0= 172320   	PR0   = 000000   	Z.LLN   000010
CF.SOM= 000010   	FC.CCP= 000020   	KISAR0= 172340   	PR1   = 000040   	Z.MAP   000016
CF.SYN= 000040   	FC.CTL= 000006   	KISAR5= 172352   	PR4   = 000200   	Z.NAM   000006
CF.TRN= 000100   	FC.KCP= 000016   	KISAR6= 172354   	PR5   = 000240   	Z.PCB   000012
CMODE = 140000   	FC.KIL= 000004   	KISAR7= 172356   	PR6   = 000300   	Z.SCH   000004
CS.ABO= 000100   	FC.RCE= 000002   	KISDR0= 172300   	PR7   = 000340   	$CCBGT= ****** GX
CS.BUF= 000200   	FC.RCP= 000014   	KISDR6= 172314   	PS    = 177776   	$CCBRT= ****** GX
CS.DCR= 000400   	FC.TIM= 000010   	KISDR7= 172316   	P$$P45= 000000   	$DDAST  000216RG
CS.DEV= 000002   	FC.XCP= 000012   	K$$CNT= 177546   	P$$WRD= 000000   	$DDCCP  000276RG
CS.DIS= 000040   	FC.XME= 000000   	K$$CSR= 177546   	Q$$OPT= 000010   	$DDCRA  000022RG
CS.ENB= 000020   	FE.CAL= 000040   	K$$LDC= 000000   	R$$DER= 000000   	$DDDIS  000102RG
CS.EOF= 000001   	FE.DRV= 000010   	K$$TPS= 000074   	R$$K11= 000001   	$DDENB  000074RG
CS.ERR= 100000   	FE.EXP= 000200   	LD$LP = 000000   	R$$SND= 000000   	$DDGET  000052RG
CS.HFE= 002000   	FE.EXT= 000001   	LF.ACT= 100000   	R$$11M= 000000   	$DDKCP  000266RG
CS.LST= 040000   	FE.EXV= 000004   	LF.BWT= 000007   	SISDR0= 172200   	$DDKIL  000030RG
CS.MTL= 004000   	FE.LSI= 000400   	LF.DLO= 000040   	SR0   = 177572   	$DDMSN  000124RG
CS.RNG= 000010   	FE.MUP= 000002   	LF.ENA= 002000   	SR3   = 172516   	$DDRCE  000006RG
CS.ROV= 000004   	FE.MXT= 040000   	LF.MDC= 000100   	SWR   = 177570   	$DDRCP  000256RG
CS.RSN= 010000   	FE.NLG= 100000   	LF.MFL= 004000   	S$$WRG= 000000   	$DDRNG  000066RG
CS.SUC= 000001   	FE.PKT= 000100   	LF.MTP= 000020   	S$$YSZ= 007600   	$DDSET  000060RG
CS.TMO= 020000   	FE.PLA= 000020   	LF.RDY= 040000   	TPS   = 177564   	$DDSPC  000316RG
C$$CKP= 000000   	FS.AST= 000000   	LF.REA= 010000   	T$$KMG= 000000   	$DDSTP  000044RG
C$$ORE= 000400   	FS.CIB= 002000   	LF.TIM= 000010   	T$$MIN= 000000   	$DDSTR  000036RG
C$$RSH= 177564   	FS.CRA= 001000   	LF.UNL= 020000   	UBMPR = 170200   	$DDXKL  000014RG
C.BID   000003   	FS.DIS= 013000   	L$$ASG= 000000   	UDSAR0= 177660   	$DDXME  000000RG
C.BUF   000014   	FS.DVC= 001000   	L$$DRV= 000000   	UDSDR0= 177620   	$DDXMP  000246RG
C.BUF1  000014   	FS.ENB= 012000   	L$$P11= 000001   	UISAR0= 177640   	$DDXOF  000116RG
C.BUF2  000024   	FS.GET= 006000   	L$$11R= 000000   	UISAR4= 177650   	$DDXON  000110RG
C.CNT   000020   	FS.INI= 000000   	L.CTL   000012   	UISAR5= 177652   	$PDDSP= ****** GX
C.CNT1  000020   	FS.KIL= 000000   	L.DDM   000002   	UISAR6= 177654   	$PDQU1= ****** GX
C.CNT2  000030   	FS.LTM= 001000   	L.DDS   000004   	UISAR7= 177656   	$SLTTB= ****** GX
C.FLG   000022   	FS.MNT= 004000   	L.DLC   000003   	UISDR0= 177600   	$STDDM  000354RG
C.FLG1  000022   	FS.MSN= 014000   	L.DLM   000006   	UISDR4= 177610   	$STDD1  000362RG
C.FLG2  000032   	FS.RNG= 011000   	L.DLS   000010   	UISDR5= 177612   	$STDLC= ****** GX
C.FNC   000010   	FS.RTN= 001000

. ABS.	000034	   000
      	000406	   001
ERRORS DETECTED:  0

VIRTUAL MEMORY USED:  7188 WORDS  ( 29 PAGES)
DYNAMIC MEMORY:  7948 WORDS  ( 30 PAGES)
CEDDM	MACRO M1110  13-OCT-79 08:07  PAGE 12-2
SYMBOL TABLE

ELAPSED TIME:  00:00:26
CEDDM,[130,34]CEDDM/CR/-SP=[130,10]NETLIB/ML,RSXMC4/PA:1,CEDDM
CEDDM      CREATED BY  MACRO  ON 13-OCT-79 AT 08:08	PAGE 1

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

C.FNC 	  000010	*9-281     *9-284     *10-337    *11-375    *11-378    *11-381    *11-388    
C.LIN 	  000006	 9-289     *10-336     11-384     12-430    
C.STS 	  000012	*11-391    
DDCM1 	  000132 R	 6-146      6-147      6-148     #7-178     
DDCM2 	  000142 R	 6-142      6-143      6-144     #8-219     
DDCM3 	  000142 R	 6-134      6-135      6-136      6-137      6-138      6-139      6-140     #9-281     
DDCM4 	  000150 R	 6-131      6-132     #9-284     
FC.CCP	= 000020	 10-337     11-388    
FC.CTL	= 000006	 6-137      6-138      6-139      6-140      6-142      6-143      6-144      6-146      6-147     
                         6-148     
FC.KCP	= 000016	 11-381    
FC.KIL	= 000004	 6-134      6-135      6-136     
FC.RCE	= 000002	 6-132     
FC.RCP	= 000014	 11-378    
FC.XCP	= 000012	 11-375    
FC.XME	= 000000	 6-131     
FS.AST	= 000000	 10-337    
FS.CRA	= 001000	 6-135     
FS.DIS	= 013000	 6-144     
FS.ENB	= 012000	 6-143     
FS.GET	= 006000	 6-139     
FS.KIL	= 000000	 6-136     
FS.MSN	= 014000	 6-148     
FS.RNG	= 011000	 6-142     
FS.SET	= 005000	 6-140     
FS.STP	= 002000	 6-138     
FS.STR	= 001000	 6-137     
FS.XKL	= 002000	 6-134     
FS.XOF	= 010000	 6-147     
FS.XON	= 007000	 6-146     
I$$AS 	= ******	 3-48      
KISAR6	= 172354	 9-292      9-295      11-392     11-397    
LF.ACT	= 100000	#3-49      
LF.BWT	= 000007	#3-49      
LF.DLO	= 000040	#3-49      
LF.ENA	= 002000	#3-49      
LF.MDC	= 000100	#3-49      
LF.MFL	= 004000	#3-49      
LF.MTP	= 000020	#3-49      
LF.RDY	= 040000	#3-49      
LF.REA	= 010000	#3-49      
LF.TIM	= 000010	#3-49      
LF.UNL	= 020000	#3-49      
L.CTL 	  000012	#3-49      
L.DDM 	  000002	#3-49       12-444    
L.DDS 	  000004	#3-49       12-438    
L.DLC 	  000003	#3-49      
L.DLM 	  000006	#3-49      
L.DLS 	  000010	#3-49      
L.FLG 	  000000	#3-49      
L.LEN 	= 000014	#3-49      
L.UNT 	  000013	#3-49      
CEDDM      CREATED BY  MACRO  ON 13-OCT-79 AT 08:08	PAGE 2

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

R$$11D	= ******	 3-48      
R$$11M	= 000000	 3-48      
R$$11S	= ******	 3-48      
X$$BUG	= ******	 12-440    
X$$MCB	= ******	 3-48       3-48      
X$$MDC	= ******	 3-2        3-3        8-220     
X$$NDM	= ******	 3-1        3-3        5-73      
ZF.DDM	= 000001	#3-48      
ZF.DLC	= 000002	#3-48      
ZF.KMX	= 000020	#3-48      
ZF.LLC	= 000004	#3-48      
ZF.LMC	= 000100	#3-48      
ZF.MFL	= 000010	#3-48      
ZF.MUX	= 000040	#3-48      
ZF.TIM	= 000200	#3-48      
Z.DAT 	  000014	#3-48      
Z.DSP 	  000000	#3-48       3-48      
Z.FLG 	  000011	#3-48      
Z.LEN 	= 000014	#3-48      
Z.LLN 	  000010	#3-48      
Z.MAP 	  000016	#3-48      
Z.NAM 	  000006	#3-48      
Z.PCB 	  000012	#3-48      
Z.SCH 	  000004	#3-48      
$CCBGT	= ******  GX	 10-334    
$CCBRT	= ******  GX	 11-386    
$DDAST	  000216 RG	#10-333    
$DDCCP	  000276 RG	#11-384    
$DDCRA	  000022 RG	#6-135     
$DDDIS	  000102 RG	#6-144     
$DDENB	  000074 RG	#6-143     
$DDGET	  000052 RG	#6-139     
$DDKCP	  000266 RG	#11-381    
$DDKIL	  000030 RG	#6-136     
$DDMSN	  000124 RG	#6-148     
$DDRCE	  000006 RG	#6-132     
$DDRCP	  000256 RG	#11-378    
$DDRNG	  000066 RG	#6-142     
$DDSET	  000060 RG	#6-140     
$DDSPC	  000316 RG	#11-390    
$DDSTP	  000044 RG	#6-138     
$DDSTR	  000036 RG	#6-137     
$DDXKL	  000014 RG	#6-134     
$DDXME	  000000 RG	#6-131     
$DDXMP	  000246 RG	#11-375    
$DDXOF	  000116 RG	#6-147     
$DDXON	  000110 RG	#6-146     
$PDDSP	= ******  GX	 9-294     
$PDQU1	= ******  GX	 11-398    
$SLTTB	= ******  GX	 12-438     12-444    
$STDDM	  000354 RG	#12-429    
$STDD1	  000362 RG	 9-293     #12-432    
CEDDM      CREATED BY  MACRO  ON 13-OCT-79 AT 08:08	PAGE 3

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

$STDLC	= ******  GX	 11-394    
CEDDM      CREATED BY  MACRO  ON 13-OCT-79 AT 08:08	PAGE 4

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

CALL  		 9-293      9-294      10-334     11-394    
CALLR 		#3-45      #11-386    #11-398    
CCBDF$		#3-44      #3-47      
DDFDF 		#4-56      #6-131     #6-132     #6-134     #6-135     #6-136     #6-137     #6-138     #6-139     #6-140     
                #6-142     #6-143     #6-144     #6-146     #6-147     #6-148     
ENABL$		#3-43      
HWDDF$		#3-44      #3-46      
INHIB$		#3-43      
PDVDF$		#3-44       3-48      
RESRG 		#3-43      #11-396    
RETURN		 9-299      10-341     12-445    
SAVRG 		#3-43      #11-393    
SLTDF$		#3-44       3-49