Google
 

Trailing-Edge - PDP-10 Archives - BB-P363B-SM_1985 - mcb/cex/cexrsx.lst
There are no other files named cexrsx.lst in the archive.
CEXRSX - COMM/EXEC SUPPORT FOR THE RSX DRIVER INTERFACE	DNMAC X24.07-563  28-MAY-85  14:22
CEXRSX.M11    30-DEC-82 00:22		TABLE OF CONTENTS

  2636		DECLARATIONS
  2663		$MCB - Switch to MCB process context
  2733		$RSX - Switch to RSX driver context
CEXRSX - COMM/EXEC SUPPORT FOR THE RSX DRIVER INTERFACE	DNMAC X24.07-563  28-MAY-85  14:22  PAGE 1
CEXRSX.M11    30-DEC-82 00:22

     1						.TITLE	CEXRSX - COMM/EXEC SUPPORT FOR THE RSX DRIVER INTERFACE
     2						.IDENT	/003120/
     3						.ENABL	LC
     4
     5					;
     6					;                    COPYRIGHT (c) 1980, 1981, 1982
     7					;                    DIGITAL EQUIPMENT CORPORATION
     8					;                        Maynard, Massachusetts
     9					;
    10					;     This software is furnished under a license and may  be  used
    11					;     and copied only in accordance with the terms of such license
    12					;     and with the inclusion of the above copyright notice.   This
    13					;     software  or any other copies thereof may not be provided or
    14					;     otherwise made available to any other person.  No  title  to
    15					;     and ownership of the software is hereby transferred.
    16					;
    17					;     The information  in  this  software  is  subject  to  change
    18					;     without  notice  and should not be construed as a commitment
    19					;     by DIGITAL EQUIPMENT CORPORATION.
    20					;
    21					;     DIGITAL assumes no responsibility for the use or reliability
    22					;     of  its  software  on  equipment  which  is  not supplied by
    23					;     DIGITAL.
    24					;
    25
    26					;++
    27					; FACILITY: MCB Communications Executive
    28					;
    29					; FUNCTIONAL ABSTRACT:
    30					;
    31					;	This module contains the routines to support the interface
    32					;	to RSX drivers.
    33					;
    34					; ENVIRONMENT: RSX kernel mode with EIS
    35					;
    36					; AUTHOR: Alan D. Peckham, CREATION DATE: 21-MAR-80
    37					;
    38					; MODIFIED BY:
    39					;
    40					;	Alan D. Peckham, 2-Jul-80: VERSION 3.0
    41					; 01	- Change CRSH$ references to CRSH$S.
    42					; 02	- Use macros to handle APR6 mapping.
    43					; 03	- Update CRSH$S contexts.
    44					; 04	- Add conditional process activation signal to $MCB.
    45					; 05	- New signal status for process activation.
    46					; 06	- Remove process activation signal.
    47					; 07	- Fix $MCB and $RSX to update .CEXDP correctly.
    48					;	Alan D. Peckham, 9-Dec-80: VERSION 3.1
    49					; 08	- Update for MCB V3.1
    50					; 09	- Add support for data base words in $MCB.
    51					;	Alan D. Peckham, 30-Jan-80: VERSION 3.2
    52					; 10	- Speed up code in $MCB.
    53					;	  Support .CRPDB current process descriptor address.
    54					;	  Add UCB crash.
    55					; 11	- Support .CRDSP in context switches.
    56					; 12	- Correct conditionalized D$$BUG code in $MCB.
CEXRSX - COMM/EXEC SUPPORT FOR THE RSX DRIVER INTERFACE	DNMAC X24.07-563  28-MAY-85  14:22  PAGE 1-1
CEXRSX.M11    30-DEC-82 00:22

    57					;--
CEXRSX - COMM/EXEC SUPPORT FOR THE RSX DRIVER INTERFACE	DNMAC X24.07-563  28-MAY-85  14:22  PAGE 2
CEXRSX.M11    30-DEC-82 00:22		DECLARATIONS

    59						.SBTTL	DECLARATIONS
    60
    61					;
    62					; INCLUDE FILES:
    63					;
    64
    65						.MCALL	CRSH$S,UCBDF$
    66						.GLOBL	$IGNAL
    67
    68					;
    69					; MACROS:
    70					;
    71					;	None
    72					;
    73					; EQUATED SYMBOLS:
    74					;
    75
    76	000000'					UCBDF$			; UCB symbol definitions.
    77
    78					;
    79					; OWN STORAGE:
    80					;
    81					;	None
    82					;
    83					; VALIDATION DECLARATIONS:
    84					;
CEXRSX - COMM/EXEC SUPPORT FOR THE RSX DRIVER INTERFACE	DNMAC X24.07-563  28-MAY-85  14:22  PAGE 3
CEXRSX.M11    30-DEC-82 00:22		$MCB - SWITCH TO MCB PROCESS CONTEXT

    86						.SBTTL	$MCB - Switch to MCB process context
    87					;++
    88					; FUNCTIONAL DESCRIPTION:
    89					;
    90					;	Switch context from RSX driver to MCB process.
    91					;
    92					; CALLING SEQUENCE:
    93					;
    94					;	CALL	$MCB
    95					;
    96					; INPUT PARAMETERS:
    97					;
    98					;	R5 = UCB address.
    99					;
   100					; IMPLICIT INPUTS:
   101					;
   102					;	None
   103					;
   104					; OUTPUT PARAMETERS:
   105					;
   106					;	R5 = data base address.
   107					;
   108					; IMPLICIT OUTPUTS:
   109					;
   110					;	.RSXMP = saved value of APR 6.
   111					;	KISAR6 = Mapped to data base.
   112					;
   113					; CONDITION CODES:
   114					;
   115					;	None
   116					;
   117					; SIDE EFFECTS:
   118					;
   119					;	None
   120					;--
   121
   122		000000'				.PSECT	$CODE$,I,RO
   123	000000'				$MCB::	RLVL$			; Crash if not at RSX level.
   124	000000'					PUSH$S	R0
   125	000002'	116500	000012			MOVB	U.CW2(R5),R0	; Get PIX
   126
   127		   001				.IF	NE,D$$BUG
   128						CMPB	.PDBNM,R0	; to range check
   129						BLOS	100$		; and crash if out of range.
   130						.IFTF
   131
   132	000006'	006300				ASL	R0
   133	000010'	016000	000000G			MOV	.PDBVB(R0),R0
   134
   135						.IFT
   136						BEQ	100$
   137						.IFTF
   138
   139	000014'	004767	000000G			CALL	$CEXSV		; Become the Comm/Exec.
   140	000020'	010067	000000G			MOV	R0,.CRPDB	; Set as current process
   141	000024'	005720				TST	(R0)+		; and
CEXRSX - COMM/EXEC SUPPORT FOR THE RSX DRIVER INTERFACE	DNMAC X24.07-563  28-MAY-85  14:22  PAGE 3-1
CEXRSX.M11    30-DEC-82 00:22		$MCB - SWITCH TO MCB PROCESS CONTEXT

   142	000026'	012067	000000G			MOV	(R0)+,.CRDSP	; dispatch table,
   143	000032'					MAP$	(R0)		; data base bias,
   144	000036'	012067	000000G			MOV	(R0)+,.CRDAT+0
   145	000042'	011005				MOV	(R0),R5		; address,
   146	000044'	012067	000002G			MOV	(R0)+,.CRDAT+2
   147	000050'	111067	000000G			MOVB	(R0),.CRPIX	; and index.
   148	000054'					POP$S	R0
   149	000056'	000207				RETURN
   150
   151						.IFT
   152					100$:	POP$S	R0
   153						CRSH$S	RPX		; PIX in UCB corrupted
   154		   000				.ENDC
CEXRSX - COMM/EXEC SUPPORT FOR THE RSX DRIVER INTERFACE	DNMAC X24.07-563  28-MAY-85  14:22  PAGE 4
CEXRSX.M11    30-DEC-82 00:22		$RSX - SWITCH TO RSX DRIVER CONTEXT

   156						.SBTTL	$RSX - Switch to RSX driver context
   157					;++
   158					; FUNCTIONAL DESCRIPTION:
   159					;
   160					;	Switch context from MCB process to RSX driver.
   161					;
   162					; CALLING SEQUENCE:
   163					;
   164					;	CALL	$RSX
   165					;
   166					; INPUT PARAMETERS:
   167					;
   168					;	None
   169					;
   170					; IMPLICIT INPUTS:
   171					;
   172					;	.RSXMP = saved value of APR 6.
   173					;
   174					; OUTPUT PARAMETERS:
   175					;
   176					;	R5 = UCB address.
   177					;
   178					; IMPLICIT OUTPUTS:
   179					;
   180					;	None
   181					;
   182					; CONDITION CODES:
   183					;
   184					;	None
   185					;
   186					; SIDE EFFECTS:
   187					;
   188					;	None
   189					;--
   190
   191		000060'				.PSECT	$CODE$,I,RO
   192	000060'				$RSX::	PLVL$			; Crash if not at process level.
   193	000060'					PUSH$S	R4
   194	000062'	016704	000000G			MOV	.CRPDB,R4	; Get process descriptor
   195	000066'	032764	000400	000010		BIT	#ZF.UCB,Z.FLG(R4) ; and if there is a UCB
   196	000074'	001417				BEQ	100$		; then
   197	000076'	016764	000000G	000002		MOV	.CRDSP,2(R4)	; reset dispatch address,
   198	000104'	016764	000000G	000004		MOV	.CRDAT+0,Z.DAT+0(R4) ; data base
   199	000112'	016764	000002G	000006		MOV	.CRDAT+2,Z.DAT+2(R4) ; bias/address,
   200	000120'	016405	000012			MOV	Z.UCB(R4),R5	; to get UCB address.
   201	000124'	004767	000000G			CALL	$CEXXT		; Scehdule the Comm/Exec if necessary.
   202	000130'					POP$S	R4
   203	000132'	000207				RETURN
   204
   205	000134'				100$:	POP$S	R4
   206	000136'					CRSH$S	UCB		; Process does not have UCB.
   207
   208		000001				.END
CEXRSX - COMM/EXEC SUPPORT FOR THE RSX DRIVER INTERFACE	DNMAC X24.07-563  28-MAY-85  14:22  PAGE 5
CEXRSX.M11    30-DEC-82 00:22		CROSS REFERENCE TABLE -- USER SYMBOLS

CE$UCB= ****** G      	  206#
D$$BUG= 000000        	  123	  127	  192
KISAR6= ****** G      	  143#*
U.CW2   000012        	  125
ZF.UCB= 000400        	  195
Z.DAT   000004        	  198*	  199*
Z.FLG   000010        	  195
Z.UCB   000012        	  200
$CEXSV= ****** GX     	  139*
$CEXXT= ****** GX     	  201*
$CRSH = ****** G      	  206#*
$IGNAL= ****** G      	   66#
$MCB    000000RG   002	  123#
$RSX    000060RG   002	  192#
.CRDAT= ****** GX     	  144*	  146*	  198	  199
.CRDSP= ****** GX     	  142*	  197
.CRPDB= ****** GX     	  140*	  194
.CRPIX= ****** GX     	  147*
.PDBVB= ****** GX     	  133
CEXRSX - COMM/EXEC SUPPORT FOR THE RSX DRIVER INTERFACE	DNMAC X24.07-563  28-MAY-85  14:22  PAGE 6
CEXRSX.M11    30-DEC-82 00:22		CROSS REFERENCE TABLE -- MACRO NAMES

CRSH$S	   65#	  206
MAP$	  143
PLVL$	  192
POP$S	  148	  202	  205
PUSH$S	  124	  193
RLVL$	  123
UCBDF$	   65#	   76


. ABS.  000000     000	   CON   RW    ABS   LCL   I  
        000000     001	   CON   RW    REL   LCL   I  
$CODE$  000144     002	   CON   RO    REL   LCL   I  


 ERRORS DETECTED:  0
 DEFAULT GLOBALS GENERATED:  7

 CEXRSX,CEXRSX/CR=MCB:RSXLIB/PA:1,MCBLIB/PA:1,CEX:CEXLIB/PA:1,CEXRSX
 RUN-TIME: 4 1 .2 SECONDS
 RUN-TIME RATIO: 23/5=4.3
 CORE USED:  15K  (29 PAGES)