KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page   0
Table of contents

    (1)        6        MODULE HEADER
    (1)      138        LOCAL MACRO DEFINITIONS
    (1)      209        SYSTEM AND CAMAC STRUC DEFINITIONS
    (1)      247        IMAGE DATA SECTION
    (1)      284        KSP_MAIN, MAIN PROCEDURE
    (1)      334        KSP_UMINIT, USER MODE INITIALIZATION
    (1)      374        KSP_KMCALL, KERNEL MODE ENTRY PROCEDURE
    (1)      407        KSP_KMEXHAND, KERNEL MODE EXCEPTION HAND
    (1)      456        KSP_LOGERR, LOG EXCEPTION TO SYSTEM ERRO
    (1)      523        KSP_KMINIT KERNEL MODE INITIALIZATION
    (1)      618        KSP_KMCAMIRP, CAMAC IRP SERVICE PROCEDUR
    (1)      699        KSP_MOUNT, MOUNT IRP REQUEST
    (1)      737        KSP_ACPCTL, ACP CONTROL IRP REQUEST
    (1)      783        KSP_TERMALL, TERMINATE LAM SUPPORT FOR A
    (1)      821        KSP_DEACCESS, DEACCESS IRP PROCEDURE
    (1)      882        KSP_LAMAST LAM AST IRP REQUEST
    (1)      941        KSP_SETLAM, SET LAM AST REQUEST FOR C+N
    (1)     1008        KSP_CANLAM, CANCEL LAM FOR SPECIFIED C+N
    (1)     1073        KSP_SETCHAR SETCHAR IRP REQUEST ACTION P
    (1)     1138        KSP_SETC_CONL, SET CAMAC CRATE ON-LINE
    (1)     1243        KSP_SETC_COFL, SET CAMAC CRATE OFF-LINE
    (1)     1313        KSP_SETC_EABL, ENABLE LAM SERVICE FOR CR
    (1)     1366        KSP_SETC_DABL, DISABLE LAM SERVICE FOR C
    (1)     1409        KSP_ENLAMS, ENABLE LAM DEMAND GENERATION
    (1)     1494        KSP_TERMLAMS, TERMINATE LAM SUPPORT FOR 
    (1)     1551        KSP_FLUSHCSU, FLUSH ALL PENDING LAM AST'
    (1)     1596        KSP_DMDAST, DEMAND SERVICE AST PROCEDURE
    (1)     1860        KSP_DMDXHAND, DEMAND AST EXCEPTION HANDL
    (1)     1926        KSP_PIO, INTERNAL CAMAC PROGRAMMED I/O P
    (1)     2023        KSP_WAITQ, WAIT FOR ACP WORK
    (1)     2090        KSP_POSTIRP POST IRP FOR I/O COMPLETION
    (1)     2145        KSP_ENDMANDS ENABLE DEMAND INTERRUPTS
    (1)     2216        KSP_DBDMANDS, DISABLE CAMAC DEMANDS
    (1)     2264        LOCATE CRATE SUPPORT UNIT UCB
    (1)     2306        KSP_ALOLSB, ALLOCATE LAM SUPPORT BLOCK
    (1)     2350        KSP_DEALSB, DEALLOCATE LAM SUPPORT BLOCK
    (1)     2381        KSP_SETLAMAST, SET LAM ATTENTION AST
    (1)     2442        KSP_CANLAMAST CANCEL LAM AST 
    (1)     2498        KSP_FLUSHAST, FLUSH AST LIST
    (1)     2548        KSP_DELAMAST DELIVER LAM AST LIST
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page   1
V02-003                                                                  27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0000     1 	.TITLE	KSCAMACP KS 2050 SERIES CAMAC ACP
                                     0000     2 	.IDENT	'V02-003'
                           00000001  0000    .1 KS_X_SH		= 1			; SERIAL ACP SWITCH
                                     0000     3 	.NOSHOW	CONDITIONALS
                                     0000     4 	.LIBRARY	/SYS$LIBRARY:LIB/		; SYSTEM MACRO LIBRARY
                                     0000     5 	.LIBRARY	/CAMDEF/			; CAMAC MACRO LIBRARY
                                     0000     6 	.SBTTL	MODULE HEADER
                                     0000     7 ;++
                                     0000     8 ;
                                     0000     9 ; FACILITY
                                     0000    10 ;	OAK RIDGE NATIONAL LABORATORY
                                     0000    11 ;	FUSION ENERGY DIVISION
                                     0000    12 ;	TOKAMAK SECTION
                                     0000    13 ;
                                     0000    14 ; ABSTRACT
                                     0000    15 ;
                                     0000    16 ;	This program provides ACP level support for the ORNL
                                     0000    17 ;	Fusion Energy Division VAX 11/780 CAMAC system. It 
                                     0000    18 ;	interfaces to the CAMAC device driver as foreign ACP. 
                                     0000    19 ;
                                     0000    20 ;	The CAMAC ACP IRP queue provides a means of queueing 
                                     0000    21 ;	I/O requests from the device driver FDT level processing
                                     0000    22 ;	to the CAMAC ACP process. The following I/O function codes
                                     0000    23 ;	are recognized and processed accordingly by the CAMAC ACP.
                                     0000    24 ;	I/O functions(+modifiers) and associated processing:
                                     0000    25 ;
                                     0000    26 ;	IO$_SETCHAR+IO$M_CONLINE(PHYS_IO)
                                     0000    27 ;	This function code signals that a crate unit has been
                                     0000    28 ;	brought to an operational state ready to accept CAMAC
                                     0000    29 ;	transactions. If LAM support is enabled for this particular
                                     0000    30 ;	crate, the LAM encoder module is initialized(reset) and
                                     0000    31 ;	demands are enabled in the crate controller.
                                     0000    32 ;
                                     0000    33 ;	IO$_SETCHAR+IO$M_COFFLINE(PHYS_IO)
                                     0000    34 ;	This function code signals that a crate unit has been declared
                                     0000    35 ;	inoperational and should not accept further CAMAC transactions.
                                     0000    36 ;	If LAM management support is enabled for the specified
                                     0000    37 ;	CAMAC crate, all pending LAM attention AST's are flushed
                                     0000    38 ;	and an attempt is made to disable demands from the
                                     0000    39 ;	specified CAMAC crate.
                                     0000    40 ;
                                     0000    41 ;	IO$_SETCHAR+IO$M_ENLAMS(PHYS_IO)
                                     0000    42 ;	This function code signals that LAM management support
                                     0000    43 ;	is to be enabled for the CAMAC crate specified in the
                                     0000    44 ;	IRP. The action taken by the CAMAC ACP consists of
                                     0000    45 ;	allocating the LAM Support Block(LSB) from nonpaged
                                     0000    46 ;	pool, initializing the LAM AST listheads, linking the
                                     0000    47 ;	LSB into the Crate Support Unit UCB for the specified
                                     0000    48 ;	CAMAC crate and enabling serial demand generation from
                                     0000    49 ;	that crate controller.
                                     0000    50 ;
                                     0000    51 ;	IO$_SETCHAR+IO$M_DABLAMS(PHYS_IO)
                                     0000    52 ;	This function code signals that LAM management support is
                                     0000    53 ;	to be disabled for the CAMAC crate specified in the IRP.
                                     0000    54 ;	Further demands from the specified CAMAC crate are
                                     0000    55 ;	disabled. Then, all pending LAM AST control blocks are
                                     0000    56 ;	flushed back to nonpaged pool, with the associated process
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page   2
V02-003                         MODULE HEADER                            27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0000    57 ;	AST count adjusted accordingly. Finally, the LAM support
                                     0000    58 ;	block is released back to nonpaged pool.
                                     0000    59 ;
                                     0000    60 ;	IO$_LAMAST(VIRTUAL I/O)
                                     0000    61 ;	This function code signals that the requesting process desires
                                     0000    62 ;	to set a LAM AST for the CAMAC crate and station specified in the
                                     0000    63 ;	IRP. If LAM support is enabled for the specified crate and the
                                     0000    64 ;	requesting process has sufficient AST quota remaining, an AST
                                     0000    65 ;	control block is allocated from nonpaged pool and linked to
                                     0000    66 ;	the appropriate LAM listhead in the LAM support block for the
                                     0000    67 ;	specified crate. Then demand generation is enabled for the specified
                                     0000    68 ;	crate and station in the LAM encoder module.
                                     0000    69 ;
                                     0000    70 ;	IO$_LAMAST+IO$M_CANLAM(VIRTUAL I/O)
                                     0000    71 ;	This function code signals that the requesting process desires
                                     0000    72 ;	to cancel all pending LAM AST's for the CAMAC crate and station
                                     0000    73 ;	specified in the IRP. The AST control blocks owned by the
                                     0000    74 ;	requesting process are released back to nonpaged pool, with the
                                     0000    75 ;	process AST count adjusted accordingly. Then, if no further LAM
                                     0000    76 ;	AST's are pending for the specified station, demand generation
                                     0000    77 ;	is disabled for that station in the LAM encoder module.
                                     0000    78 ;
                                     0000    79 ;	IO$_ACPCONTROL(VIRTUAL I/O)
                                     0000    80 ;	This function code represents a "null" signal to the ACP. It
                                     0000    81 ;	serves as a vehicle to awaken the ACP only. The ACP only responds
                                     0000    82 ;	with positive action for this code if the associated unit is
                                     0000    83 ;	marked for dismount by the dismount image(DMOUNTCAM.EXE).
                                     0000    84 ;
                                     0000    85 ;	IO$_DEACCESS(VIRTUAL I/O)
                                     0000    86 ;	This function code is used as an internal signal from the CAMAC 
                                     0000    87 ;	device driver to the CAMAC ACP to signal that a VMS I/O channel
                                     0000    88 ;	is being deassigned from the specified unit. The ACP responds
                                     0000    89 ;	by flushing any AST control blocks associated with the crate unit
                                     0000    90 ;	that are owned by the specified process. The process AST count is
                                     0000    91 ;	adjusted accordingly. Note that this I/O function code is not
                                     0000    92 ;	a legal KS I/O driver function code. Attempts to perform a QIO to
                                     0000    93 ;	the ACP(through KSDRIVER) using this function code will result in
                                     0000    94 ;	illegal I/O function code status.
                                     0000    95 ;
                                     0000    96 ;
                                     0000    97 ; AUTHOR
                                     0000    98 ;	E.T. Blair
                                     0000    99 ;
                                     0000   100 ; REVISION HISTORY
                                     0000   101 ;	V01-001,17-AUG-1982, E.T. Blair
                                     0000   102 ;	Enhance program documentation. No code changes of any sort are
                                     0000   103 ;	included in this minor revision.
                                     0000   104 ;
                                     0000   105 ;	V02-000,E.T. Blair,31-AUG-1982
                                     0000   106 ;	Corrected inconsistencies to enable the use of the Crate Support Unit
                                     0000   107 ;	unit number field as the crate number for all internal references to
                                     0000   108 ;	the CAMAC crate number vs. the previous method of relying on the 
                                     0000   109 ;	crate number from the IRP. Now only the SETCHAR requests require a
                                     0000   110 ;	crate number in the IRP and it is only used to locate the CSU for
                                     0000   111 ;	the specified crate. Other minor changes have been made to failure
                                     0000   112 ;	status returned form the ACP in some situations in an attempt to
                                     0000   113 ;	more appropriately identify the nature of the failure.
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page   3
V02-003                         MODULE HEADER                            27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0000   114 ;
                                     0000   115 ;	V02-001,E.T. Blair,1-SEP-1982
                                     0000   116 ;	Modify the KSP_SETC_CONL procedure to ignore the status from
                                     0000   117 ;	the CAMAC request to perform the UNBYPASS+DWAY Z operations.
                                     0000   118 ;	If the crate has a U-Port adapter in it and the crate is
                                     0000   119 ;	in BYPASS state, the U-Port passes the command header at the
                                     0000   120 ;	same time the L2 is processing it, resulting in the KS 2050
                                     0000   121 ;	receiving the command header vs. the truncated command header
                                     0000   122 ;	and thus generating an error. Also, modify KSP_SETC_COFL to
                                     0000   123 ;	interlock aganist performing the operation if the CSU is 'OFFLINE'.
                                     0000   124 ;
                                     0000   125 ;	V02-002, E.T. Blair, 8-Dec-1982
                                     0000   126 ;	Modified register save mask for KSP_DELAMAST procedure to include
                                     0000   127 ;	R3. Under certain conditions, SCH$QUEAST may modify the value of R3.
                                     0000   128 ;
                                     0000   129 ;	V02-003, E.T. Blair, 27-APR-1983
                                     0000   130 ;	Modified demand AST service routine KSP_DMDAST(serial and parallel)
                                     0000   131 ;	to check for dismount status before attempting to service demands.
                                     0000   132 ;	A malfunctioning CAMAC crate controller can prevent the ACP from 
                                     0000   133 ;	dismounting by generating a continuous stream of demands so that
                                     0000   134 ;	it never gets a chance to return to the KSP_WAIT routine where normal
                                     0000   135 ;	dismount processing takes place.
                                     0000   136 ;--
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page   4
V02-003                         LOCAL MACRO DEFINITIONS                  27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0000   138 	.SBTTL	LOCAL MACRO DEFINITIONS
                                     0000   139 	.MACRO	$CAMPIO_S,EFN,CHAN,CRATE,STATION,SUBAD,FUNC,DATA
                                     0000   140 	.IF	NB,DATA
                                     0000   141 	.IF	DF,KS_X_SH
                                     0000   142 	PUSHL	DATA			; DATA VALUE
                                     0000   143 	.ENDC
                                     0000   144 	.IF	DF,KS_X_PH
                                     0000   145 	PUSHAB	DATA
                                     0000   146 	.ENDC
                                     0000   147 	.IFF
                                     0000   148 	CLRL	-(SP)			; ZERO DATA VALUE
                                     0000   149 	.ENDC
                                     0000   150 	.IF	NB,FUNC
                                     0000   151 	MOVZBL	FUNC,-(SP)		; CAMAC F
                                     0000   152 	.IFF
                                     0000   153 	.ERROR	0	; MISSING CAMAC FUNCTION CODE
                                     0000   154 	.MEXIT
                                     0000   155 	.ENDC
                                     0000   156 	.IF	NB,SUBAD
                                     0000   157 	MOVZBL	SUBAD,-(SP)		; CAMAC A
                                     0000   158 	.IFF
                                     0000   159 	.ERROR	0	; MISSING CAMAC SUBADDRESS
                                     0000   160 	.MEXIT
                                     0000   161 	.ENDC
                                     0000   162 	.IF	NB,STATION
                                     0000   163 	MOVZBL	STATION,-(SP)		; CAMAC N
                                     0000   164 	.IFF
                                     0000   165 	.ERROR	0	; MISSING CAMAC STATION
                                     0000   166 	.MEXIT
                                     0000   167 	.ENDC
                                     0000   168 	.IF	NB,CRATE
                                     0000   169 	MOVZBL	CRATE,-(SP)		; CAMAC C
                                     0000   170 	.IFF
                                     0000   171 	.ERROR	0	; MISSING CAMAC CRATE
                                     0000   172 	.MEXIT
                                     0000   173 	.ENDC
                                     0000   174 	.IF	NB,CHAN
                                     0000   175 	MOVZWL	CHAN,-(SP)		; VMS CHANNEL
                                     0000   176 	.IFF
                                     0000   177 	.ERROR	0	; MISSING VMS CHANNEL
                                     0000   178 	.MEXIT
                                     0000   179 	.ENDC
                                     0000   180 	.IF	NB,EFN
                                     0000   181 	MOVZBL	EFN,-(SP)		; EVENT FLAG
                                     0000   182 	.IFF
                                     0000   183 	CLRL	-(SP)			; USE EFN #0
                                     0000   184 	.ENDC
                                     0000   185 	CALLS	#7,KSP_PIO		; CALL INTERNAL PIO
                                     0000   186 	.ENDM	$CAMPIO_S
                                     0000   187 	.MACRO	$LOCPCB,PID
                                     0000   188 	.IF	B,PID
                                     0000   189 	.ERROR	0	; MISSING PID
                                     0000   190 	.MEXIT
                                     0000   191 	.ENDC
                                     0000   192 	MOVL	G^SCH$GL_PCBVEC,-(SP)	; ADDRESS OF PCB VEC
                                     0000   193 	MOVZWL	PID,R4			; GET PCB INDEX
                                     0000   194 	MOVL	@(SP)+[R4],R4		; GET PCB ADDRESS
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page   5
V02-003                         LOCAL MACRO DEFINITIONS                  27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0000   195 	.ENDM	$LOCPCB
                                     0000   196 	.MACRO	$CAMSTAT,CODE
                                     0000   197 	.IF	B,CODE
                                     0000   198 	.ERROR	0	; MISSING STATUS CODE
                                     0000   199 	.MEXIT
                                     0000   200 	.ENDC
                                     0000   201 	.IF	DF,KS_X_SH
                                     0000   202 	MOVL	#SH$_'CODE',R0		; GET SERIAL CODE
                                     0000   203 	.ENDC
                                     0000   204 	.IF	DF,KS_X_PH
                                     0000   205 	MOVL	#PH$_'CODE',R0		; GET PARALLEL CODE
                                     0000   206 	.ENDC
                                     0000   207 	.ENDM	$CAMSTAT
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page   6
V02-003                         SYSTEM AND CAMAC STRUC DEFINITIONS       27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0000   209 	.SBTTL	SYSTEM AND CAMAC STRUC DEFINITIONS
                                     0000   210 	$AQBDEF					; ACP CONTROL BLOCK
                                     0000   211 	$ACBDEF					; AST CONTROL LOCK
                                     0000   212 	$CCBDEF					; CHANNEL CONTROL BLOCK
                                     0000   213 	$CHFDEF					; CONDITION HANDLER STRUCS
                                     0000   214 	$CRBDEF					; CONTROLLER REQUEST BLOCK
                                     0000   215 	$IDBDEF					; INTERRUPT DATA BLOCK
                                     0000   216 	$JPIDEF					; JPI CODES
                                     0000   217 	$PCBDEF					; PROCESS CONTROL BLOCK
                                     0000   218 	$SSDEF					; SYSTEM STATUS
                                     0000   219 	$VCBDEF					; VOL CONTROL BLOCK
                                     0000   220 	$VECDEF					; VECTOR TRANSFER BLOCK
                                     0000   221 	$PRDEF					; PROCESSOR REGISTER DEFS
                                     0000   222 	$PRIDEF					; PROCESS PRIORITY DEFINITIONS
                                     0000   223 	$PSLDEF					; PROC STATUS LONGWORD
                                     0000   224 	$IPLDEF					; PROCESSOR IPL DEFINITIONS
                                     0000   225 ;
                                     0000   226 ; HIGHWAY DEPENDENT CAMAC STRUCTURE DEFINITIONS
                                     0000   227 ;
                                     0000   229 	$SHPARMS				; SERIAL PARAMETERS/SWITCHES
                                     0000   230 	$SHMSG					; SERIAL MESSAGE CODES
                                     0000   231 	$L2SDEF					; L2 SCC STATUS REG DEFS
                                     0000   237 ;
                                     0000   238 ; HIGHWAY INDEPENDENT CAMAC STRUCTURE DEFINITIONS
                                     0000   239 ;
                                     0000   240 	$KSIRPDEF				; CAMAC IRP STRUC
                                     0000   241 	$KSUCBDEF				; CAMAC UCB STRUC
                                     0000   242 	$KSREGS					; CAMAC REGISTER TEMPLATES
                                     0000   243 	$KSIODEF				; CAMAC I/O FUNCTIONS
                                     0000   244 	$RTBDEF					; CAMAC REG TEMPLATE BLOCK
                                     0000   245 	$LSBDEF					; LAM SUPPORT BLOCK STRUC
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page   7
V02-003                         IMAGE DATA SECTION                       27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0000   247 	.SBTTL	IMAGE DATA SECTION
                                 00000000   248 	.PSECT	$DATA,NOSHR,NOEXE
                           000000C8  0000   249 KSP_ACPTYPE	= 200				; CAMAC ACP TYPE CODE
                                     0000   250 
                                     0000   251 KSP_ARG_KMINIT:
                           00000001  0000   252 	.LONG	1				; ARG COUNT
                           0000014C' 0004   253 	.ADDRESS	KSP_KMINIT		; PROCEDURE ENTRY ADDRESS
                                     0008   254 KSP_ARG_KMLAMS:
                           00000001  0008   255 	.LONG	1				; ARG COUNT
                           00000236' 000C   256 	.ADDRESS	KSP_KMCAMIRP		; PROCEDURE ENTRY ADDRESS
                                     0010   257 KSP_JPILST:
                                     0010   258 	JPI_ITEM	-			; PROCESS ID ITEM
                                     0010   259 		4,JPI$_PID,KSP_PID
                                     001C   260 	JPI_ITEM	-			; PROCESS NAME
                                     001C   261 		16,JPI$_PRCNAM,KSP_PRCNAM,KSP_PRCNID
                                     0028   262 	JPI_ITEM				; END OF ITEM LIST
                                     002C   263 KSP_PID:
                           00000000  002C   264 	.LONG	0				; CAMAC ACP PID
                                     0030   265 KSP_PRCNID:
                           00000000  0030   266 	.LONG	0				; LENGTH
                           00000038' 0034   267 	.ADDRESS	KSP_PRCNAM		; BUFFER ADDRESS
                                     0038   268 KSP_PRCNAM:
                           00000048  0038   269 	.BLKB	16				; PROCESS NAME BUFFER
                                     0048   270 KSP_LWSRANGE:
                           000008BF' 0048   271 	.ADDRESS	KSP_LWSBEG		; START OF LOCK RANGE
                           00000C09' 004C   272 	.ADDRESS	KSP_LWSEND		; END OF LOCK RANGE
                                     0050   273 KSP_AQB:
                           00000000  0050   274 	.LONG	0				; ACP CONTROL BLOCK
                                     0054   275 KSP_HSUUCB:
                           00000000  0054   276 	.LONG	0				; HSU UCB ADDRESS
                                     0058   277 KSP_HSUCHAN:
                               0000  0058   278 	.WORD	0				; LAM SUPPORT UNIT CHANNEL
                                     005A   279 KSP_HSU:
                  00000062'010E0000' 005A   280 	.ASCID	/SYS$INPUT/			; LAM SUPP UNIT
                  4E 49 24 53 59 53  0062       
                           54 55 50  0068       
                                     006B   281 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page   8
V02-003                         IMAGE DATA SECTION                       27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                 00000000   283 	.PSECT	$CODE,SHR,NOWRT
                                     0000   284 	.SBTTL	KSP_MAIN, MAIN PROCEDURE
                                     0000   285 	.ENABL	LSB
                                     0000   286 ;++
                                     0000   287 ;
                                     0000   288 ;	Procedure:
                                     0000   289 ;	KSP_MAIN
                                     0000   290 ;
                                     0000   291 ;	Description:
                                     0000   292 ;	This is the MAIN procedure for the CAMAC ACP. It receives
                                     0000   293 ;	entry upon the first QIO call from the CAMAC device driver
                                     0000   294 ;	in response to a 'MOUNT' I/O function from the ACP mount
                                     0000   295 ;	image. A user mode initialization procedure is called first,
                                     0000   296 ;	followed by necessary kernel mode initialization. The IRP
                                     0000   297 ;	service procedure is then called(to execute in kernel mode)
                                     0000   298 ;	place the ACP into it's normal mode of operation.
                                     0000   299 ;
                                     0000   300 ;	Inputs:
                                     0000   301 ;
                                     0000   302 ;	Outputs:
                                     0000   303 ;
                                     0000   304 ;--
                                     0000   305 
                                     0000   306 KSP_MAIN:
                               0000  0000   307 	.WORD	^M<>				; KSP_MAIN ENTRY MASK
                                     0002   308 ;
                                     0002   309 ;	CALL USER MODE INITIALIZATION PROCEDURE. IF FAILURE, ABORT.
                                     0002   310 ;	CALL KERNEL MODE INITIALIZATION PROCEDURE. IF FAILURE,
                                     0002   311 ;	ABORT. UPON SUCCESSFUL COMPLETION OF ALL INITIALIZATION,
                                     0002   312 ;	HIBERNATE IN ACP SERVICE PROCEDURE IN KERNEL MODE UNTIL
                                     0002   313 ;	AWAKENED FOR LAM SERVICE OR A DEMAND AST OCCURS.
                                     0002   314 ;
                            00   FB  0002   315 	CALLS	#0,KSP_UMINIT			; PERFORM USER MODE INIT
                   0000003F'EF       0004       
                         29 50   E9  0009   316 	BLBC	R0,20$				; IF FAILURE, TERMINATE
                                     000C   317 	$CMKRNL_S	-
                                     000C   318 		KSP_KMCALL,-			; PERFORM KERNEL MODE INIT
                                     000C   319 		KSP_ARG_KMINIT
                         13 50   E9  001F   320 	BLBC	R0,20$				; IF FAILURE, ABORT
                                     0022   321 	$CMKRNL_S	-
                                     0022   322 		KSP_KMCALL,-			; ENTER LAM IRP SERVICE ROUTINE
                                     0022   323 		KSP_ARG_KMLAMS
                                     0035   324 ;
                                     0035   325 ;	ONLY RETURNS HERE TO SIGNAL CAMAC ACP INTERNAL ERROR CONDITION.
                                     0035   326 ;	TERMINATE EXECUTION IN THAT EVENT VIA LIB$STOP CALL.
                                     0035   327 ;
                                     0035   328 20$:
                            50   DD  0035   329 	PUSHL	R0				; SAVE RETURN STATUS
                            01   FB  0037   330 	CALLS	#1,G^LIB$SIGNAL			; SIGNAL RETURN STATUS
                   00000000'GF       0039       
                                 04  003E   331 	RET					; THEN BACK TO IMAGE ACTIVATOR
                                     003F   332 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page   9
V02-003                         KSP_UMINIT, USER MODE INITIALIZATION     27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     003F   334 	.SBTTL	KSP_UMINIT, USER MODE INITIALIZATION
                                     003F   335 	.ENABL	LSB
                                     003F   336 
                                     003F   337 ;++
                                     003F   338 ;
                                     003F   339 ;	Procedure:
                                     003F   340 ;	KSP_UMINIT
                                     003F   341 ;
                                     003F   342 ;	Description:
                                     003F   343 ;	This procedure performs the following functions in user
                                     003F   344 ;	mode following image activation:
                                     003F   345 ;		Assign VMS I/O channel to LAM support unit,
                                     003F   346 ;		Get CAMAC ACP process ID,
                                     003F   347 ;	Inputs:
                                     003F   348 ;	SYS$INPUT logical name(assigned to Highway Support Unit),
                                     003F   349 ;	ACP JPI item list.
                                     003F   350 ;
                                     003F   351 ;	Outputs:
                                     003F   352 ;	Process information from GETJPI call,
                                     003F   353 ;	VMS channel assigned to ACP Highway Support Unit.
                                     003F   354 ;
                                     003F   355 ;	Return Status:
                                     003F   356 ;	SS$_NORMAL- normal termination,
                                     003F   357 ;	See ASSIGN,GETJPI system services for additional
                                     003F   358 ;		status codes.
                                     003F   359 ;
                                     003F   360 ;--
                                     003F   361 
                                     003F   362 KSP_UMINIT:
                               0000  003F   363 	.WORD	^M<>				; ENTRY MASK
                                     0041   364 	$ASSIGN_S	-			; ASSIGN VMS CHANNEL TO CAMAC UNIT
                                     0041   365 		DEVNAM=KSP_HSU,-		; CAMAC UNIT LOG NAME
                                     0041   366 		CHAN=KSP_HSUCHAN		; VMS I/O CHANNEL
                         17 50   E9  0056   367 	BLBC	R0,90$				; IF FAILURE, ABORT
                                     0059   368 	$GETJPI_S	-			; GET PROCESS INFO
                                     0059   369 		ITMLST=KSP_JPILST		; ITEM LIST TO RETRIEVE
                                     0070   370 90$:
                            51   D4  0070   371 	CLRL	R1				; NO SIG ARG LIST
                                 04  0072   372 	RET					; RETURN TO CALLER
                                     0073   373 	.DSABL	LSB
                                     0073   374 	.SBTTL	KSP_KMCALL, KERNEL MODE ENTRY PROCEDURE
                                     0073   375 	.ENABL	LSB
                                     0073   376 
                                     0073   377 ;++
                                     0073   378 ;
                                     0073   379 ;	Procedure:
                                     0073   380 ;	KSP_KMCALL
                                     0073   381 ;
                                     0073   382 ;	Description:
                                     0073   383 ;	This procedure establishes a root frame on the kernel
                                     0073   384 ;	stack for the process executing the CAMAC ACP image. The
                                     0073   385 ;	purpose for establishing this root frame is to provide
                                     0073   386 ;	a return point following any nonrecoverable exception
                                     0073   387 ;	resulting in a complete unwind of the kernel mode stack.
                                     0073   388 ;
                                     0073   389 ;
                                     0073   390 ;	Parameters:
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  10
V02-003                         KSP_KMCALL, KERNEL MODE ENTRY PROCEDURE  27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0073   391 ;	0(AP)	- argument count,
                                     0073   392 ;	4(AP)	- address of entry mask of procedure to call.
                                     0073   393 ;
                                     0073   394 ;--
                                     0073   395 
                                     0073   396 KSP_KMCALL:
                               0000  0073   397 	.WORD	^M<>
                       50   0C   3C  0075   398 	MOVZWL	#SS$_ACCVIO,R0			; ASSUME INVALID PROCEDURE ADDRESS
                            51   D4  0078   399 	CLRL	R1				; ZERO SIGNAL LIST ADDR
                         04 AC   D5  007A   400 	TSTL	4(AP)				; CHECK IT
                            04   13  007D   401 	BEQL	90$				; IF 0, ABORT
                    04 BC   00   FB  007F   402 	CALLS	#0,@4(AP)			; CALL INDICATED PROCEDURE
                                     0083   403 90$:
                                 04  0083   404 	RET					; RETURN TO CALLER
                                     0084   405 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  11
V02-003                         KSP_KMEXHAND, KERNEL MODE EXCEPTION HAND 27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0084   407 	.SBTTL	KSP_KMEXHAND, KERNEL MODE EXCEPTION HANDLER
                                     0084   408 	.ENABL	LSB
                                     0084   409 
                                     0084   410 ;++
                                     0084   411 ;
                                     0084   412 ;	Procedure:
                                     0084   413 ;	KSP_KMEXHAND
                                     0084   414 ;
                                     0084   415 ;	Description:
                                     0084   416 ;	This procedure serves as a kernel mode exception handler for the
                                     0084   417 ;	CAMAC ACP. The signal list from the exception is saved in the
                                     0084   418 ;	buffer KSP_SIGARGL and the kernel mode stack is unwound back
                                     0084   419 ;	to the root frame established by the KSP_KMCALL procedure where
                                     0084   420 ;	control is reinstated.
                                     0084   421 ;
                                     0084   422 ;	Parameters:
                                     0084   423 ;	CHF$L_SIGARGLST(AP)
                                     0084   424 ;	CHF$L_MCHARGLIST(AP)
                                     0084   425 ;
                                     0084   426 ;--
                                     0084   427 ;
                                     0084   428 ;
                                     0084   429 ;	HANDLER FAO DATA
                                     0084   430 ;
                                     0084   431 KSP_KMXHNID:
                  0000008C'010E0000' 0084   432 	.ASCID	/_KSP_KMEXHAND/			; HANDLER PROCEDURE NAME
                  4B 5F 50 53 4B 5F  008C       
                  4E 41 48 58 45 4D  0092       
                                 44  0098       
                                     0099   433 
                                     0099   434 KSP_KMEXHAND:
                               001C  0099   435 	.WORD	^M<R2,R3,R4>
                    52   04 AC   D0  009B   436 	MOVL	CHF$L_SIGARGLST(AP),R2		; LOCATE SIG ARG LIST
                         04 A2   D1  009F   437 	CMPL	CHF$L_SIG_NAME(R2),-		; UNWIND CALL?
                   00000920 8F       00A2   438 		#SS$_UNWIND
                            01   12  00A7   439 	BNEQ	10$				; IF NOT, CONTINUE
                                 04  00A9   440 	RET					; IF SO, RETURN
                                     00AA   441 10$:
                            52   DD  00AA   442 	PUSHL	R2				; SIG LIST ADDR
                         D5 AF   DF  00AC   443 	PUSHAL	KSP_KMXHNID			; HANDLER NAME ID
                   00000030'EF   DF  00AF   444 	PUSHAL	KSP_PRCNID			; PROCESS NAME ID
                            04   FB  00B5   445 	CALLS	#4,KSP_LOGERR			; LOG ACP ERROR
                   000000ED'EF       00B7       
                         12 50   E9  00BC   446 	BLBC	R0,30$				; IF FAILURE, RESIGNAL
                                     00BF   447 	$UNWIND_S				; UNWIND TO ROOT PROCEDURE
                         04 50   E9  00CA   448 	BLBC	R0,30$				; IF FAILURE, RESIGNAL
                       50   01   3C  00CD   449 	MOVZWL	#SS$_CONTINUE,R0		; CONTINUE
                                 04  00D0   450 	RET					; RETURN TO EXCEPTION DISPATCHER
                                     00D1   451 30$:
                  50   0918 8F   3C  00D1   452 	MOVZWL	#SS$_RESIGNAL,R0		; RESIGNAL EXCEPTION
                                 04  00D6   453 	RET					; RETURN TO EXCEPTION DISPATCHER
                                     00D7   454 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  12
V02-003                         KSP_LOGERR, LOG EXCEPTION TO SYSTEM ERRO 27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     00D7   456 	.SBTTL	KSP_LOGERR, LOG EXCEPTION TO SYSTEM ERROR LOG
                                     00D7   457 	.ENABL	LSB
                                     00D7   458 
                                     00D7   459 ;++
                                     00D7   460 ;
                                     00D7   461 ;	Procedure:
                                     00D7   462 ;	KSP_LOGERR(FAOCTSID,PRCNID,HANDID,SIGLST)
                                     00D7   463 ;
                                     00D7   464 ;	Description:
                                     00D7   465 ;	This procedure performs general error message formatting 
                                     00D7   466 ;	and logs the formatted message to the current system error 
                                     00D7   467 ;	log file ERRLOG.SYS.
                                     00D7   468 ;
                                     00D7   469 ;	Inputs:
                                     00D7   470 ;	0(AP)-number of arguments,
                                     00D7   471 ;	4(AP)- address of process name string descr,
                                     00D7   472 ;	8(AP)- address of message identifier/handler name string
                                     00D7   473 ;		descriptor,
                                     00D7   474 ;	12(AP)- address of parameter list to be formatted by
                                     00D7   475 ;		the specified FAO string.
                                     00D7   476 ;
                                     00D7   477 ;	Outputs:
                                     00D7   478 ;	R0	- status of the request,
                                     00D7   479 ;	Message generated to system error log file ERRLOG.SYS.
                                     00D7   480 ;
                                     00D7   481 ;--
                                     00D7   482 
                           00000004  00D7   483 PRCNID		= 4				; PROCESS NAME ID
                           00000008  00D7   484 HANDID		= 8				; CALLING HANDLER ID
                           0000000C  00D7   485 SIGLST		= 12				; SIGNAL LIST
                                     00D7   486 
                                     00D7   487 KSP_LOGCTS:
                  000000DF'010E0000' 00D7   488 	.ASCID	/!AS!AS!#(10XL)/
                  53 41 21 53 41 21  00DF       
                  58 30 31 28 23 21  00E5       
                              29 4C  00EB       
                                     00ED   489 
                                     00ED   490 KSP_LOGERR:
                               001C  00ED   491 	.WORD	^M<R2,R3,R4>
                                     00EF   492 
                    52   0C AC   D0  00EF   493 	MOVL	SIGLST(AP),R2			; GET SIGNAL LIST ADDR
                       50   62   D0  00F3   494 	MOVL	CHF$L_SIG_ARGS(R2),R0		; GET SIG LIST ARG COUNT
                  51   04 A240   DE  00F6   495 	MOVAL	4(R2)[R0],R1			; GET END ADDRESS+4
                                     00FB   496 20$:
                       7E   71   D0  00FB   497 	MOVL	-(R1),-(SP)			; COPY TO FAO PARAMETER LIST
                         FA 50   F4  00FE   498 	SOBGEQ	R0,20$				; COPY ALL INCLUDING COUNT
                         08 AC   DD  0101   499 	PUSHL	HANDID(AP)			; HANDLER NAME ID TO FAO LIST
                         04 AC   DD  0104   500 	PUSHL	PRCNID(AP)			; AND PROCESS NAME ID TOO
                       54   5E   D0  0107   501 	MOVL	SP,R4				; SAVE FAO LIST ADDRESS
                  51   62   0A   C5  010A   502 	MULL3	#10,CHF$L_SIG_ARGS(R2),R1	; SPACE FOR ARG ENTRIES
                    51   08 BC   A0  010E   503 	ADDW	@HANDID(AP),R1			; SPACE FOR PROCEDURE NAME
                    51   04 BC   A0  0112   504 	ADDW	@PRCNID(AP),R1			; SPACE FOR PROCESS NAME
                       51   0C   A0  0116   505 	ADDW	#12,R1				; DESCRIPTOR+STRING CHARS
                       5E   51   C2  0119   506 	SUBL	R1,SP				; ALLOCATE FROM STACK
                       53   5E   D0  011C   507 	MOVL	SP,R3				; USE R4 FOR BASE
                       51   0C   C3  011F   508 	SUBL3	#12,R1,4(R3)			; INITIALIZE DESCRIPTOR SIZE
                         04 A3       0122       
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  13
V02-003                         KSP_LOGERR, LOG EXCEPTION TO SYSTEM ERRO 27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                 08 A3   0C A3   9E  0124   509 	MOVAB	12(R3),8(R3)			; AND ADDRESS POINTER
                                     0129   510 	$FAOL_S	-				; FORMAT SIG ARG LIST
                                     0129   511 		CTRSTR=KSP_LOGCTS,-		; CONTROL STRING,
                                     0129   512 		OUTLEN=(R3),-			; SAVE REAL LENGTH
                                     0129   513 		OUTBUF=4(R3),-			; OUTPUT BFR DESCRIPTOR
                                     0129   514 		PRMLST=(R4)			; PARAMETER LIST ADDRESS
                         0E 50   E9  013A   515 	BLBC	R0,30$				; IF FAILURE, RESIGNAL
                    04 A3   63   3C  013D   516 	MOVZWL	(R3),4(R3)			; INSERT ACTUAL FAO LENGTH
                                     0141   517 	$SNDERR_S	-			; SEND BUFFER TO ERROR LOG
                                     0141   518 		MSGBUF=4(R3)
                                     014B   519 30$:
                                 04  014B   520 	RET					; RETURN TO CALLER
                                     014C   521 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  14
V02-003                         KSP_KMINIT KERNEL MODE INITIALIZATION    27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     014C   523 	.SBTTL	KSP_KMINIT KERNEL MODE INITIALIZATION
                                     014C   524 	.ENABL	LSB
                                     014C   525 
                                     014C   526 ;++
                                     014C   527 ;
                                     014C   528 ;	Procedure:
                                     014C   529 ;	KSP_KMINIT
                                     014C   530 ;
                                     014C   531 ;	Description:
                                     014C   532 ;	This procedure performs CAMAC ACP initialization involving
                                     014C   533 ;	system access only available from kernel mode. It references
                                     014C   534 ;	internal VMS routines and I/O data base structures associated
                                     014C   535 ;	with the CAMAC controller(KS 2050/2051 unit). The procedure
                                     014C   536 ;	performs the following functions:
                                     014C   537 ;
                                     014C   538 ;		Locks range of the image into the process working set,
                                     014C   539 ;		Locates the UCB associated with the Highway Support
                                     014C   540 ;			Unit from the VMS channel,
                                     014C   541 ;		Locates the ACP Control Block(AQB) for itself and 
                                     014C   542 ;			satisfies the protocol with the mount image,
                                     014C   543 ;		Enables demand generation from the CAMAC device
                                     014C   544 ;			driver.
                                     014C   545 ;
                                     014C   546 ;	Parameters:
                                     014C   547 ;	None.
                                     014C   548 ;
                                     014C   549 ;	Return Status:
                                     014C   550 ;	SS$_NORMAL- indicates successful execution of the initialization
                                     014C   551 ;		procedure,
                                     014C   552 ;	Any other status value indicates failure identified by system
                                     014C   553 ;		message file text.
                                     014C   554 ;
                                     014C   555 ;--
                                     014C   556 
                                     014C   557 KSP_KMINIT:
                               003C  014C   558 	.WORD	^M<R2,R3,R4,R5>
                  6D   FF47 CF   9E  014E   559 	MOVAB	KSP_KMEXHAND,0(FP)		; SET KERNEL MODE EXCEPTION HANDLER
                                     0153   560 	$LKWSET_S	-			; LOCK ELEVATED IPL CODE
                                     0153   561 		INADR=KSP_LWSRANGE,-
                                     0153   562 		ACMODE=#PSL$C_KERNEL
                         03 50   E8  0164   563 	BLBS	R0,80$				; IF SUCCESS, CONTINUE
                            51   D4  0167   564 	CLRL	R1				; NO SIG ARG LIST
                                 04  0169   565 	RET					; ELSE, ABORT
                                     016A   566 80$:
                   00000058'EF   3C  016A   567 	MOVZWL	KSP_HSUCHAN,R0			; GET LAM UNIT CHANNEL
                            50       0170       
                   00000000'GF   16  0171   568 	JSB	G^IOC$VERIFYCHAN		; LOCATE CCB FOR CHENNEL
                         03 50   E8  0177   569 	BLBS	R0,90$				; IF SUCCESS, CONTINUE
                            51   D4  017A   570 	CLRL	R1				; NO SIG ARG LIST
                                 04  017C   571 	RET					; RETURN TO MAIN
                                     017D   572 90$:
                            61   D0  017D   573 	MOVL	CCB$L_UCB(R1),-			; SAVE HSU UCB ADDRESS
                   00000054'EF       017F   574 		KSP_HSUUCB
                                     0184   575 	LOCKIOR					; LOCK I/O DATA BASE(READ)
                   00000000'GF   9E  0198   576 	MOVAB	G^IOC$GL_AQBLIST,R1		; LOCATE AQB LIST ADDRESS
                            51       019E       
                       50   61   D0  019F   577 	MOVL	(R1),R0				; GET FIRST AQB ADDRESS
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  15
V02-003                         KSP_KMINIT KERNEL MODE INITIALIZATION    27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     01A2   578 10$:
                         15 A0   91  01A2   579 	CMPB	AQB$B_ACPTYPE(R0),-		; ACP TYPE MATCH?
                         C8 8F       01A5   580 		#KSP_ACPTYPE
                            0A   12  01A7   581 	BNEQ	60$				; IF NOT, ADVANCE TO NEXT ONE
                   0000002C'EF   D1  01A9   582 	CMPL	KSP_PID,-			; OWN PID MATCH AQB PID?
                         0C A0       01AF   583 		AQB$L_ACPPID(R0)
                            25   13  01B1   584 	BEQL	20$				; IF SO, FOUND RIGHT AQB
                                     01B3   585 60$:
                    50   10 A0   D0  01B3   586 	MOVL	AQB$L_LINK(R0),R0		; ADVANCE TO NEXT AQB
                            E9   12  01B7   587 	BNEQ	10$				; IF NOT END, CONTINUE
                                     01B9   588 	UNLOCKIO				; RELEASE I/O DATA BASE LOCK
                  50   0314 8F   3C  01D0   589 	MOVZWL	#SS$_NOAQB,R0			; SET ERROR STATUS
                            51   D4  01D5   590 	CLRL	R1				; NO SIG ARG LIST
                                 04  01D7   591 	RET					; RETURN TO MAIN
                                     01D8   592 20$:
                            50   D0  01D8   593 	MOVL	R0,KSP_AQB			; SAVE AQB ADDRESS
                   00000050'EF       01DA       
                                     01DF   594 	UNLOCKIO				; RELEASE I/O DATA BASE LOCK
                   00000050'EF   D0  01F6   595 	MOVL	KSP_AQB,R2			; GET AQB ADDRESS
                            52       01FC       
                            03   E4  01FD   596 	BBSC	#AQB$V_CREATING,-		; AQB IN 'CREATING' STATE?
                      08 14 A2       01FF   597 		AQB$B_STATUS(R2),30$		; IF SO, CONTINUE
                  50   031C 8F   3C  0202   598 	MOVZWL	#SS$_WRONGACP,R0		; ELSE, SOMETHING WRONG
                            51   D4  0207   599 	CLRL	R1				; NO SIGNAL ARG LIST
                                 04  0209   600 	RET					; RETURN TO MAIN
                                     020A   601 30$:
                   00000054'EF   D0  020A   602 	MOVL	KSP_HSUUCB,R5			; GET SUPPORT UCB ADDRESS
                            55       0210       
                    51   20 A5   D0  0211   603 	MOVL	UCB$L_CRB(R5),R1		; LOCATE CRB
                    57   2C A1   D0  0215   604 	MOVL	CRB$L_INTD+VEC$L_IDB(R1),R7	; LOCATE IDB FROM CRB
                       51   67   D0  0219   605 	MOVL	IDB$L_CSR(R7),R1		; GET CSR ADDRESS FROM IDB
                                     021C   607 40$:
                       0040 8F   B3  021C   608 	BITW	#DFR_M_DFE,-			; LOOP UNTIL DEMAND FIFO EMPTY
                         0C A1       0220   609 		KS_W_DFR(R1)
                            F8   13  0222   610 	BEQL	40$				; IF 0, MORE TO GO
                   0000072E'EF   9E  0224   612 	MOVAB	KSP_DMDAST,R6			; DEMAND AST ADDRESS
                            56       022A       
                            00   FB  022B   613 	CALLS	#0,KSP_ENDMANDS			; ENABLE DEMANDS
                   000009A0'EF       022D       
                       50   01   3C  0232   614 	MOVZWL	#SS$_NORMAL,R0			; SET NORMAL STATUS
                                 04  0235   615 	RET					; RETURN TO MAIN
                                     0236   616 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  16
V02-003                         KSP_KMCAMIRP, CAMAC IRP SERVICE PROCEDUR 27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0236   618 	.SBTTL	KSP_KMCAMIRP, CAMAC IRP SERVICE PROCEDURE
                                     0236   619 	.ENABL	LSB
                                     0236   620 
                                     0236   621 ;++
                                     0236   622 ;
                                     0236   623 ;	Procedure:
                                     0236   624 ;	KSP_KMCAMIRP
                                     0236   625 ;
                                     0236   626 ;	Description:
                                     0236   627 ;	This procedure implements the IRP service loop for the CAMAC
                                     0236   628 ;	ACP. Basically, IRP's are dispatched from the ACP queue until
                                     0236   629 ;	it is empty at which time the ACP hibernates until awakened
                                     0236   630 ;	by the CAMAC device driver queueing an IRP. Specifically, the
                                     0236   631 ;	procedure performs the following steps:
                                     0236   632 ;		1. Dequeues an IRP from the ACP queue. If empty,
                                     0236   633 ;		   then the ACP hibernates until awakened by another
                                     0236   634 ;		   IRP.
                                     0236   635 ;		2. Establishes a standard environmemt for the function
                                     0236   636 ;		   code action routine as follows
                                     0236   637 ;			R3- address of the IRP,
                                     0236   638 ;			R5- address of associated UCB,
                                     0236   639 ;			R7- function code value.
                                     0236   640 ;		3. Dispatches the function action procedure.
                                     0236   641 ;		4. Posts the IRP for I/O completion processing.
                                     0236   642 ;
                                     0236   643 ;	Inputs:
                                     0236   644 ;	ACP IRP queue located from AQB listhead,
                                     0236   645 ;
                                     0236   646 ;	Outputs:
                                     0236   647 ;	None.
                                     0236   648 ;
                                     0236   649 ;--
                                     0236   650 
                                     0236   651 
                                     0236   652 KSP_KMCAMIRP:
                               007C  0236   653 	.WORD	^M<R2,R3,R4,R5,R6>
                  6D   FE5D CF   9E  0238   654 	MOVAB	KSP_KMEXHAND,0(FP)		; SET CONDITION HANDLER
                                     023D   655 
                                     023D   656 KSP_CAMIRP:					; LAM IRP SERVICE LOOP
                   00000050'EF   DD  023D   657 	PUSHL	KSP_AQB				; PASS AQB ADDRESS AS PARAMETER
                            01   FB  0243   658 	CALLS	#1,KSP_WAITQ			; WAIT FOR ACP WORK
                   000008BF'EF       0245       
                            00   EF  024A   659 	EXTZV	#IO$V_FCODE,-			; GET IRP FUNCTION CODE
                            06       024C   660 		#IO$S_FCODE,-
                    57   20 A3       024D   661 		IRP$W_FUNC(R3),R7		; FOR LEGALITY/ACTION TESTING
                    55   1C A3   D0  0250   662 	MOVL	IRP$L_UCB(R3),R5		; AND OWNING UCB ADDRESS
                       33   57   91  0254   663 	CMPB	R7,#IO$_LAMAST			; LAM SERVICE REQUEST
                            09   12  0257   664 	BNEQ	100$				; NO, CHECK ANOTHER
                            00   FB  0259   665 	CALLS	#0,KSP_LAMAST
                   0000037B'EF       025B       
                            41   11  0260   666 	BRB	50$
                                     0262   667 100$:
                       1A   57   91  0262   668 	CMPB	R7,#IO$_SETCHAR			; SET CHARACTERISTICS
                            09   12  0265   669 	BNEQ	110$				; NO, CHECK ANOTHER
                            00   FB  0267   670 	CALLS	#0,KSP_SETCHAR
                   00000473'EF       0269       
                            33   11  026E   671 	BRB	50$
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  17
V02-003                         KSP_KMCAMIRP, CAMAC IRP SERVICE PROCEDUR 27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0270   672 110$:
                       39   57   91  0270   673 	CMPB	R7,#IO$_MOUNT			; MOUNT?
                            09   12  0273   674 	BNEQ	120$				; NO, CHECK ANOTHER
                            00   FB  0275   675 	CALLS	#0,KSP_MOUNT
                   000002B0'EF       0277       
                            25   11  027C   676 	BRB	50$
                                     027E   677 120$:
                       38   57   91  027E   678 	CMPB	R7,#IO$_ACPCONTROL		; ACP CONTROL?
                            09   12  0281   679 	BNEQ	130$				; NO, CHECK ANOTHER
                            00   FB  0283   680 	CALLS	#0,KSP_ACPCTL
                   000002CE'EF       0285       
                            17   11  028A   681 	BRB	50$
                                     028C   682 130$:
                       34   57   91  028C   683 	CMPB	R7,#IO$_DEACCESS		; DEACCESS IRP?
                            09   12  028F   684 	BNEQ	200$				; IF NOT, CHECK ANOTHER
                            00   FB  0291   685 	CALLS	#0,KSP_DEACCESS			; PERFORM DEACCESS FUNCTION
                   0000032A'EF       0293       
                            09   11  0298   686 	BRB	50$
                                     029A   687 200$:
                       00F4 8F   3C  029A   688 	MOVZWL	#SS$_ILLIOFUNC,-		; SET ILLEGAL FUNCTION
                         38 A3       029E   689 		IRP$L_IOST1(R3)			; IN IRP
                         3C A3   D4  02A0   690 	CLRL	IRP$L_IOST2(R3)			; CLEAR DEVICE STATUS
                                     02A3   691 50$:
                            53   D5  02A3   692 	TSTL	R3				; IRP ALREADY DISPOSED?
                            96   13  02A5   693 	BEQL	KSP_CAMIRP			; IF 0, ASSUME SO
                            00   FB  02A7   694 	CALLS	#0,KSP_POSTIRP			; POST IRP W/TERMINATION STATUS
                   00000941'EF       02A9       
                            8D   11  02AE   695 	BRB	KSP_CAMIRP			; GET NEXT IRP
                                     02B0   696 					
                                     02B0   697 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  18
V02-003                         KSP_MOUNT, MOUNT IRP REQUEST             27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     02B0   699 	.SBTTL	KSP_MOUNT, MOUNT IRP REQUEST
                                     02B0   700 	.ENABL	LSB
                                     02B0   701 
                                     02B0   702 ;++
                                     02B0   703 ;
                                     02B0   704 ;	Procedure:
                                     02B0   705 ;	KSP_MOUNT
                                     02B0   706 ;
                                     02B0   707 ;	Description:
                                     02B0   708 ;	This is the action procedure for the 'IO$_MOUNT' function code.
                                     02B0   709 ;	The procedure resets the MOUNTING bit in the UCB device characteristics
                                     02B0   710 ;	field and sets the MOUNTED bit in the same field.
                                     02B0   711 ;
                                     02B0   712 ;	Inputs:
                                     02B0   713 ;	R3	- address of IRP,
                                     02B0   714 ;	R5	- address of UCB.
                                     02B0   715 ;
                                     02B0   716 ;	Outputs:
                                     02B0   717 ;	IRP$L_IOST1,IRP$L_IOST2 contain IOSB status.
                                     02B0   718 ;	R0	- ACP status value(success/failure).
                                     02B0   719 ;
                                     02B0   720 ;
                                     02B0   721 ;--
                                     02B0   722 
                                     02B0   723 KSP_MOUNT:
                               0000  02B0   724 	.WORD	^M<>				; KSP_MOUNT ENTRY MASK
                  50   031C 8F   3C  02B2   725 	MOVZWL	#SS$_WRONGACP,R0		; ASSUME FAILURE
                            09   E5  02B7   726 	BBCC	#UCB$V_MOUNTING,-		; UNIT MOUNT IN PROGRESS?
                      0B 58 A5       02B9   727 		UCB$W_STS(R5),90$		; IF NOT, SOMETHING WRONG
                   00000000'8F   C8  02BC   728 	BISL	#DEV$M_MNT!DEV$M_FOR,-		; SET DEVICE MOUNTED FOREIGN
                         34 A5       02C2   729 		UCB$L_DEVCHAR(R5)
                       50   01   9A  02C4   730 	MOVZBL	#SS$_NORMAL,R0			; NORMAL STATUS
                                     02C7   731 90$:
                            51   D4  02C7   732 	CLRL	R1				; ZERO DEV DEP STATUS
                    38 A3   50   7D  02C9   733 	MOVQ	R0,IRP$L_IOST1(R3)		; SAVE IOSB STATUS
                                 04  02CD   734 	RET					; RETURN TO CALLER
                                     02CE   735 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  19
V02-003                         KSP_ACPCTL, ACP CONTROL IRP REQUEST      27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     02CE   737 	.SBTTL	KSP_ACPCTL, ACP CONTROL IRP REQUEST
                                     02CE   738 	.ENABL	LSB
                                     02CE   739 
                                     02CE   740 ;++
                                     02CE   741 ;
                                     02CE   742 ;	Procedure:
                                     02CE   743 ;	KSP_ACPCTL
                                     02CE   744 ;
                                     02CE   745 ;	Description:
                                     02CE   746 ;	This is the action procedure for the 'IO$_ACPCONTROL' function code.
                                     02CE   747 ;	The procedure action is determined as follows:
                                     02CE   748 ;		Specified UCB marked for dismount?
                                     02CE   749 ;		1. Disable demand generation from the CAMAC device
                                     02CE   750 ;		   driver.
                                     02CE   751 ;		2. Terminate LAM support for ALL crate units associated
                                     02CE   752 ;		   with the CAMAC Highway Support Unit marked for dismount.
                                     02CE   753 ;
                                     02CE   754 ;	No other conditions invoke action in response to this function code.
                                     02CE   755 ;
                                     02CE   756 ;	Inputs:
                                     02CE   757 ;	R3	- address of IRP,
                                     02CE   758 ;	R5	- address of UCB.
                                     02CE   759 ;
                                     02CE   760 ;	Outputs:
                                     02CE   761 ;	IRP$L_IOST1,IRP$L_IOST2 contain IOSB status.
                                     02CE   762 ;	R0	- contains ACP internal status(success/failure).
                                     02CE   763 ;
                                     02CE   764 ;--
                                     02CE   765 
                                     02CE   766 KSP_ACPCTL:
                               00E4  02CE   767 	.WORD	^M<R2,R5,R6,R7>
                                     02D0   768 
                   000000F4 8F   D0  02D0   769 	MOVL	#SS$_ILLIOFUNC,R0		; ASSUME NOT VALID
                            50       02D6       
                         48 A5   B5  02D7   770 	TSTW	UCB$W_UNIT(R5)			; ACP CONTROL FOR HSU?
                            17   12  02DA   771 	BNEQ	90$				; IF NOT, ABORT
                   00000000'8F   E1  02DC   772 	BBC	#DEV$V_DMT,UCB$L_DEVCHAR(R5),-	; UNIT MARKED FOR DISMOUNT?
                         34 A5       02E2       
                            0E       02E4   773 		90$				; IF NOT, GO DISMISS IRP
                            00   FB  02E5   774 	CALLS	#0,KSP_DBDMANDS			; DISABLE DEMANDS FROM 2050
                   00000A15'EF       02E7       
                            00   FB  02EC   775 	CALLS	#0,KSP_TERMALL			; TERMINATE ALL CSU LAM SUPPORT
                   000002FD'EF       02EE       
                                     02F3   776 90$:
                       50   01   9A  02F3   777 	MOVZBL	#SS$_NORMAL,R0			; SET NORMAL STATUS
                            51   D4  02F6   778 	CLRL	R1				; ZERO DEV STATUS
                    38 A3   50   7D  02F8   779 	MOVQ	R0,IRP$L_IOST1(R3)		; SAVE IOSB STATUS
                                 04  02FC   780 	RET					; RETURN TO CALLER
                                     02FD   781 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  20
V02-003                         KSP_TERMALL, TERMINATE LAM SUPPORT FOR A 27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     02FD   783 	.SBTTL	KSP_TERMALL, TERMINATE LAM SUPPORT FOR ALL CSU'S
                                     02FD   784 	.ENABL	LSB
                                     02FD   785 ;++
                                     02FD   786 ;
                                     02FD   787 ;	Procedure:
                                     02FD   788 ;	KSP_TERMALL
                                     02FD   789 ;
                                     02FD   790 ;	Description:
                                     02FD   791 ;
                                     02FD   792 ;	Inputs:
                                     02FD   793 ;	R5	- UCB address of the Highway Support Unit.
                                     02FD   794 ;
                                     02FD   795 ;	Outputs:
                                     02FD   796 ;	R0,R1 IOSB status
                                     02FD   797 ;
                                     02FD   798 ;--
                                     02FD   799 
                                     02FD   800 KSP_TERMALL:
                               00E4  02FD   801 	.WORD	^M<R2,R5,R6,R7>
                                     02FF   802 
                    56   20 A5   D0  02FF   803 	MOVL	UCB$L_CRB(R5),R6		; LOCATE CRB FROM UCB
                    56   2C A6   D0  0303   804 	MOVL	CRB$L_INTD+VEC$L_IDB(R6),R6	; AND IDB FROM CRB
                    57   0C A6   3C  0307   805 	MOVZWL	IDB$W_UNITS(R6),R7		; GET UCB LIST LENGTH
                    56   14 A6   DE  030B   806 	MOVAL	IDB$L_UCBLST(R6),R6		; ADDRESS OF HEAD OF UCB LIST
                                     030F   807 10$:
                            57   D7  030F   808 	DECL	R7				; DECREMENT UNITS REMAINING
                            13   19  0311   809 	BLSS	90$				; IF DONE, EXIT LOOP
                       55   86   D0  0313   810 	MOVL	(R6)+,R5			; GET UCB ENTRY
                            F7   13  0316   811 	BEQL	10$				; IF NULL, CONTINUE
                    5A A5   02   E1  0318   812 	BBC	#DSTS_V_LSBV,UCB$W_DEVSTS(R5),-	; IF NO LAM SUPPORT, GET NEXT
                            F2       031C   813 		10$
                            00   FB  031D   814 	CALLS	#0,KSP_TERMLAMS			; TERMINATE LAM SUPPORT
                   000006A7'EF       031F       
                            E9   11  0324   815 	BRB	10$				; BACK FOR MORE
                                     0326   816 90$:
                       50   01   3C  0326   817 	MOVZWL	#SS$_NORMAL,R0			; RETURN NORMAL STATUS
                                 04  0329   818 	RET					; BACK TO CALLER
                                     032A   819 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  21
V02-003                         KSP_DEACCESS, DEACCESS IRP PROCEDURE     27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     032A   821 	.SBTTL	KSP_DEACCESS, DEACCESS IRP PROCEDURE
                                     032A   822 	.ENABL	LSB
                                     032A   823 
                                     032A   824 ;++
                                     032A   825 ;
                                     032A   826 ;	Procedure:
                                     032A   827 ;	KSP_DEACCESS
                                     032A   828 ;
                                     032A   829 ;	Description:
                                     032A   830 ;	This is the action procedure for the 'IO$_DEACCESS' function code.
                                     032A   831 ;	This function code is generated by the CANCEL_IO routine in the
                                     032A   832 ;	CAMAC device driver in response to a deassign channel system service.
                                     032A   833 ;	It should never be used as the function code for a QIO request from
                                     032A   834 ;	a process, since the IRP is NOT posted to the I/O post processing
                                     032A   835 ;	queue. Instead, the associated IRP is dismissed directly by deallocating
                                     032A   836 ;	it back to the appropriate resource pool through EXE$DEANONPAGED.
                                     032A   837 ;	This function results in the following action:
                                     032A   838 ;		1. All LAM AST's connected to the specified CAMAC crate UCB
                                     032A   839 ;		   for the process associated with the IRP are flushed back
                                     032A   840 ;		   to nonpaged pool, with the process AST count adjusted
                                     032A   841 ;		   acccordingly.
                                     032A   842 ;		2. Demand generation is disabled for station numbers in the
                                     032A   843 ;		   specified crate that no longer have LAM AST's pending.
                                     032A   844 ;
                                     032A   845 ;
                                     032A   846 ;	Inputs:
                                     032A   847 ;	R3	- address of IRP,
                                     032A   848 ;	R5	- address of UCB.
                                     032A   849 ;
                                     032A   850 ;	Outputs:
                                     032A   851 ;	IRP$L_IOST1,IRP$L_IOST2 contain IOSB status.
                                     032A   852 ;	R0	- contains ACP internal status(success/failure).
                                     032A   853 ;
                                     032A   854 ;--
                                     032A   855 
                                     032A   856 KSP_DEACCESS:
                               0074  032A   857 	.WORD	^M<R2,R4,R5,R6>
                                     032C   858 	$LOCPCB	PID=IRP$L_PID(R3)		; LOCATE PCB FROM PID
                                     033B   859 						; R4 CONTAINS PCB ADDRESS
                    5A A5   02   E1  033B   860 	BBC	#DSTS_V_LSBV,UCB$W_DEVSTS(R5),-	; IF NO LAM SUPPORT, EXIT
                            23       033F   861 		90$
                  56   0098 C5   D0  0340   862 	MOVL	UCB$L_LSB(R5),R6		; GET LAM SUPP BLOCK ADDR
                       52   01   CE  0345   863 	MNEGL	#1,R2				; INITIALIZE FOR STATION SCAN
                                     0348   864 120$:
                            52   D6  0348   865 	INCL	R2				; ADVANCE STATION
                  50   18   52   C3  034A   866 	SUBL3	R2,#LSB_K_NLMAX,R0		; SIZE REMAINING IN R0
                       50   52   EA  034E   867 	FFS	R2,R0,LSB_L_LPEND(R6),R2	; FIND LAM PENDING
                    52   04 A6       0351       
                            0D   13  0354   868 	BEQL	90$				; IF DONE, EXIT LOOP
                    41 A3   52   90  0356   869 	MOVB	R2,IRP$B_N(R3)			; SET STATION IN IRP
                            00   FB  035A   870 	CALLS	#0,KSP_CANLAM			; CANCEL LAM AST
                   00000436'EF       035C       
                            E5   11  0361   871 	BRB	120$				; BACK FOR MORE IN THIS CRATE
                                     0363   872 90$:
                  52   0094 C5   D0  0363   873 	MOVL	UCB$L_HSU(R5),R2		; LOCATE HSU FROM UCB
                    50   30 A2   D0  0368   874 	MOVL	UCB$L_VCB(R2),R0		; LOCATE VCB FROM HSU
                         0C A0   B7  036C   875 	DECW	VCB$W_TRANS(R0)			; DECREMENT TRANSCATIONS PEND
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  22
V02-003                         KSP_DEACCESS, DEACCESS IRP PROCEDURE     27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                       50   53   D0  036F   876 	MOVL	R3,R0				; SET TO DEALLOCATE IRP
                   00000000'GF   16  0372   877 	JSB	G^EXE$DEANONPAGED		; RELEASE IRP BACK TO NPP
                            53   D4  0378   878 	CLRL	R3				; ZERO IRP ADDRESS
                                 04  037A   879 	RET					; RETURN TO CALLER
                                     037B   880 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  23
V02-003                         KSP_LAMAST LAM AST IRP REQUEST           27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     037B   882 	.SBTTL	KSP_LAMAST LAM AST IRP REQUEST
                                     037B   883 	.ENABL	LSB
                                     037B   884 
                                     037B   885 ;++
                                     037B   886 ;
                                     037B   887 ;	Procedure:
                                     037B   888 ;	KSP_LAMAST
                                     037B   889 ;
                                     037B   890 ;	Description:
                                     037B   891 ;	This procedure services LAM AST function code requests.
                                     037B   892 ;	If the IO$V_CANLAM modifier is specified, all LAM AST's
                                     037B   893 ;	for the specified CAMAC crate and station for the requesting
                                     037B   894 ;	process are cancelled. If not, a LAM AST is queued for the
                                     037B   895 ;	specified CAMAC crate and station, provided the crate has
                                     037B   896 ;	LAM management enabled and the requesting process has sufficient
                                     037B   897 ;	AST quota.
                                     037B   898 ;
                                     037B   899 ;	Inputs:
                                     037B   900 ;	R3	- address of IRP,
                                     037B   901 ;	R5	- address of UCB.
                                     037B   902 ;
                                     037B   903 ;	Outputs:
                                     037B   904 ;	R0	- status of the request.
                                     037B   905 ;	IPP$L_IOST1,IRP$L_IOST2- IOSB status to return from the
                                     037B   906 ;		LAM IRP request.
                                     037B   907 ;--
                                     037B   908 
                                     037B   909 KSP_LAMAST:					; ACTION PROCEDURE FOR LAMAST
                               007C  037B   910 	.WORD	^M<R2,R3,R4,R5,R6>		; KSP_LAMAST ENTRY MASK
                            51   D4  037D   911 	CLRL	R1				; ZAP R1 FOR IOSB
                                     037F   912 
                                     037F   916 
                    17   41 A3   91  037F   917 	CMPB	IRP$B_N(R3),#LSB_K_NLMAX-1	; VAILD?
                            06   1B  0383   918 	BLEQU	150$				; IF SO, CONTINUE
                       50   14   3C  0385   919 	MOVZWL	#SS$_BADPARAM,R0		; INDICATE BAD LAM STATION
                          0038   31  0388   920 	BRW	90$				; ELSE, ABORT HERE
                                     038B   921 150$:
                                     038B   922 	$CAMSTAT	NOLAMSUP		; RETURN NO LAM SUPPORT
                            02   E0  0392   923 	BBS	#DSTS_V_LSBV,-			; LAM SUPPORT VALID?
                      03 5A A5       0394   924 		UCB$W_DEVSTS(R5),20$		; IF SO, CONTINUE
                          0029   31  0397   925 	BRW	90$				; ELSE, ABORT
                                     039A   926 20$:
                  56   0098 C5   D0  039A   927 	MOVL	UCB$L_LSB(R5),R6		; GET LAM SUPP BLOCK ADDR
                                     039F   928 	$LOCPCB	-				; GET PCB ADDRESS
                                     039F   929 		PID=IRP$L_PID(R3)		; PID, R4 GETS PCB ADDRESS
                            08   E0  03AE   930 	BBS	#IO$V_CANLAM,-			; CANCEL LAM AST REQUEST?
                      09 20 A3       03B0   931 		IRP$W_FUNC(R3),30$
                            00   FB  03B3   932 	CALLS	#0,KSP_SETLAM			; SET LAM AST REQUEST FOR C+N
                   000003C8'EF       03B5       
                            07   11  03BA   933 	BRB	90$
                                     03BC   934 30$:
                            00   FB  03BC   935 	CALLS	#0,KSP_CANLAM			; CANCEL LAM FOR SPECIFIED C+N
                   00000436'EF       03BE       
                                     03C3   936 90$:
                    38 A3   50   7D  03C3   937 	MOVQ	R0,IRP$L_IOST1(R3)		; SAVE IOSB STATUS
                                 04  03C7   938 	RET					; RETURN TO CALLER
                                     03C8   939 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  24
V02-003                         KSP_SETLAM, SET LAM AST REQUEST FOR C+N  27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     03C8   941 	.SBTTL	KSP_SETLAM, SET LAM AST REQUEST FOR C+N
                                     03C8   942 	.ENABL	LSB
                                     03C8   943 ;++
                                     03C8   944 ;
                                     03C8   945 ;	Procedure:
                                     03C8   946 ;	KSP_SETLAM
                                     03C8   947 ;
                                     03C8   948 ;	Description:
                                     03C8   949 ;
                                     03C8   950 ;	Inputs:
                                     03C8   951 ;	R3	- IRP address,
                                     03C8   952 ;	R4	- PCB address for requesting process,
                                     03C8   953 ;	R5	- CSU UCB address,
                                     03C8   954 ;	R6	- LSB address.
                                     03C8   955 ;
                                     03C8   956 ;--
                                     03C8   957 
                                     03C8   958 KSP_SETLAM:
                               007C  03C8   959 	.WORD	^M<R2,R3,R4,R5,R6>
                                     03CA   960 
                            18   E0  03CA   961 	BBS	#LAMS_V_DMDENB,-		; LAM GRADER ENABLED
                         0C 66       03CC   962 		LSB_L_STS(R6),25$		; IF SO, CONTINUE
                                     03CE   963 	$CAMSTAT	NOLAMSUP		; RETURN NO LAM SUPPORT
                            51   D4  03D5   964 	CLRL	R1				; ZAP R1 FOR IOSB RETURN
                          005B   31  03D7   965 	BRW	90$				; AND ABORT HERE
                                     03DA   966 25$:
                            00   FB  03DA   967 	CALLS	#0,KSP_SETLAMAST		; ASSUME SET LAM ATN AST
                   00000AD4'EF       03DC       
                         51 50   E9  03E1   968 	BLBC	R0,90$				; IF FAILURE, ABORT
                    52   41 A3   9A  03E4   969 	MOVZBL	IRP$B_N(R3),R2			; GET STATION TO ENABLE
                    03 66   52   E3  03E8   970 	BBCS	R2,LSB_L_STS(R6),50$		; LAM BIT SET?
                          0046   31  03EC   971 	BRW	90$				; IF SO, EXIT HERE
                                     03EF   972 50$:
                                     03EF   974 	$CAMPIO_S	-			; ENABLE DEMANDS FROM STATION
                                     03EF   975 		EFN=#0,-			; EVENT FLAG,
                                     03EF   976 		CHAN=KSP_HSUCHAN,-		; VMS I/O CHANNEL,
                                     03EF   977 		CRATE=UCB$W_UNIT(R5),-		; CAMAC CRATE,
                                     03EF   978 		STATION=LSB_B_LGN(R6),-		; LAM ENCODER STATION
                                     03EF   979 		SUBAD=#13,-			; SELECTIVE SET A,
                                     03EF   980 		FUNC=#20,-			; SELECTIVE SET F,
                                     03EF   981 		DATA=R2				; DATA=CAMAC STATION TO ENABLE
                                     0410   982 
                                     0410   983 	SCAMERR	SX=1,SQ=1,NOERR=90$		; IF NO CAMAC ERROR, CONTINUE
                                     0421   997 
                    00 66   52   E5  0421   998 	BBCC	R2,LSB_L_STS(R6),60$		; RESET LAM ENABLED BIT
                                     0425   999 60$:
                            00   FB  0425  1000 	CALLS	#0,KSP_CANLAMAST		; CANCEL LAM AST FOR THIS C+N
                   00000B41'EF       0427       
                                     042C  1001 
                                     042C  1002 	$CAMSTAT	LAMFAIL			; RETURN LAM GRADER FAILURE
                            51   D4  0433  1003 	CLRL	R1				; ZAP R1 FOR IOSB RETURN
                                     0435  1004 90$:
                                 04  0435  1005 	RET					; RETURN TO CALLER
                                     0436  1006 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  25
V02-003                         KSP_CANLAM, CANCEL LAM FOR SPECIFIED C+N 27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0436  1008 	.SBTTL	KSP_CANLAM, CANCEL LAM FOR SPECIFIED C+N
                                     0436  1009 	.ENABL	LSB
                                     0436  1010 
                                     0436  1011 ;++
                                     0436  1012 ;
                                     0436  1013 ;	Procedure:
                                     0436  1014 ;	KSP_CANLAM
                                     0436  1015 ;
                                     0436  1016 ;	Description:
                                     0436  1017 ;	This procedure cancels ALL LAM AST's associated with the specified
                                     0436  1018 ;	process for the specified CAMAC crate and station. The procedure
                                     0436  1019 ;	performs the following steps:
                                     0436  1020 ;		1. Flushes each AST control block from the listhead
                                     0436  1021 ;		   associated with the specified CAMAC crate and station,
                                     0436  1022 ;		   adjusting the process AST count accordingly.
                                     0436  1023 ;		2. If the AST list for the specified crate and station is
                                     0436  1024 ;		   empty after the flush operation, demand generation from
                                     0436  1025 ;		   the crate+station is disabled.
                                     0436  1026 ;
                                     0436  1027 ;	Inputs:
                                     0436  1028 ;	R3	- address of IRP,
                                     0436  1029 ;	R4	- address of associated PCB,
                                     0436  1030 ;	R6	- address of LSB.
                                     0436  1031 ;
                                     0436  1032 ;	Outputs:
                                     0436  1033 ;	R0,R1 contain IOSB status.
                                     0436  1034 ;
                                     0436  1035 ;--
                                     0436  1036 
                                     0436  1037 KSP_CANLAM:
                               0004  0436  1038 	.WORD	^M<R2>
                                     0438  1039 
                            00   FB  0438  1040 	CALLS	#0,KSP_CANLAMAST		; CANCEL LAM AST'S FOR PID
                   00000B41'EF       043A       
                         30 50   E9  043F  1041 	BLBC	R0,90$				; IF FAILURE, RETURN AS IS
                                     0442  1042 						; ELSE,
                            51   D4  0442  1043 	CLRL	R1				; ZAP R1 FOR IOSB RETURN
                    52   41 A3   9A  0444  1044 	MOVZBL	IRP$B_N(R3),R2			; GET STATION FOR DISABLE
                 25 04 A6   52   E0  0448  1045 	BBS	R2,LSB_L_LPEND(R6),90$		; IF LAMS STILL PENDING, EXIT
                                     044D  1046 
                                     044D  1048 	$CAMPIO_S	-			; DISABLE DEMANDS FROM STATION
                                     044D  1049 		EFN=#0,-			; EVENT FLAG,
                                     044D  1050 		CHAN=KSP_HSUCHAN,-		; VMS I/O CHANNEL,
                                     044D  1051 		CRATE=UCB$W_UNIT(R5),-		; CAMAC CRATE,
                                     044D  1052 		STATION=LSB_B_LGN(R6),-		; LAM ENCODER STATION
                                     044D  1053 		SUBAD=#11,-			; SELECTIVE CLEAR A,
                                     044D  1054 		FUNC=#22,-			; SELECTIVE CLEAR F,
                                     044D  1055 		DATA=R2				; DATA=CAMAC STATION TO DISABLE
                                     046E  1067 
                    00 66   52   E5  046E  1068 	BBCC	R2,LSB_L_STS(R6),90$		; CLEAR LAM ENABLED FLAG FOR STATION
                                     0472  1069 90$:
                                 04  0472  1070 	RET					; RETURN TO CALLER
                                     0473  1071 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  26
V02-003                         KSP_SETCHAR SETCHAR IRP REQUEST ACTION P 27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0473  1073 	.SBTTL	KSP_SETCHAR SETCHAR IRP REQUEST ACTION PROCEDURE
                                     0473  1074 	.ENABL	LSB
                                     0473  1075 
                                     0473  1076 ;++
                                     0473  1077 ;
                                     0473  1078 ;	Procedure:
                                     0473  1079 ;	KSP_SETCHAR
                                     0473  1080 ;
                                     0473  1081 ;	Description:
                                     0473  1082 ;	This procedure services IRP requests to alter the state of
                                     0473  1083 ;	LAM management for a specified crate. The directed state
                                     0473  1084 ;	transition if specified by a function code modifier supplied
                                     0473  1085 ;	with the SETCHAR function code. Supported modifiers are 
                                     0473  1086 ;	described below.
                                     0473  1087 ;	Modifier		Meaning
                                     0473  1088 ;	IO$M_ENLAMS		Enable LAM management for specified crate,
                                     0473  1089 ;	IO$M_DABLAMS		Disable LAM management for specified
                                     0473  1090 ;				crate,
                                     0473  1091 ;	IO$M_CONLINE		Specified crate is being declared
                                     0473  1092 ;				'ON_LINE',
                                     0473  1093 ;	IO$M_COFFLINE		Specified crate is being declared
                                     0473  1094 ;				'OFF-LINE'.
                                     0473  1095 ;
                                     0473  1096 ;	Inputs:
                                     0473  1097 ;	R3	- address of IRP,
                                     0473  1098 ;	R5	- address of associated UCB.
                                     0473  1099 ;
                                     0473  1100 ;	Outputs:
                                     0473  1101 ;	R0	- status of the request,
                                     0473  1102 ;	IRP$L_IOST1,IRP$L_IOST2 contain IOSB status to return to
                                     0473  1103 ;		the requesting process.
                                     0473  1104 ;
                                     0473  1105 ;--
                                     0473  1106 
                                     0473  1107 KSP_SETCHAR:
                               007C  0473  1108 	.WORD	^M<R2,R3,R4,R5,R6>		; KSP_SETCHAR ENTRY MASK
                                     0475  1109 
                    52   40 A3   9A  0475  1110 	MOVZBL	IRP$B_C(R3),R2			; GET CAMAC CRATE NUMBER
                            00   FB  0479  1111 	CALLS	#0,KSP_LOCCSU			; GET CRATE UCB ADDRESS
                   00000A57'EF       047B       
                         3C 50   E9  0480  1112 	BLBC	R0,90$				; IF FAILURE, ABORT
                       55   51   D0  0483  1113 	MOVL	R1,R5				; USE R5 TO REF CRATE UCB
                            08   E1  0486  1114 	BBC	#IO$V_DABLAMS,-			; DISABLE LAM SERVICE?
                      0A 20 A3       0488  1115 		IRP$W_FUNC(R3),10$		; IF NOT, CHECK ANOTHER
                            00   FB  048B  1116 	CALLS	#0,KSP_SETC_DABL		; DISABLE LAM SERVICE FOR CRATE
                   000005F7'EF       048D       
                         2A 50   E9  0492  1117 	BLBC	R0,90$				; IF FAILURE, EXIT FLOW
                                     0495  1118 10$:
                            0A   E1  0495  1119 	BBC	#IO$V_COFFLINE,-		; SET CRATE OFF-LINE?
                      0A 20 A3       0497  1120 		IRP$W_FUNC(R3),20$		; IF NOT, CHECK ANOTHER
                            00   FB  049A  1121 	CALLS	#0,KSP_SETC_COFL		; SET CRATE OFF-LINE
                   00000547'EF       049C       
                         1B 50   E9  04A1  1122 	BLBC	R0,90$				; IF FAILURE, EXIT FLOW
                                     04A4  1123 20$:
                            09   E1  04A4  1124 	BBC	#IO$V_CONLINE,-			; SET CRATE ON-LINE?
                      0A 20 A3       04A6  1125 		IRP$W_FUNC(R3),30$		; IF NOT, CHECK ANOTHER
                            00   FB  04A9  1126 	CALLS	#0,KSP_SETC_CONL		; SET CRATE ON-LINE
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  27
V02-003                         KSP_SETCHAR SETCHAR IRP REQUEST ACTION P 27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                   000004C4'EF       04AB       
                         0C 50   E9  04B0  1127 	BLBC	R0,90$				; IF FAILURE, EXIT FLOW
                                     04B3  1128 30$:
                            07   E1  04B3  1129 	BBC	#IO$V_ENLAMS,-			; ENABLE LAM SERVICE
                      07 20 A3       04B5  1130 		IRP$W_FUNC(R3),90$		; IF NOT, CHECK ANOTHER
                            00   FB  04B8  1131 	CALLS	#0,KSP_SETC_EABL		; ENABLE LAM SERVICE FOR CRATE
                   000005A5'EF       04BA       
                                     04BF  1132 90$:
                    38 A3   50   7D  04BF  1133 	MOVQ	R0,IRP$L_IOST1(R3)		; SAVE IOSB STATUS
                                 04  04C3  1134 	RET					; RETURN TO CALLER
                                     04C4  1135 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  28
V02-003                         KSP_SETCHAR SETCHAR IRP REQUEST ACTION P 27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     04C4  1137 
                                     04C4  1138 	.SBTTL	KSP_SETC_CONL, SET CAMAC CRATE ON-LINE
                                     04C4  1139 	.ENABL	LSB
                                     04C4  1140 
                                     04C4  1141 ;++
                                     04C4  1142 ;
                                     04C4  1143 ;	Procedure:
                                     04C4  1144 ;	KSP_SETC_CONL
                                     04C4  1145 ;
                                     04C4  1146 ;	Description:
                                     04C4  1147 ;	This procedure performs the necessary processing to bring a
                                     04C4  1148 ;	CAMAC crate to an operational state capable of performing CAMAC
                                     04C4  1149 ;	operations.
                                     04C4  1150 ;
                                     04C4  1151 ;	Inputs:
                                     04C4  1152 ;	R3	- address of IRP,
                                     04C4  1153 ;	R5	- address of crate UCB.
                                     04C4  1154 ;
                                     04C4  1155 ;	Outputs:
                                     04C4  1156 ;	R0	- status of procedure execution,
                                     04C4  1157 ;	IRP$L_IOST1,IRP$L_IOST2 contain IOSB status to return to the
                                     04C4  1158 ;		requesting process.
                                     04C4  1159 ;
                                     04C4  1160 ;++
                                     04C4  1161 
                                     04C4  1162 KSP_SETC_CONL:					; SET CAMAC CRATE ON-LINE
                               007C  04C4  1163 	.WORD	^M<R2,R3,R4,R5,R6>
                                     04C6  1164 
                    5A A5   02   E1  04C6  1165 	BBC	#DSTS_V_LSBV,UCB$W_DEVSTS(R5),-	; LAM SUPPORT ENABLED??
                            07       04CA  1166 		10$				; IF NOT, EXIT
                            00   FB  04CB  1167 	CALLS	#0,KSP_FLUSHCSU			; IF SO, FLUSH ALL PENDING LAMS
                   000006FA'EF       04CD       
                                     04D2  1168 						; IGNORE TERMINATION STATUS
                                     04D2  1169 10$:
                                     04D2  1171 	$CAMPIO_S	-			; PERFORM DATAWAY Z
                                     04D2  1172 		EFN=#0,-			; EVENT FLAG
                                     04D2  1173 		CHAN=KSP_HSUCHAN,-		; VMS CHANNEL
                                     04D2  1174 		CRATE=UCB$W_UNIT(R5),-		; CAMAC CRATE
                                     04D2  1175 		STATION=#30,-			; CAMAC N
                                     04D2  1176 		SUBAD=#0,-			; WRITE SCC REG
                                     04D2  1177 		FUNC=#17,-			; WRITE SCC REG
                                     04D2  1178 		DATA=#L2S_M_DWZ			; STATUS REG DATA
                                     04F2  1179 
                                     04F2  1180 ;
                                     04F2  1181 ;	IGNORE STATUS FROM THE CAMAC REQUEST. IF THE CRATE IS
                                     04F2  1182 ;	DRIVEN FROM A U-PORT ADAPTER AND THE L2 IS IN 'BYPASS'
                                     04F2  1183 ;	STATE, THE COMMAND HEADER IS PASSED BY THE U-PORT WHILE
                                     04F2  1184 ;	THE L2 IS BEING UNBYPASSED. THIS RESULTS IN AN ERROR
                                     04F2  1185 ;	FROM THE KS 2050 FOR THIS OPERATION. THE NEXT OPERATION
                                     04F2  1186 ;	HOWEVER MUST RESULT IN NORMAL TERMINATION FOR THE 'ONLINE'
                                     04F2  1187 ;	REQUEST TO BE SUCCESSFUL.
                                     04F2  1188 ;
                                     04F2  1189 	$CAMPIO_S	-			; CLEAR DATAWAY INHIBIT
                                     04F2  1190 		EFN=#0,-			; EVENT FLAG
                                     04F2  1191 		CHAN=KSP_HSUCHAN,-		; VMS CHANNEL
                                     04F2  1192 		CRATE=UCB$W_UNIT(R5),-		; CAMAC CRATE
                                     04F2  1193 		STATION=#30,-			; CAMAC N
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  29
V02-003                         KSP_SETC_CONL, SET CAMAC CRATE ON-LINE   27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     04F2  1194 		SUBAD=#0,-			; SEL CLEAR SUBAD
                                     04F2  1195 		FUNC=#23,-			; SEL CLEAR FUNC
                                     04F2  1196 		DATA=#L2S_M_CDWI		; CLEAR DATAWAY INHIBIT
                                     0512  1197 
                                     0512  1198 	SCAMERR	SX=1,SQ=1,NOERR=20$		; IF NO CAMAC ERROR, CONTINUE
                   0801980A 8F   D0  0523  1199 	MOVL	#SH$_SCCFAIL,R0			; RETURN ERROR INDICATION
                            50       0529       
                            1A   11  052A  1200 	BRB	90$				; AND EXIT HERE
                                     052C  1228 20$:
                    5A A5   02   E1  052C  1229 	BBC	#DSTS_V_LSBV,UCB$W_DEVSTS(R5),-	; LAM SUPPORT VALID???
                            11       0530  1230 		40$				; IF NOT, SKIP
                                     0531  1231 
                            00   FB  0531  1232 	CALLS	#0,KSP_ENLAMS			; ENABLE LAM DEMAND GENERATION
                   0000061F'EF       0533       
                         07 50   E8  0538  1233 	BLBS	R0,40$				; IF SUCCESS, SET ON-LINE
                                     053B  1234 
                            00   FB  053B  1235 	CALLS	#0,KSP_TERMLAMS			; TERMINATE LAM SUPPORT FOR CSU
                   000006A7'EF       053D       
                                     0542  1236 40$:
                            10   A8  0542  1237 	BISW	#UCB$M_ONLINE,-			; SET UNIT ON-LINE
                         58 A5       0544  1238 		UCB$W_STS(R5)			; IF ALL SUCCESSFUL
                                     0546  1239 90$:
                                 04  0546  1240 	RET					; RETURN TO CALLER
                                     0547  1241 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  30
V02-003                         KSP_SETC_COFL, SET CAMAC CRATE OFF-LINE  27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0547  1243 	.SBTTL	KSP_SETC_COFL, SET CAMAC CRATE OFF-LINE
                                     0547  1244 	.ENABL	LSB
                                     0547  1245 
                                     0547  1246 ;++
                                     0547  1247 ;
                                     0547  1248 ;	Procedure:
                                     0547  1249 ;	KSP_SETC_COFL
                                     0547  1250 ;
                                     0547  1251 ;	Description:
                                     0547  1252 ;	This procedure performs the necessary processing to take a
                                     0547  1253 ;	CAMAC crate to an inoperational state.
                                     0547  1254 ;
                                     0547  1255 ;	Inputs:
                                     0547  1256 ;	R3	- address of IRP,
                                     0547  1257 ;	R5	- address of UCB associated with IRP.
                                     0547  1258 ;
                                     0547  1259 ;	Outputs:
                                     0547  1260 ;	R0	- status of procedure execution,
                                     0547  1261 ;	IRP$L_IOST1,IRP$L_IOST2 contain IOSB status to return to the
                                     0547  1262 ;		requesting process.
                                     0547  1263 ;
                                     0547  1264 ;++
                                     0547  1265 
                                     0547  1266 KSP_SETC_COFL:					; SET CAMAC CRATE OFF-LINE
                               007C  0547  1267 	.WORD	^M<R2,R3,R4,R5,R6>
                                     0549  1268 
                    58 A5   04   E0  0549  1269 	BBS	#UCB$V_ONLINE,UCB$W_STS(R5),-	; UNIT ON-LINE?
                            0A       054D  1270 		20$				; IF SO, CONTINUE
                  50   0084 8F   3C  054E  1271 	MOVZWL	#SS$_DEVOFFLINE,R0		; INDICATE OFF-LINE
                            51   D4  0553  1272 	CLRL	R1				; ZAP R1 FOR IOSB
                          004C   31  0555  1273 	BRW	90$				; ABORT HERE
                                     0558  1274 20$:
                    5A A5   02   E1  0558  1275 	BBC	#DSTS_V_LSBV,UCB$W_DEVSTS(R5),-	; IF NOT, CONTINUE
                            07       055C  1276 		10$
                            00   FB  055D  1277 	CALLS	#0,KSP_TERMLAMS			; IF SO, TERMINATE LAM SUPPORT
                   000006A7'EF       055F       
                                     0564  1278 						; IGNORE TERMINATION STATUS
                                     0564  1279 10$:
                                     0564  1281 	$CAMPIO_S	-			; SET L2 OFF-LINE+BYPASS
                                     0564  1282 		EFN=#0,-			; EVENT FLAG
                                     0564  1283 		CHAN=KSP_HSUCHAN,-		; HSU CHANNEL
                                     0564  1284 		CRATE=UCB$W_UNIT(R5),-		; CAMAC CRATE
                                     0564  1285 		STATION=#30,-			; L2 STATION
                                     0564  1286 		SUBAD=#0,-			; WRITE L2 STAT REG
                                     0564  1287 		FUNC=#17,-
                                     0564  1288 		DATA=#L2S_M_DWOFF		; DATAWAY OFFLINE
                                     0588  1289 	SCAMERR	SX=1,SQ=1,NOERR=30$		; IF NO ERROR, CONTINUE
                   0801980A 8F   D0  0599  1290 	MOVL	#SH$_SCCFAIL,R0			; SET SCC FAILURE STATUS
                            50       059F       
                                     05A0  1303 ;
                                     05A0  1304 ;	PROCEED WITH OFF-LINE REQUEST REGARDLESS OF 
                                     05A0  1305 ;	CAMAC STATUS.
                                     05A0  1306 ;
                                     05A0  1307 30$:
                    58 A5   10   AA  05A0  1308 	BICW	#UCB$M_ONLINE,UCB$W_STS(R5)	; RESET UNIT ON-LINE STATUS
                                     05A4  1309 90$:
                                 04  05A4  1310 	RET					; RETURN TO CALLER
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  31
V02-003                         KSP_SETC_COFL, SET CAMAC CRATE OFF-LINE  27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     05A5  1311 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  32
V02-003                         KSP_SETC_EABL, ENABLE LAM SERVICE FOR CR 27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     05A5  1313 	.SBTTL	KSP_SETC_EABL, ENABLE LAM SERVICE FOR CRATE
                                     05A5  1314 	.ENABL	LSB
                                     05A5  1315 
                                     05A5  1316 ;++
                                     05A5  1317 ;
                                     05A5  1318 ;	Procedure:
                                     05A5  1319 ;	KSP_SETC_EABL
                                     05A5  1320 ;
                                     05A5  1321 ;	Description:
                                     05A5  1322 ;	This procedure performs the necessary processing to enable LAM service
                                     05A5  1323 ;	for a specified CAMAC crate.
                                     05A5  1324 ;
                                     05A5  1325 ;	Inputs:
                                     05A5  1326 ;	R3	- address of IRP,
                                     05A5  1327 ;	R5	- address of UCB associated with IRP.
                                     05A5  1328 ;
                                     05A5  1329 ;	Outputs:
                                     05A5  1330 ;	R0	- status of procedure execution,
                                     05A5  1331 ;	IRP$L_IOST1,IRP$L_IOST2 contain IOSB status to return to the
                                     05A5  1332 ;		requesting process.
                                     05A5  1333 ;
                                     05A5  1334 ;++
                                     05A5  1335 
                                     05A5  1336 KSP_SETC_EABL:					; ENABLE LAM SERVICE FOR CRATE
                               007C  05A5  1337 	.WORD	^M<R2,R3,R4,R5,R6>
                                     05A7  1338 
                            51   D4  05A7  1339 	CLRL	R1				; ZAP R1 FOR IOSB RETURN
                    58 A5   04   E0  05A9  1340 	BBS	#UCB$V_ONLINE,UCB$W_STS(R5),-	; UNIT ONLINE?
                            08       05AD  1341 		30$				; IF SO, CONTINUE
                  50   0084 8F   3C  05AE  1342 	MOVZWL	#SS$_DEVOFFLINE,R0		; SET STATUS IF NOT
                          0040   31  05B3  1343 	BRW	90$				; ABORT HERE
                                     05B6  1344 30$:
                            02   E0  05B6  1345 	BBS	#DSTS_V_LSBV,-			; LAM SUPPORT VALID?
                      14 5A A5       05B8  1346 		UCB$W_DEVSTS(R5),10$		; IF NOT, SKIP
                            00   FB  05BB  1347 	CALLS	#0,KSP_ALOLSB			; ALLOCATE LAM SUPP BLOCK
                   00000A7B'EF       05BD       
                         0A 50   E8  05C2  1348 	BLBS	R0,10$				; IF SUCCESS, CONTINUE
                                     05C5  1349 	$CAMSTAT	NOLAMSUP		; RETURN NO LAM SUPPORT STATUS
                          0027   31  05CC  1350 	BRW	90$				; ELSE, ABORT HERE
                                     05CF  1351 10$:
                  56   0098 C5   D0  05CF  1352 	MOVL	UCB$L_LSB(R5),R6		; GET LSB ADDRESS
                         41 A3   90  05D4  1353 	MOVB	IRP$B_N(R3),-			; SAVE LAM GRADER STATION
                         0B A6       05D7  1354 		LSB_B_LGN(R6)
                            66   D4  05D9  1355 	CLRL	LSB_L_STS(R6)			; RESET LAM STATUS
                         04 A6   D4  05DB  1356 	CLRL	LSB_L_LPEND(R6)			; RESET ALL LAM PENDING BITS
                            00   FB  05DE  1357 	CALLS	#0,KSP_ENLAMS			; ENABLE LAM DEMAND GENERATION
                   0000061F'EF       05E0       
                         0E 50   E8  05E5  1358 	BLBS	R0,90$				; IF SUCCESS, CONTINUE
                                     05E8  1359 						; ELSE, ...
                            00   FB  05E8  1360 	CALLS	#0,KSP_TERMLAMS			; TERMINATE LAM SUPPORT FOR CSU
                   000006A7'EF       05EA       
                                     05EF  1361 	$CAMSTAT	LAMFAIL			; INDICATE LAM GRADER FAILURE
                                     05F6  1362 90$:
                                 04  05F6  1363 	RET					; RETURN TO CALLER
                                     05F7  1364 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  33
V02-003                         KSP_SETC_DABL, DISABLE LAM SERVICE FOR C 27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     05F7  1366 	.SBTTL	KSP_SETC_DABL, DISABLE LAM SERVICE FOR CRATE
                                     05F7  1367 	.ENABL	LSB
                                     05F7  1368 
                                     05F7  1369 ;++
                                     05F7  1370 ;
                                     05F7  1371 ;	Procedure:
                                     05F7  1372 ;	KSP_SETC_DABL
                                     05F7  1373 ;
                                     05F7  1374 ;	Description:
                                     05F7  1375 ;	This procedure performs the necessary processing to enable LAM service
                                     05F7  1376 ;	for a specified CAMAC crate. 
                                     05F7  1377 ; 
                                     05F7  1378 ;	Inputs:
                                     05F7  1379 ;	R3	- address of IRP,
                                     05F7  1380 ;	R5	- address of UCB associated with IRP.
                                     05F7  1381 ;
                                     05F7  1382 ;	Outputs:
                                     05F7  1383 ;	R0	- status of procedure execution,
                                     05F7  1384 ;	IRP$L_IOST1,IRP$L_IOST2 contain IOSB status to return to the
                                     05F7  1385 ;		requesting process.
                                     05F7  1386 ;
                                     05F7  1387 ;++
                                     05F7  1388 
                                     05F7  1389 KSP_SETC_DABL:					; DISABLE LAM SERVICE
                               007C  05F7  1390 	.WORD	^M<R2,R3,R4,R5,R6>
                                     05F9  1391 
                            51   D4  05F9  1392 	CLRL	R1				; ZAP R1 FOR IOSB
                    58 A5   04   E0  05FB  1393 	BBS	#UCB$V_ONLINE,UCB$W_STS(R5),-	; UNIT ON-LINE?
                            08       05FF  1394 		20$				; IF SO, CONTINUE
                  50   0084 8F   3C  0600  1395 	MOVZWL	#SS$_DEVOFFLINE,R0		; SET DEVICE OFFLINE
                          0016   31  0605  1396 	BRW	90$				; ABORT HERE
                                     0608  1397 20$:
                    5A A5   02   E0  0608  1398 	BBS	#DSTS_V_LSBV,UCB$W_DEVSTS(R5),-	; IF ENABLED, CONTINUE
                            0A       060C  1399 		10$
                                     060D  1400 	$CAMSTAT	NOLAMSUP		; INDICATE NO LAM SUPPORT STATUS
                          0007   31  0614  1401 	BRW	90$				; ABORT HERE
                                     0617  1402 10$:
                            00   FB  0617  1403 	CALLS	#0,KSP_TERMLAMS			; TERM CRATE LAM SUPPORT
                   000006A7'EF       0619       
                                     061E  1404 90$:
                                 04  061E  1405 	RET					; RETURN TO CALLER
                                     061F  1406 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  34
V02-003                         KSP_SETC_DABL, DISABLE LAM SERVICE FOR C 27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     061F  1408 
                                     061F  1409 	.SBTTL	KSP_ENLAMS, ENABLE LAM DEMAND GENERATION
                                     061F  1410 	.ENABL	LSB
                                     061F  1411 ;++
                                     061F  1412 ;
                                     061F  1413 ;	Procedure:
                                     061F  1414 ;	KSP_ENLAMS
                                     061F  1415 ;
                                     061F  1416 ;	Description:
                                     061F  1417 ;
                                     061F  1418 ;	Inputs:
                                     061F  1419 ;	R5	- address of CSU UCB.
                                     061F  1420 ;
                                     061F  1421 ;	Outputs:
                                     061F  1422 ;	R0,R1 IOSB status return.
                                     061F  1423 ;
                                     061F  1424 ;--
                                     061F  1425 
                                     061F  1426 KSP_ENLAMS:
                               0040  061F  1427 	.WORD	^M<R6>
                                     0621  1428 
                  56   0098 C5   D0  0621  1429 	MOVL	UCB$L_LSB(R5),R6		; GET LSB ADDRESS
                                     0626  1430 
                                     0626  1432 ;
                                     0626  1433 ;	ENABLE SCC DEMANDS
                                     0626  1434 ;
                                     0626  1435 	$CAMPIO_S	-			; WRITE L2 SCC STATUS REG
                                     0626  1436 		EFN=#0,-			; EVENT FLAG
                                     0626  1437 		CHAN=KSP_HSUCHAN,-		; VMS CHANNEL
                                     0626  1438 		CRATE=UCB$W_UNIT(R5),-		; CAMAC CRATE
                                     0626  1439 		STATION=#30,-			; CAMAC N
                                     0626  1440 		SUBAD=#0,-			; SEL SET SCC REG
                                     0626  1441 		FUNC=#19,-			; SEL SET SCC REG
                                     0626  1442 		DATA=#L2S_M_DENB		; ENABLE DEMANDS
                                     064A  1443 
                                     064A  1444 	SCAMERR	SX=1,SQ=1,NOERR=40$		; IF NO CAMAC ERROR, CONTINUE
                            32   11  065B  1445 	BRB	70$				; ELSE ERROR EXIT HERE
                                     065D  1446 ;
                                     065D  1447 ;	ENABLE LAM ENCODER DEMANDS
                                     065D  1448 ;
                                     065D  1449 40$:
                                     065D  1450 	$CAMPIO_S	-			; ENABLE KS 3294 DEMANDS
                                     065D  1451 		EFN=#0,-			; EVENT FLAG
                                     065D  1452 		CHAN=KSP_HSUCHAN,-		; VMS CHANNEL
                                     065D  1453 		CRATE=UCB$W_UNIT(R5),-		; CAMAC CRATE
                                     065D  1454 		STATION=LSB_B_LGN(R6),-		; LAM ENCODER STATION
                                     065D  1455 		SUBAD=#1,-			; ENABLE DEMANDS
                                     065D  1456 		FUNC=#26
                                     067E  1457 
                                     067E  1458 	SCAMERR	SX=1,SQ=1,NOERR=20$		; IF NO CAMAC ERROR, CONTINUE
                                     068F  1483 70$:
                                     068F  1484 	$CAMSTAT	LAMFAIL			; INDICATE LAM GRADER FAILURE
                                     0696  1485 
                   01000000 8F   CA  0696  1486 	BICL	#LAMS_M_DMDENB,LSB_L_STS(R6)	; CLEAR DEMAND ENABLED FOR CSU
                            66       069C       
                            07   11  069D  1487 	BRB	90$				; ABORT HERE
                                     069F  1488 20$:
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  35
V02-003                         KSP_ENLAMS, ENABLE LAM DEMAND GENERATION 27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                   01000000 8F   C8  069F  1489 	BISL	#LAMS_M_DMDENB,LSB_L_STS(R6)	; INDICATE CSU DEMANDS ENABLED
                            66       06A5       
                                     06A6  1490 90$:
                                 04  06A6  1491 	RET					; RETURN TO CALLER
                                     06A7  1492 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  36
V02-003                         KSP_TERMLAMS, TERMINATE LAM SUPPORT FOR  27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     06A7  1494 	.SBTTL	KSP_TERMLAMS, TERMINATE LAM SUPPORT FOR CRATE
                                     06A7  1495 	.ENABL	LSB
                                     06A7  1496 
                                     06A7  1497 ;++
                                     06A7  1498 ;
                                     06A7  1499 ;	Procedure:
                                     06A7  1500 ;	KSP_TERMLAMS
                                     06A7  1501 ;
                                     06A7  1502 ;	Description:
                                     06A7  1503 ;	This procedure performs the rocessing necessary to terminate LAM
                                     06A7  1504 ;	support for the specified CAMAC crate UCB.
                                     06A7  1505 ;
                                     06A7  1506 ;	Inputs:
                                     06A7  1507 ;	R5	- address of corresponding crate UCB.
                                     06A7  1508 ;
                                     06A7  1509 ;	Outputs:
                                     06A7  1510 ;
                                     06A7  1511 ;--
                                     06A7  1512 
                                     06A7  1513 KSP_TERMLAMS:
                               005C  06A7  1514 	.WORD	^M<R2,R3,R4,R6>
                                     06A9  1515 
                  56   0098 C5   D0  06A9  1516 	MOVL	UCB$L_LSB(R5),R6		; LOCATE LAM SUPP BLOCK
                                     06AE  1517 
                                     06AE  1519 	$CAMPIO_S	-			; DISABLE DEMAND GENERATION
                                     06AE  1520 		EFN=#0,-			; EVENT FLAG
                                     06AE  1521 		CHAN=KSP_HSUCHAN,-		; HSU CHANNEL
                                     06AE  1522 		CRATE=UCB$W_UNIT(R5),-		; CAMAC CRATE NUMBER
                                     06AE  1523 		STATION=LSB_B_LGN(R6),-		; LAM ENCODER STATION
                                     06AE  1524 		SUBAD=#1,-			; DISABLE DEMANDS
                                     06AE  1525 		FUNC=#24
                                     06CF  1526 	SCAMERR	SX=1,SQ=1,NOERR=10$		; IF NO ERROR, CONTINUE
                   08019802 8F   D0  06E0  1527 	MOVL	#SH$_LAMFAIL,R0			; INDICATE LAM GRADER FAILURE
                            50       06E6       
                                     06E7  1540 10$:
                            03   BB  06E7  1541 	PUSHR	#^M<R0,R1>			; SAVE CAMAC IOSB
                                     06E9  1542 ;
                                     06E9  1543 ;	PROCEED WITH TERMINATION REGARDLESS OF CAMAC STATUS
                                     06E9  1544 ;
                            00   FB  06E9  1545 	CALLS	#0,KSP_FLUSHCSU			; FLUSH ALL CSU PENDING LAMS
                   000006FA'EF       06EB       
                            00   FB  06F0  1546 	CALLS	#0,KSP_DEALSB			; DEALLOCATE LAM SUPP BLOCK
                   00000AAF'EF       06F2       
                            03   BA  06F7  1547 	POPR	#^M<R0,R1>			; RESTORE CAMAC IOSB
                                 04  06F9  1548 	RET					; RETURN TO CALLER
                                     06FA  1549 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  37
V02-003                         KSP_FLUSHCSU, FLUSH ALL PENDING LAM AST' 27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     06FA  1551 	.SBTTL	KSP_FLUSHCSU, FLUSH ALL PENDING LAM AST'S FOR A CSU
                                     06FA  1552 	.ENABL	LSB
                                     06FA  1553 ;++
                                     06FA  1554 ;
                                     06FA  1555 ;	Procedure:
                                     06FA  1556 ;	KSP_FLUSHCSU
                                     06FA  1557 ;
                                     06FA  1558 ;	Description:
                                     06FA  1559 ;	All pending LAM AST Control Blocks(ACB's) are flushed from the 
                                     06FA  1560 ;	LAM AST listheads and corresponding process AST quotas updated.
                                     06FA  1561 ;
                                     06FA  1562 ;	Inputs:
                                     06FA  1563 ;	R5	- CSU UCB address.
                                     06FA  1564 ;
                                     06FA  1565 ;	Outputs:
                                     06FA  1566 ;	R0, R1 IOSB status for request.
                                     06FA  1567 ;
                                     06FA  1568 ;--
                                     06FA  1569 
                                     06FA  1570 KSP_FLUSHCSU:
                               0044  06FA  1571 	.WORD	^M<R2,R6>
                                     06FC  1572 
                    5A A5   02   E0  06FC  1573 	BBS	#DSTS_V_LSBV,UCB$W_DEVSTS(R5),-	; LAM SUPPORT VALID FOR UCB??
                            08       0700  1574 		10$
                                     0701  1575 	$CAMSTAT	NOLAMSUP		; INDICATE NO LAM SUPPORT
                                     0708  1576 
                                 04  0708  1577 	RET					; ABORT CALL
                                     0709  1578 10$:
                  56   0098 C5   D0  0709  1579 	MOVL	UCB$L_LSB(R5),R6		; GET LSB ADDRESS FROM UCB
                            66   D4  070E  1580 	CLRL	LSB_L_STS(R6)			; RESET ALL LAM ENABLED STATUS
                       52   01   CE  0710  1581 	MNEGL	#1,R2				; INITIALIZE FOR STATION SCAN
                                     0713  1582 20$:
                            52   D6  0713  1583 	INCL	R2				; ADVANCE STATION INDEX
                  50   18   52   C3  0715  1584 	SUBL3	R2,#LSB_K_NLMAX,R0		; SIZE REMAINING
                       50   52   EA  0719  1585 	FFS	R2,R0,LSB_L_LPEND(R6),R2	; FIND LAM PENDING
                    52   04 A6       071C       
                            09   13  071F  1586 	BEQL	90$				; IF DONE, EXIT
                            00   FB  0721  1587 	CALLS	#0,KSP_FLUSHAST			; IF FOUND, FLUSH THEM ALL
                   00000B91'EF       0723       
                            E9   11  0728  1588 	BRB	20$				; THEN CONTINUE SCAN
                                     072A  1589 90$:
                       50   01   3C  072A  1590 	MOVZWL	#SS$_NORMAL,R0			; RETURN NORMAL STATUS
                                 04  072D  1591 	RET					; RETURN TO CALLER
                                     072E  1592 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  38
V02-003                         KSP_FLUSHCSU, FLUSH ALL PENDING LAM AST' 27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     072E  1594 
                                     072E  1596 	.SBTTL	KSP_DMDAST, DEMAND SERVICE AST PROCEDURE
                                     072E  1597 	.ENABL	LSB
                                     072E  1598 
                                     072E  1599 ;++
                                     072E  1600 ;
                                     072E  1601 ;	Procedure:
                                     072E  1602 ;	KSP_DMDAST
                                     072E  1603 ;
                                     072E  1604 ;	Description:
                                     072E  1605 ;	This procedure services the serial demand AST delivered to the
                                     072E  1606 ;	ACP from the serial demand ISR in the CAMAC device driver in
                                     072E  1607 ;	response to a serial demand interrupt. The AST parameter is the
                                     072E  1608 ;	Interrupt Data Block(IDB) address associated with the CAMAC
                                     072E  1609 ;	controller to which the ACP is associated.
                                     072E  1610 ;
                                     072E  1611 ;	Inputs:
                                     072E  1612 ;	0(AP)	- argument count,
                                     072E  1613 ;	4(AP)	- AST parameter from AST control block.
                                     072E  1614 ;
                                     072E  1615 ;	Outputs:
                                     072E  1616 ;	None.
                                     072E  1617 ;
                                     072E  1618 ;--
                                     072E  1619 
                           00000004  072E  1620 ASTPRM		= 4				; AST PARAMETER OFFSET
                                     072E  1621 
                                     072E  1622 	$DEFINI	SDM				; SERIAL DEMAND STRUCTURE
                                     0000  1623 	$DEF	SDM_L_SCA			; SERIAL CRATE NUMBER
                           00000004  0000  1624 		.BLKL	1
                                     0004  1625 	$DEF	SDM_L_SGL			; SGL PATTERN
                           00000008  0004  1626 		.BLKL	1
                                     0008  1627 	$DEF	SDM_K_LENGTH			; STRUC LENGTH
                                     0008  1628 	$DEFEND	SDM
                                     072E  1629 
                                     072E  1630 KSP_DMDAST:
                               00FC  072E  1631 	.WORD	^M<R2,R3,R4,R5,R6,R7>
                                     0730  1632 
                   0000080E'EF   9E  0730  1633 	MOVAB	KSP_DMDXHAND,0(FP)		; ESTABLISH EXPECTION HANDLER
                            6D       0736       
                       5E   08   C2  0737  1634 	SUBL	#SDM_K_LENGTH,SP		; SPACE FOR SDM DATA
                       53   5E   D0  073A  1635 	MOVL	SP,R3				; USE R3 TO REFERENCE
                                     073D  1636 
                                     073D  1637 KSP_DMDSLOOP:
                    54   04 AC   D0  073D  1638 	MOVL	ASTPRM(AP),R4			; ASTPRM=IDB ADDRESS
                    55   14 A4   D0  0741  1639 	MOVL	IDB$L_UCBLST(R4),R5		; GET HSU UCB ADDRESS
                   00000000'8F   E0  0745  1640 	BBS	#DEV$V_DMT,UCB$L_DEVCHAR(R5),-	; MARKED FOR DISMOUNT??
                         34 A5       074B       
                            1A       074D  1641 		KSP_DISMISS			; IF SO, DISMISS W/O FURTHER DEMANDS
                       54   64   D0  074E  1642 	MOVL	IDB$L_CSR(R4),R4		; AND REG STACK BASE ADDRESS
                    50   0C A4   3C  0751  1643 	MOVZWL	KS_W_DFR(R4),R0			; READ DEMAND FIFO
                    10 50   06   E1  0755  1644 	BBC	#DFR_V_DFE,R0,20$		; PROCESS ENTRY IF VALID
                    56   D2 AF   9E  0759  1645 	MOVAB	KSP_DMDAST,R6			; SET AST ADDRESS
                    57   04 AC   D0  075D  1646 	MOVL	ASTPRM(AP),R7			; AND AST PARAMETER
                            00   FB  0761  1647 	CALLS	#0,KSP_ENDMANDS			; REENABLE DEMANDS
                   000009A0'EF       0763       
                                     0768  1648 
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  39
V02-003                         KSP_DMDAST, DEMAND SERVICE AST PROCEDURE 27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0768  1649 KSP_DISMISS:
                                 04  0768  1650 	RET					; DISMISS AST
                                     0769  1651 20$:
                       06   00   EF  0769  1652 	EXTZV	#DFR_V_SCA,#DFR_S_SCA,-		; EXTRACT SERIAL CRATE
                       63   50       076C  1653 		R0,SDM_L_SCA(R3)
                       05   08   EF  076E  1654 	EXTZV	#DFR_V_SGL,#DFR_S_SGL,-		; EXTRACT SGL NUMBER
                    04 A3   50       0771  1655 		R0,SDM_L_SGL(R3)
                       52   63   D0  0774  1656 	MOVL	SDM_L_SCA(R3),R2		; GET CRATE NUMBER
                            00   FB  0777  1657 	CALLS	#0,KSP_LOCCSU			; FIND CRATE UCB
                   00000A57'EF       0779       
                         08 50   E9  077E  1658 	BLBC	R0,30$				; IF FAILURE, FALSE DEMAND
                       55   51   D0  0781  1659 	MOVL	R1,R5				; USE R5 TO REF CRATE UCB
                            02   E0  0784  1660 	BBS	#DSTS_V_LSBV,-			; LAM SUPPORT VALID FOR CRATE?
                      26 5A A5       0786  1661 		UCB$W_DEVSTS(R5),40$		; IF SO, CONTINUE
                                     0789  1662 30$:
                                     0789  1663 	$CAMPIO_S	-			; FALSE DEMAND PROCESSING
                                     0789  1664 		EFN=#1,-			; DISABLE L2 DEMANDS
                                     0789  1665 		CHAN=KSP_HSUCHAN,-		; HSU CHANNEL
                                     0789  1666 		CRATE=SDM_L_SCA(R3),-		; CAMAC CRATE
                                     0789  1667 		STATION=#30,-			; L2 STATION NUMBER
                                     0789  1668 		SUBAD=#0,-			; SEL CLEAR A
                                     0789  1669 		FUNC=#23,-			; SEL CLEAR F
                                     0789  1670 		DATA=#L2S_M_DENB		; MASK FOR DEMAND ENABLE
                          FF8E   31  07AC  1671 	BRW	KSP_DMDSLOOP			; BACK TO LOOK FOR MORE
                                     07AF  1672 40$:
                  56   0098 C5   D0  07AF  1673 	MOVL	UCB$L_LSB(R5),R6		; GET LAM SUPP BLOCK PNTR
                                     07B4  1674 	$CAMPIO_S	-			; DISABLE BIT IN LAM ENCODER
                                     07B4  1675 		EFN=#1,-			; EVENT FLAG
                                     07B4  1676 		CHAN=KSP_HSUCHAN,-		; CHANNEL
                                     07B4  1677 		CRATE=SDM_L_SCA(R3),-		; CAMAC CRATE
                                     07B4  1678 		STATION=LSB_B_LGN(R6),-		; LAM ENCODER N
                                     07B4  1679 		SUBAD=#11,-			; SEL CLEAR BIT N
                                     07B4  1680 		FUNC=#22,-
                                     07B4  1681 		DATA=SDM_L_SGL(R3)
                    18   04 A3   91  07D5  1682 	CMPB	SDM_L_SGL(R3),#LSB_K_NLMAX	; POSSIBLE HUNG DEMAND SIGNAL?
                            12   1A  07D9  1683 	BGTRU	50$				; IF SO, GO CHECK IT
                    52   04 A3   D0  07DB  1684 	MOVL	SDM_L_SGL(R3),R2		; GET SGL NUMBER
                    00 66   52   E5  07DF  1685 	BBCC	R2,LSB_L_STS(R6),60$		; RESET LAM ENABLED BIT
                                     07E3  1686 60$:
                            00   FB  07E3  1687 	CALLS	#0,KSP_DELAMAST			; DELIVER LAM AST'S
                   00000BE1'EF       07E5       
                          FF50   31  07EA  1688 	BRW	KSP_DMDSLOOP			; BACK TO LOOK FOR MORE
                                     07ED  1689 50$:
                    1F   04 A3   91  07ED  1690 	CMPB	SDM_L_SGL(R3),#31		; HUNG DEMAND MESSAGE RECEIVED?
                            03   13  07F1  1691 	BEQL	70$				; IF SO, GO HANDLE IT
                          FF93   31  07F3  1692 	BRW	30$				; TREAT ANYTHING ELSE AS A HARDWARE
                                     07F6  1693 						; MALFUNCTION(FALSE DEMAND)!!!
                                     07F6  1694 70$:
                          FF44   31  07F6  1695 	BRW	KSP_DMDSLOOP			; NULL HUNG DEMAND PROCESSING
                                     07F9  1696 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  40
V02-003                         KSP_DMDAST, DEMAND SERVICE AST PROCEDURE 27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     07F9  1859 
                                     07F9  1860 	.SBTTL	KSP_DMDXHAND, DEMAND AST EXCEPTION HANDLER
                                     07F9  1861 	.ENABL	LSB
                                     07F9  1862 
                                     07F9  1863 ;++
                                     07F9  1864 ;
                                     07F9  1865 ;	Procedure:
                                     07F9  1866 ;	KSP_DMDXHAND
                                     07F9  1867 ;
                                     07F9  1868 ;	Description:
                                     07F9  1869 ;	This procedure serves as a condition handler for the CAMAC 
                                     07F9  1870 ;	demand service AST procedure. It performs the following functions
                                     07F9  1871 ;	for any signaled exception conditions.
                                     07F9  1872 ;		If the signaled condition is 'SS$_UNWIND', the handler
                                     07F9  1873 ;			ignores it and returns to the condition disaptcher.
                                     07F9  1874 ;		For all other conditions, the signal list is logged to
                                     07F9  1875 ;			ERRLOG.SYS then,
                                     07F9  1876 ;		The stack is unwound back to the demand AST procedure
                                     07F9  1877 ;			frame, then
                                     07F9  1878 ;		The AST procedure is continued at the top of the demand service
                                     07F9  1879 ;			loop.
                                     07F9  1880 ;
                                     07F9  1881 ;
                                     07F9  1882 ;	Parameters:
                                     07F9  1883 ;	CHF$L_SIGARGLST(AP)
                                     07F9  1884 ;	CHF$L_MCHARGLIST(AP)
                                     07F9  1885 ;
                                     07F9  1886 ;--
                                     07F9  1887 ;
                                     07F9  1888 ;
                                     07F9  1889 ;	HANDLER FAO DATA
                                     07F9  1890 ;
                                     07F9  1891 KSP_DMDXHNID:
                  00000801'010E0000' 07F9  1892 	.ASCID	/_KSP_DMDXHAND/			; HANDLER PROCEDURE NAME
                  44 5F 50 53 4B 5F  0801       
                  4E 41 48 58 44 4D  0807       
                                 44  080D       
                                     080E  1893 
                                     080E  1894 KSP_DMDXHAND:
                               001C  080E  1895 	.WORD	^M<R2,R3,R4>
                    52   04 AC   D0  0810  1896 	MOVL	CHF$L_SIGARGLST(AP),R2		; LOCATE SIG ARG LIST
                         04 A2   D1  0814  1897 	CMPL	CHF$L_SIG_NAME(R2),-		; UNWIND CALL?
                   00000920 8F       0817  1898 		#SS$_UNWIND
                            01   12  081C  1899 	BNEQ	10$				; IF NOT, CONTINUE
                                 04  081E  1900 	RET					; IF SO, RETURN
                                     081F  1901 10$:
                            52   DD  081F  1902 	PUSHL	R2				; SIG LIST ADDR
                         D5 AF   DF  0821  1903 	PUSHAL	KSP_DMDXHNID			; HANDLER NAME ID
                   00000030'EF   DF  0824  1904 	PUSHAL	KSP_PRCNID			; PROCESS NAME ID
                  F8BE CF   04   FB  082A  1905 	CALLS	#4,KSP_LOGERR			; LOG ACP ERROR
                         19 50   E9  082F  1906 	BLBC	R0,30$				; IF FAILURE, RESIGNAL
                    52   08 AC   D0  0832  1907 	MOVL	CHF$L_MCHARGLST(AP),R2		; GET MECH ARG LIST ADDR
                                     0836  1909 	$UNWIND_S	-
                                     0836  1910 		DEPADR=CHF$L_MCH_DEPTH(R2),-	; UNWIND TO AST PROCEDURE
                                     0836  1911 		NEWPC=KSP_DMDSLOOP		; CONTINUE DEMAND SERVICE LOOP
                         04 50   E9  0844  1918 	BLBC	R0,30$				; IF FAILURE, RESIGNAL
                       50   01   3C  0847  1919 	MOVZWL	#SS$_CONTINUE,R0		; CONTINUE
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  41
V02-003                         KSP_DMDXHAND, DEMAND AST EXCEPTION HANDL 27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                 04  084A  1920 	RET					; RETURN TO EXCEPTION DISPATCHER
                                     084B  1921 30$:
                  50   0918 8F   3C  084B  1922 	MOVZWL	#SS$_RESIGNAL,R0		; RESIGNAL EXCEPTION
                                 04  0850  1923 	RET					; RETURN TO EXCEPTION DISPATCHER
                                     0851  1924 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  42
V02-003                         KSP_PIO, INTERNAL CAMAC PROGRAMMED I/O P 27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0851  1926 	.SBTTL	KSP_PIO, INTERNAL CAMAC PROGRAMMED I/O PROCEDURE
                                     0851  1927 	.ENABL	LSB
                                     0851  1928 
                                     0851  1929 ;++
                                     0851  1930 ;
                                     0851  1931 ;	Procedure:
                                     0851  1932 ;	KSP_PIO
                                     0851  1933 ;	Description:
                                     0851  1934 ;	This procedure performs a CAMAC Programmed I/O call to the
                                     0851  1935 ;	CAMAC device driver through the HSU channel.
                                     0851  1936 ;
                                     0851  1937 ; Inputs:
                                     0851  1938 ;	0(AP)	- Arg count,
                                     0851  1939 ;	4(AP)	- VMS I/O channel,
                                     0851  1940 ;	8(AP)	- CAMAC crate number,
                                     0851  1941 ;	12(AP)	- CAMAC station number,
                                     0851  1942 ;	16(AP)	- CAMAC subaddress,
                                     0851  1943 ;	20(AP)	- CAMAC function code,
                                     0851  1944 ;	24(AP)	- CAMAC data.
                                     0851  1945 ;
                                     0851  1946 ; Outputs:
                                     0851  1947 ;	R0,R1	- IOSB returned from SYS$QIO completion.
                                     0851  1948 ;
                                     0851  1949 ;--
                                     0851  1950 
                           00000004  0851  1951 EFN		= 4				; EVENT FLAG
                           00000008  0851  1952 IOCHAN		= 8				; VMS I/O CHANNEL
                           0000000C  0851  1953 CRATE		= 12				; CAMAC CRATE
                           00000010  0851  1954 STATION		= 16				; CAMAC STATION
                           00000014  0851  1955 SUBAD		= 20				; CAMAC SUBADDRESS
                           00000018  0851  1956 FUNC		= 24				; CAMAC FUNCTION
                           0000001C  0851  1957 DATA		= 28				; CAMAC DATA
                                     0851  1958 
                                     0851  1959 
                                     0851  1960 KSP_PIO:					; PERFORM CAMAC PIO CALL
                               0004  0851  1961 	.WORD	^M<R2>
                                     0853  1962 
                                     0853  1963 	ALOSTAK	#<RTB_K_LENGTH+8>,R2		; ALLOCATE RTB AND IOSB
                            62   7C  0859  1964 	CLRQ	(R2)				; ZERO RTB
                                     085B  1965 
                                     085B  1967 	SHCTR	-				; BUILD CTR TEMPLATE
                                     085B  1968 		QDCV=#1,-			; Q DON'T CARE
                                     085B  1969 		MODE=#0,-			; MODE 0=PIO
                                     085B  1970 		CTRV=RTB_W_CTR(R2)
                                     0867  1971 	SHCMR	-				; BUILD CMR TEMPLATE
                                     0867  1972 		XIV=#1,-			; X IGNORE
                                     0867  1973 		NV=STATION(AP),-		; CAMAC N
                                     0867  1974 		AV=SUBAD(AP),-			; CAMAC A
                                     0867  1975 		FV=FUNC(AP),-			; CAMAC F
                                     0867  1976 		CMRV=RTB_W_CMR(R2)
                         1C AC   B0  0885  1977 	MOVW	DATA(AP),-			; INSERT DATA LOW
                         04 A2       0888  1978 		RTB_W_DLR(R2)
                                     088A  1979 	SHCDH	-				; BUILD CDH TEMPLATE
                                     088A  1980 		CV=CRATE(AP),-			; CAMAC C
                                     088A  1981 		DHV=DATA+2(AP),-		; DATA(HSB)
                                     088A  1982 		CDHV=RTB_W_CDH(R2)
                                     0899  1983 	$QIOW_S	-				; PERFORM QIO TO CAMAC WITH
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  43
V02-003                         KSP_PIO, INTERNAL CAMAC PROGRAMMED I/O P 27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0899  1984 		EFN=EFN(AP),-			; EVENT FLAG #
                                     0899  1985 		CHAN=IOCHAN(AP),-		; VMS I/O CHANNEL
                                     0899  1986 		FUNC=#IO$_CAMIO,-		; CAMAC I/O FUNCTION 
                                     0899  1987 		IOSB=RTB_K_LENGTH(R2),-		; I/O STATUS BLOCK
                                     0899  1988 		P1=(R2)				; RTB ADDRESS
                         04 50   E9  08B7  2013 	BLBC	R0,90$				; IF FAILURE, RETURN AS IS
                    50   08 A2   7D  08BA  2014 	MOVQ	RTB_K_LENGTH(R2),R0		; GET IOSB STATUS
                                     08BE  2015 90$:
                                 04  08BE  2016 	RET					; RETURN TO CALLER
                                     08BF  2017 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  44
V02-003                         KSP_PIO, INTERNAL CAMAC PROGRAMMED I/O P 27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     08BF  2019 ;
                                     08BF  2020 ;	START WORKING SET LOCK RANGE
                                     08BF  2021 ;
                                     08BF  2022 KSP_LWSBEG:
                                     08BF  2023 	.SBTTL	KSP_WAITQ, WAIT FOR ACP WORK
                                     08BF  2024 	.ENABL	LSB
                                     08BF  2025 
                                     08BF  2026 ;++
                                     08BF  2027 ;
                                     08BF  2028 ;	Procedure:
                                     08BF  2029 ;	KSP_WAITQ
                                     08BF  2030 ;
                                     08BF  2031 ;	Description:
                                     08BF  2032 ;	This procedure dequeues IRP's from the ACP queue located from the
                                     08BF  2033 ;	AQB for the ACP. If the queue is emptied, the CAMAC Highway Support
                                     08BF  2034 ;	Unit associated with the ACP is checked for 'DISMOUNT' status. If not
                                     08BF  2035 ;	set, the ACP hibernates. If 'DISMOUNT' is posted, the ACP begins
                                     08BF  2036 ;	run down processing to prepare to delete itself.
                                     08BF  2037 ;	
                                     08BF  2038 ;
                                     08BF  2039 ;	Inputs:
                                     08BF  2040 ;	0(AP)	- argument count,
                                     08BF  2041 ;	4(AP)	- AQB address.
                                     08BF  2042 ;
                                     08BF  2043 ;	Outputs:
                                     08BF  2044 ;	R3	- IRP address to be serviced.
                                     08BF  2045 ;
                                     08BF  2046 ;--
                                     08BF  2047 
                                     08BF  2048 KSP_WAITQ:
                               0004  08BF  2049 	.WORD	^M<R2>
                                     08C1  2050 
                    52   04 AC   D0  08C1  2051 	MOVL	4(AP),R2			; GET AQB ADDRESS IN R2
                                     08C5  2052 20$:
                    53   00 B2   0F  08C5  2053 	REMQUE	@(R2),R3			; DEQUEUE IRP
                            0E   1C  08C9  2054 	BVC	10$				; IF NOT EMPTY, GO EXAMINE IRP
                         0B A2   95  08CB  2055 	TSTB	AQB$B_MNTCNT(R2)		; ACP STILL MOUNTED?
                            0A   15  08CE  2056 	BLEQ	30$				; IF NOT, GO PREPARE TO RUNDOWN
                                     08D0  2057 	$HIBER_S				; ELSE, GO TO SLEEP
                                     08D7  2058 						; AWAKE HERE...
                            EC   11  08D7  2059 	BRB	20$				; GO DEQUEUE NEXT IRP
                                     08D9  2060 10$:
                                 04  08D9  2061 	RET					; RETURN TO PROCESS IRP
                                     08DA  2062 30$:
                                     08DA  2063 ;
                                     08DA  2064 ;	ACP RUNDOWN BEGINS HERE
                                     08DA  2065 ;
                                     08DA  2066 
                                     08DA  2067 	LOCKIOW					; LOCK I/O DATA BASE(WRITE)
                   00000000'GF   9E  08EE  2068 	MOVAB	G^IOC$GL_AQBLIST,R1		; GET AQB LIST ADDRESS
                            51       08F4       
                       50   61   D0  08F5  2069 	MOVL	(R1),R0				; GET FIRST AQB ADDRESS
                       50   52   D1  08F8  2070 	CMPL	R2,R0				; FOUND OUR AQB?
                            06   12  08FB  2071 	BNEQ	100$				; IF NOT, CONTINUE SCAN
                    61   10 A2   D0  08FD  2072 	MOVL	AQB$L_LINK(R2),(R1)		; CLOSE AQB LIST
                            11   11  0901  2073 	BRB	120$				; AND GO UNLOCK DATA BASE
                                     0903  2074 100$:
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  45
V02-003                         KSP_WAITQ, WAIT FOR ACP WORK             27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                    52   10 A0   D1  0903  2075 	CMPL	AQB$L_LINK(R0),R2		; CUR AQB LINK TO OUR AQB?
                            06   13  0907  2076 	BEQL	110$				; IF SO, GO CLOSE LIST
                    50   10 A0   D0  0909  2077 	MOVL	AQB$L_LINK(R0),R0		; ADVANCE TO NEXT AQB
                            F4   11  090D  2078 	BRB	100$				; AND CONTINUE SEARCH
                                     090F  2079 110$:
                         10 A2   D0  090F  2080 	MOVL	AQB$L_LINK(R2),-		; CLOSE AQB LIST
                         10 A0       0912  2081 		AQB$L_LINK(R0)
                                     0914  2082 120$:
                            52   DD  0914  2083 	PUSHL	R2				; SAVE AQB ADDRESS
                                     0916  2084 	UNLOCKIO				; RELEASE I/O DATA BASE
                            50 8ED0  092D  2085 	POPL	R0				; RESTORE AQB ADDRESS TO R0
                   00000000'GF   16  0930  2086 	JSB	G^EXE$DEANONPAGED		; RELEASE AQB BACK TO NPP
                                     0936  2087 	$DELPRC_S				; INITIATE IMAGE/PROCESS RUNDOWN
                                     0941  2088 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  46
V02-003                         KSP_POSTIRP POST IRP FOR I/O COMPLETION  27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0941  2090 	.SBTTL	KSP_POSTIRP POST IRP FOR I/O COMPLETION
                                     0941  2091 	.ENABL	LSB
                                     0941  2092 
                                     0941  2093 ;++
                                     0941  2094 ;
                                     0941  2095 ;	Procedure:
                                     0941  2096 ;	KSP_POSTIRP
                                     0941  2097 ;	
                                     0941  2098 ;	Description:
                                     0941  2099 ;	This procedure posts an IRP to the I/O post processing 
                                     0941  2100 ;	queue and performs necessary dismount checks and associated
                                     0941  2101 ;	processing when the VCB transaction count is exhausted.
                                     0941  2102 ;
                                     0941  2103 ; Inputs:
                                     0941  2104 ;	R3	- address of IRP to post for completion.
                                     0941  2105 ;	R5	- address of UCB connected to IRP.
                                     0941  2106 ;
                                     0941  2107 ; Outputs:
                                     0941  2108 ;	R0	- status of the request.
                                     0941  2109 ;	R0-R1 are destroyed.
                                     0941  2110 ;
                                     0941  2111 ;--
                                     0941  2112 
                                     0941  2113 KSP_POSTIRP:					; POST IRP COMPLETE
                                     0941  2114 
                               001C  0941  2115 	.WORD	^M<R2,R3,R4>			; KSP_POSTIRP ENTRY MASK
                         60 A5   D6  0943  2116 	INCL	UCB$L_OPCNT(R5)			; UPDATE UNIT OPERATION COUNT
                  52   0094 C5   D0  0946  2117 	MOVL	UCB$L_HSU(R5),R2		; LOCATE HSU FROM UCB
                    50   30 A2   D0  094B  2118 	MOVL	UCB$L_VCB(R2),R0		; LOCATE VOL CONTL BLOCK
                         0C A0   B7  094F  2119 	DECW	VCB$W_TRANS(R0)			; UPDATE VOL TRANS REMAINING
                   00000000'GF   DE  0952  2120 	MOVAL	G^IOC$GL_PSBL,R0		; GET IRP POST QUEUE
                            50       0958       
                    00 B0   63   0E  0959  2121 	INSQUE	(R3),@(R0)			; INSERT AT TAIL
                            03   12  095D  2122 	BNEQ	10$				; IF NOT 0, NOT FIRST ENTRY
                                     095F  2123 	SOFTINT	#IPL$_IOPOST			; ELSE TRIGGER POST PROCESSOR
                                     0962  2124 10$:
                   00000000'8F   E1  0962  2125 	BBC	#DEV$V_DMT,-			; UNIT MARKED FOR DISMOUNT
                      34 34 A5       0968  2126 		UCB$L_DEVCHAR(R5),90$		; IF NOT, EXIT
                   00000000'8F   E1  096B  2127 	BBC	#DEV$V_MNT,-			; MAKE SURE UNIT IS MOUNTED
                      2B 34 A5       0971  2128 		UCB$L_DEVCHAR(R5),90$		; IF NOT ,IGNORE DISMOUNT
                    50   30 A5   D0  0974  2129 	MOVL	UCB$L_VCB(R5),R0		; GET VCB ADDRESS
                    54   10 A0   D0  0978  2130 	MOVL	VCB$L_AQB(R0),R4		; LOCATE ACCOCIATED AQB
                                     097C  2131 	DSBINT	#IPL$_SYNCH			; BLOCK IRP QUEUEING TO ACP
                    01   0C A0   B1  0982  2132 	CMPW	VCB$W_TRANS(R0),#1		; ANY MORE VCB ENTRIES?
                            14   14  0986  2133 	BGTR	20$				; IF SO, WAIT ON DISMOUNT
                                 CA  0988  2134 	BICL	#DEV$M_MNT!DEV$M_FOR!-
                                     0989  2135 		DEV$M_DMT,-			; RESET BOTH MOUNT AND DISMOUNT
                   00000000'8F       0989  2136 		UCB$L_DEVCHAR(R5)		; IN UCB
                         34 A5       098E       
                         30 A5   D4  0990  2137 	CLRL	UCB$L_VCB(R5)			; ZAP VCB POINTER
                   00000000'GF   16  0993  2138 	JSB	G^EXE$DEANONPAGED		; RELEASE VCB BACK TO NPP
                         0B A4   97  0999  2139 	DECB	AQB$B_MNTCNT(R4)		; DECREMENT MOUNT COUNT FOR ACP
                                     099C  2140 20$:
                                     099C  2141 	ENBINT					; RESTORE PREVIOUS IPL
                                     099F  2142 90$:
                                 04  099F  2143 	RET					; RETURN TO CALLER
                                     09A0  2144 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  47
V02-003                         KSP_ENDMANDS ENABLE DEMAND INTERRUPTS    27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     09A0  2145 	.SBTTL	KSP_ENDMANDS ENABLE DEMAND INTERRUPTS
                                     09A0  2146 	.ENABL	LSB
                                     09A0  2147 
                                     09A0  2148 ;++
                                     09A0  2149 ;
                                     09A0  2150 ;	Procedure:
                                     09A0  2151 ;	KSP_ENDMANDS
                                     09A0  2152 ;
                                     09A0  2153 ;	Description:
                                     09A0  2154 ;	This procedure enables demand generation from the CAMAC device
                                     09A0  2155 ;	driver by allocating an AST control block, charging it aganist the
                                     09A0  2156 ;	ACP quota, connecting the AST control block to the demand AST listhead
                                     09A0  2157 ;	in the Highway Support Unit UCB and enabling demands in the
                                     09A0  2158 ;	CAMAC highway driver.
                                     09A0  2159 ;
                                     09A0  2160 ;	Inputs:
                                     09A0  2161 ;	R5	- address of HSU UCB,
                                     09A0  2162 ;	R6	- AST entry address,
                                     09A0  2163 ;	R7	- AST parameter value.
                                     09A0  2164 ;
                                     09A0  2165 ;	Outputs:
                                     09A0  2166 ;
                                     09A0  2167 ;--
                                     09A0  2168 
                                     09A0  2169 KSP_ENDMANDS:
                               001C  09A0  2170 	.WORD	^M<R2,R3,R4>			; KSP_ENDMANDS ENTRY MASK
                                     09A2  2171 
                       50   1C   3C  09A2  2172 	MOVZWL	#SS$_EXQUOTA,R0			; ASSUME EXCEEDED AST QUOTA
                   00000000'GF   D0  09A5  2173 	MOVL	G^SCH$GL_CURPCB,R4		; GET OWN PCB ADDRESS
                            54       09AB       
                         38 A4   B5  09AC  2174 	TSTW	PCB$W_ASTCNT(R4)		; ALLOW ONE MORE?
                            63   13  09AF  2175 	BEQL	90$				; IF 0, NO WAY
                       51   28   9A  09B1  2176 	MOVZBL	#ACB$L_KAST+16,R1		; SET DESIRED ACB LENGTH
                   00000000'GF   16  09B4  2177 	JSB	G^EXE$ALONONPAGED		; ALLOCATE DEMAND ACB
                         57 50   E9  09BA  2178 	BLBC	R0,90$				; IF FAILURE, ABORT
                         38 A4   B7  09BD  2179 	DECW	PCB$W_ASTCNT(R4)		; DECREMENT AST QUOTA
                    08 A2   51   B0  09C0  2180 	MOVW	R1,ACB$W_SIZE(R2)		; SAVE REAL ACB SIZE
                         00'8F   90  09C4  2181 	MOVB	#DYN$C_ACB,-			; INDICATE TYPE=ACB
                         0A A2       09C7  2182 		ACB$B_TYPE(R2)
                            06   90  09C9  2183 	MOVB	#IPL$_QUEUEAST,-		; ACB USED AS FORK BLOCK 
                         0B A2       09CB  2184 		ACB$B_RMOD(R2)			; FIRST. SET FORK IPL.
                    18 A2   56   D0  09CD  2185 	MOVL	R6,-				; SAVE AST ADDRESS
                                     09D1  2186 		ACB$L_KAST(R2)
                    1C A2   57   D0  09D1  2187 	MOVL	R7,-				; AND AST PARAMETER
                                     09D5  2188 		ACB$L_KAST+4(R2)
                            50   DC  09D5  2189 	MOVPSL	R0				; GET PSL
                  50   02   18   EF  09D7  2190 	EXTZV	#24,#2,R0,R0			; EXTRACT CURRENT MODE
                            50       09DB       
                    50   40 8F   88  09DC  2191 	BISB	#ACB$M_QUOTA,R0			; SET FOR NORMAL AST
                    20 A2   50   9A  09E0  2192 	MOVZBL	R0,ACB$L_KAST+8(R2)		; SAVE IN ACB
                         60 A4   D0  09E4  2193 	MOVL	PCB$L_PID(R4),-			; SAVE PID
                         24 A2       09E7  2194 		ACB$L_KAST+12(R2)
                                     09E9  2195 	DSBINT	UCB$B_DIPL(R5)			; DISABLE DEVICE INTERRUPTS
                  62   0098 C5   D0  09F0  2196 	MOVL	UCB$L_DMDAST(R5),(R2)		; INSERT ACB AT HEAD
                  0098 C5   52   D0  09F5  2197 	MOVL	R2,UCB$L_DMDAST(R5)		; AND LINK TO UCB LISTHEAD
                                     09FA  2198 	ENBINT					; RESTORE PREVIOUS IPL
                                     09FD  2199 	$SETAST_S	#1			; ENABLE AST DELIVERY
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  48
V02-003                         KSP_ENDMANDS ENABLE DEMAND INTERRUPTS    27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                    54   20 A5   D0  0A06  2200 	MOVL	UCB$L_CRB(R5),R4		; LOCATE CRB FROM UCB
                         2C B4   D0  0A0A  2201 	MOVL	@CRB$L_INTD+VEC$L_IDB(R4),-
                            54       0A0D  2202 		R4				; LOCATE CSR FROM IDB
                                     0A0E  2203 
                       0040 8F   A8  0A0E  2205 	BISW	#DCR_M_SDIE,-			; ENABLE SERIAL DEMAND 
                         0E A4       0A12  2206 		KS_W_DCR(R4)			; INTERRUPTS
                                     0A14  2212 90$:
                                 04  0A14  2213 	RET					; RETURN TO CALLER
                                     0A15  2214 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  49
V02-003                         KSP_DBDMANDS, DISABLE CAMAC DEMANDS      27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0A15  2216 	.SBTTL	KSP_DBDMANDS, DISABLE CAMAC DEMANDS
                                     0A15  2217 	.ENABL	LSB
                                     0A15  2218 
                                     0A15  2219 ;++
                                     0A15  2220 ;
                                     0A15  2221 ;	Procedure:
                                     0A15  2222 ;
                                     0A15  2223 ;	Description:
                                     0A15  2224 ;	This procedure disables demand generation from the CAMAC device
                                     0A15  2225 ;	driver by reversing the procedure performed by KSP_ENDMANDS.
                                     0A15  2226 ;
                                     0A15  2227 ;	Inputs:
                                     0A15  2228 ;	R5	- address of HSU UCB.
                                     0A15  2229 ;
                                     0A15  2230 ;	Outputs:
                                     0A15  2231 ;	R0	- status of request.
                                     0A15  2232 ;
                                     0A15  2233 ;--
                                     0A15  2234 
                                     0A15  2235 KSP_DBDMANDS:
                               000C  0A15  2236 	.WORD	^M<R2,R3>
                                     0A17  2237 
                                     0A17  2238 	$SETAST_S	#0			; DISABLE PROCESS AST DELIVERY
                                     0A20  2239 	DSBINT	UCB$B_DIPL(R5)			; BLOCK DEVICE INTERRUPTS
                    51   20 A5   D0  0A27  2240 	MOVL	UCB$L_CRB(R5),R1		; LOCATE CRB FROM UCB
                    51   2C B1   D0  0A2B  2241 	MOVL	@CRB$L_INTD+VEC$L_IDB(R1),R1	; GET CSR ADDRESS FROM IDB
                                     0A2F  2242 
                       0040 8F   AA  0A2F  2244 	BICW	#DCR_M_SDIE,KS_W_DCR(R1)	; DISABLE SERIAL DEMAND INTERRUPTS
                         0E A1       0A33       
                                     0A35  2250 
                                     0A35  2251 	ENBINT					; RESTORE PREVIOUS IPL
                                     0A38  2252 10$:
                  50   0098 C5   D0  0A38  2253 	MOVL	UCB$L_DMDAST(R5),R0		; GET DEMAND ACB ADDRESS
                            17   13  0A3D  2254 	BEQL	90$				; IF END OF LIST, EXIT
                  0098 C5   60   D0  0A3F  2255 	MOVL	(R0),UCB$L_DMDAST(R5)		; CLOSE LIST AFTER REMOVAL
                   00000000'GF   D0  0A44  2256 	MOVL	G^SCH$GL_CURPCB,R1		; GET OWN PCB ADDRESS
                            51       0A4A       
                         38 A1   B6  0A4B  2257 	INCW	PCB$W_ASTCNT(R1)		; UPDATE PROCESS AST LIMIT
                   00000000'GF   16  0A4E  2258 	JSB	G^EXE$DEANONPAGED		; RELEASE ACB BACK TO NPP
                            E2   11  0A54  2259 	BRB	10$				; SEE IF ANOTHER
                                     0A56  2260 90$:
                                 04  0A56  2261 	RET					; RETURN TO CALLER
                                     0A57  2262 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  50
V02-003                         LOCATE CRATE SUPPORT UNIT UCB            27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0A57  2264 	.SBTTL	LOCATE CRATE SUPPORT UNIT UCB
                                     0A57  2265 	.ENABL	LSB
                                     0A57  2266 
                                     0A57  2267 ;++
                                     0A57  2268 ;
                                     0A57  2269 ;	Procedure:
                                     0A57  2270 ;	KSP_LOCCSU
                                     0A57  2271 ;
                                     0A57  2272 ;	Description:
                                     0A57  2273 ;	This procedure locates the UCB for a specified CAMAC crate
                                     0A57  2274 ;	given the address of the Highway Support Unit UCB and the
                                     0A57  2275 ;	CAMAC crate number.
                                     0A57  2276 ;
                                     0A57  2277 ; Inputs:
                                     0A57  2278 ;	R2	- CAMAC crate number,
                                     0A57  2279 ;	R5	- address of Highway support Unit UCB.
                                     0A57  2280 ;
                                     0A57  2281 ; Outputs:
                                     0A57  2282 ;	R1	- address of CSU UCB,
                                     0A57  2283 ;	R0	- status of the request.
                                     0A57  2284 ;
                                     0A57  2285 ;--
                                     0A57  2286 
                                     0A57  2287 KSP_LOCCSU:					; LOCATE CRATE SUPPORT UNIT UCB
                               0000  0A57  2288 	.WORD	^M<>				; KSP_LOCCSU ENTRY MASK
                                     0A59  2289 
                  50   0908 8F   3C  0A59  2290 	MOVZWL	#SS$_NOSUCHDEV,R0		; ASSUME INVALID CRATE NUMBER
                            52   D5  0A5E  2291 	TSTL	R2				; UNIT 0 SPECIFIED?
                            18   15  0A60  2292 	BLEQ	90$				; IF NEG OR 0, ABORT
                    51   20 A5   D0  0A62  2293 	MOVL	UCB$L_CRB(R5),R1		; LOCATE CRB
                         2C A1   D0  0A66  2294 	MOVL	CRB$L_INTD+VEC$L_IDB(R1),-
                            51       0A69  2295 		R1				; LOCATE IDB FROM CRB
                    0C A1   52   B1  0A6A  2296 	CMPW	R2,IDB$W_UNITS(R1)		; LEGAL CRATE UNIT?
                            0A   14  0A6E  2297 	BGTR	90$				; IF NOT, ABORT
                  51   14 A142   D0  0A70  2298 	MOVL	IDB$L_UCBLST(R1)[R2],-		; GET UCB ADDRESS FROM LIST
                                     0A75  2299 		R1
                            03   13  0A75  2300 	BEQL	90$				; IF 0, ABORT
                       50   01   3C  0A77  2301 	MOVZWL	#SS$_NORMAL,R0			; SET NORMAL STATUS OTHERWISE
                                     0A7A  2302 90$:
                                 04  0A7A  2303 	RET					; RETURN TO CALLER
                                     0A7B  2304 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  51
V02-003                         KSP_ALOLSB, ALLOCATE LAM SUPPORT BLOCK   27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0A7B  2306 	.SBTTL	KSP_ALOLSB, ALLOCATE LAM SUPPORT BLOCK
                                     0A7B  2307 	.ENABL	LSB
                                     0A7B  2308 
                                     0A7B  2309 ;++
                                     0A7B  2310 ;
                                     0A7B  2311 ;	Procedure:
                                     0A7B  2312 ;	KSP_ALOLSB
                                     0A7B  2313 ;
                                     0A7B  2314 ;	Description:
                                     0A7B  2315 ;	This procedure allocates the LAM Support Block(LSB) data
                                     0A7B  2316 ;	structure from nonpaged pool, initializes it and links
                                     0A7B  2317 ;	it into the appropriate crate UCB.
                                     0A7B  2318 ;
                                     0A7B  2319 ; Inputs:
                                     0A7B  2320 ;	R5	- address of parent Crate Support Unit(UCB),
                                     0A7B  2321 ;
                                     0A7B  2322 ; Outputs:
                                     0A7B  2323 ;	R0	- Status of the request,
                                     0A7B  2324 ;
                                     0A7B  2325 ;--
                                     0A7B  2326 
                                     0A7B  2327 KSP_ALOLSB:					; ALLOCATE LAM SUPPORT BLOCK
                               000C  0A7B  2328 	.WORD	^M<R2,R3>			; KSP_ALOLSB ENTRY MASK
                                     0A7D  2329 
                  51   0070 8F   3C  0A7D  2330 	MOVZWL	#LSB_K_LENGTH,R1		; GET LAM SUPP BLOCK LENGTH
                   00000000'GF   16  0A82  2331 	JSB	G^EXE$ALONONPAGED		; CALL TO ALLOC NON-PAGED POOL
                         23 50   E9  0A88  2332 	BLBC	R0,90$				; IF FAILURE, ABORT
                    08 A2   51   B0  0A8B  2333 	MOVW	R1,LSB_W_SIZE(R2)		; SAVE REAL LSB SIZE
                  0098 C5   52   D0  0A8F  2334 	MOVL	R2,-				; SAVE LSB POINTER IN CRATE UCB
                                     0A94  2335 		UCB$L_LSB(R5)
                            04   A8  0A94  2336 	BISW	#DSTS_M_LSBV,-			; SET LSB VALID STATUS
                         5A A5       0A96  2337 		UCB$W_DEVSTS(R5)
                    0C A2   55   D0  0A98  2338 	MOVL	R5,LSB_L_UCB(R2)		; LINK UCB TO LSB
                            50   D4  0A9C  2339 	CLRL	R0				; INITIALIZE LOOP INDEX
                                     0A9E  2340 40$:
                       10 A240   D4  0A9E  2341 	CLRL	LSB_L_LAMLST(R2)[R0]		; ZERO LAM LISTHEADS
                    F8 50   18   F2  0AA2  2342 	AOBLSS	#LSB_K_NLMAX,R0,40$		; LOOP THROUGH ALL LAM LISTHEADS
                            62   D4  0AA6  2343 	CLRL	LSB_L_STS(R2)			; CLEAR LAM STATUS FIELD
                         04 A2   D4  0AA8  2344 	CLRL	LSB_L_LPEND(R2)			; CLEAR LAM PENDING MASK
                       50   01   9A  0AAB  2345 	MOVZBL	#SS$_NORMAL,R0			; SET NORMAL STATUS
                                     0AAE  2346 90$:
                                 04  0AAE  2347 	RET					; RETURN TO CALLER
                                     0AAF  2348 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  52
V02-003                         KSP_DEALSB, DEALLOCATE LAM SUPPORT BLOCK 27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0AAF  2350 	.SBTTL	KSP_DEALSB, DEALLOCATE LAM SUPPORT BLOCK
                                     0AAF  2351 	.ENABL	LSB
                                     0AAF  2352 ;++
                                     0AAF  2353 ;
                                     0AAF  2354 ;	Procedure:
                                     0AAF  2355 ;	KSP_DEALSB
                                     0AAF  2356 ;
                                     0AAF  2357 ;	Description:
                                     0AAF  2358 ;	This procedure deallocates the LAM Support Block(LSB) data
                                     0AAF  2359 ;	structure and resets the crate UCB link and status fields
                                     0AAF  2360 ;	associated with LAM support.
                                     0AAF  2361 ;
                                     0AAF  2362 ;	Inputs:
                                     0AAF  2363 ;
                                     0AAF  2364 ;--
                                     0AAF  2365 
                                     0AAF  2366 KSP_DEALSB:
                               000C  0AAF  2367 	.WORD	^M<R2,R3>
                                     0AB1  2368 
                                     0AB1  2369 	DSBINT	#IPL$_ASTDEL			; BLOCK LAM BLOCK REFERENCE
                  50   0098 C5   D0  0AB7  2370 	MOVL	UCB$L_LSB(R5),R0		; GET LAM SUPP BLOCK ADDR
                   00000000'GF   16  0ABC  2371 	JSB	G^EXE$DEANONPAGED		; RELEASE BACK TO NPP
                         0B 50   E9  0AC2  2372 	BLBC	R0,90$				; IF FAILURE, EXIT HERE
                       0098 C5   D4  0AC5  2373 	CLRL	UCB$L_LSB(R5)			; ZAP LSB POINTER
                    5A A5   04   AA  0AC9  2374 	BICW	#DSTS_M_LSBV,UCB$W_DEVSTS(R5)	; RESET LAM BLOCK VALID
                       50   01   D0  0ACD  2375 	MOVL	#SS$_NORMAL,R0			; SET NORMAL STATUS
                                     0AD0  2376 90$:
                                     0AD0  2377 	ENBINT					; RESTORE PREVIOUS IPL
                                 04  0AD3  2378 	RET					; RETURN TO CALLER
                                     0AD4  2379 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  53
V02-003                         KSP_SETLAMAST, SET LAM ATTENTION AST     27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0AD4  2381 	.SBTTL	KSP_SETLAMAST, SET LAM ATTENTION AST
                                     0AD4  2382 	.ENABL	LSB
                                     0AD4  2383 
                                     0AD4  2384 ;++
                                     0AD4  2385 ;
                                     0AD4  2386 ;	Procedure:
                                     0AD4  2387 ;	KSP_SETLAMAST
                                     0AD4  2388 ;
                                     0AD4  2389 ;	Description:
                                     0AD4  2390 ;	This procedure connects a LAM AST for the specified process
                                     0AD4  2391 ;	to the specified CAMAC crate and station.
                                     0AD4  2392 ;
                                     0AD4  2393 ; Inputs:
                                     0AD4  2394 ;	R3	- IRP address,
                                     0AD4  2395 ;	R4	- PCB address,
                                     0AD4  2396 ;	R6	- address of LSB.
                                     0AD4  2397 ;
                                     0AD4  2398 ; Outputs:
                                     0AD4  2399 ;	R0	- status of the request.
                                     0AD4  2400 ;
                                     0AD4  2401 ;--
                                     0AD4  2402 
                                     0AD4  2403 KSP_SETLAMAST:					; SET LAM ATTENTION AST
                               0004  0AD4  2404 	.WORD	^M<R2>				; KSP_SETLAMAST ENTRY MASK
                       50   1C   3C  0AD6  2405 	MOVZWL	#SS$_EXQUOTA,R0			; ASSUME EXCEEDS QUOTA
                         38 A4   B5  0AD9  2406 	TSTW	PCB$W_ASTCNT(R4)		; ANY REMAINING?
                            62   13  0ADC  2407 	BEQL	90$				; IF 0, ABORT
                                     0ADE  2408 	$SETAST_S	#0			; DISABLE PROCESS AST'S
                       51   1C   9A  0AE7  2409 	MOVZBL	#ACB$L_KAST+4,R1		; LENGTH OF ACB
                            53   DD  0AEA  2410 	PUSHL	R3				; SAVE IRP ADDRESS
                   00000000'GF   16  0AEC  2411 	JSB	G^EXE$ALONONPAGED		; ALLOCATE AST CONTROL BLOCK
                            53 8ED0  0AF2  2412 	POPL	R3				; RESTORE IRP ADDRESS
                         3C 50   E9  0AF5  2413 	BLBC	R0,20$				; IF FAILURE, ABORT
                         38 A4   B7  0AF8  2414 	DECW	PCB$W_ASTCNT(R4)		; DECREMENT QUOTA
                    08 A2   51   B0  0AFB  2415 	MOVW	R1,ACB$W_SIZE(R2)		; SAVE ACB SIZE
                         00'8F   90  0AFF  2416 	MOVB	#DYN$C_ACB,-			; SET TYPE AS ACB
                         0A A2       0B02  2417 		ACB$B_TYPE(R2)
                         60 A4   D0  0B04  2418 	MOVL	PCB$L_PID(R4),-			; INSERT PID FROM PCB
                         0C A2       0B07  2419 		ACB$L_PID(R2)
                         18 A2   D4  0B09  2420 	CLRL	ACB$L_KAST(R2)			; ZERO SPEC KERNEL AST
                         38 A3   D0  0B0C  2421 	MOVL	IRP$L_LAMAST(R3),-		; SAVE AST ADDRESS
                         10 A2       0B0F  2422 		ACB$L_AST(R2)
                         3C A3   D0  0B11  2423 	MOVL	IRP$L_LAMASTP(R3),-		; AND AST PARAMETER
                         14 A2       0B14  2424 		ACB$L_ASTPRM(R2)
                         0B A3   90  0B16  2425 	MOVB	IRP$B_RMOD(R3),-		; AND IRP ACCESS MODE
                         0B A2       0B19  2426 		ACB$B_RMOD(R2)
                         40 8F   88  0B1B  2427 	BISB	#ACB$M_QUOTA,-			; SET FOR NORMAL AST
                         0B A2       0B1E  2428 		ACB$B_RMOD(R2)
                    50   41 A3   9A  0B20  2429 	MOVZBL	IRP$B_N(R3),R0			; GET CAMAC STATION NUMBER
                  51   10 A640   DE  0B24  2430 	MOVAL	LSB_L_LAMLST(R6)[R0],-
                                     0B29  2431 		R1				; LOCATE LAM AST LISTHEAD
                       62   61   D0  0B29  2432 	MOVL	(R1),(R2)			; INSERT AT LIST HEAD
                       61   52   D0  0B2C  2433 	MOVL	R2,(R1)				; UPDATE LISTHEAD 
                 00 04 A6   50   E2  0B2F  2434 	BBSS	R0,LSB_L_LPEND(R6),20$		; SET LAM PEND FOR STATION
                                     0B34  2435 20$:
                                     0B34  2436 	$SETAST_S	#1			; REENABLE PROCESS AST'S
                       50   01   D0  0B3D  2437 	MOVL	#SS$_NORMAL,R0			; SET NORMAL STATUS
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  54
V02-003                         KSP_SETLAMAST, SET LAM ATTENTION AST     27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0B40  2438 90$:
                                 04  0B40  2439 	RET					; RETURN TO CALLER
                                     0B41  2440 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  55
V02-003                         KSP_CANLAMAST CANCEL LAM AST             27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0B41  2442 	.SBTTL	KSP_CANLAMAST CANCEL LAM AST 
                                     0B41  2443 	.ENABL	LSB
                                     0B41  2444 
                                     0B41  2445 ;++
                                     0B41  2446 ;
                                     0B41  2447 ;	Procedure:
                                     0B41  2448 ;	KSP_CANLAMAST
                                     0B41  2449 ;
                                     0B41  2450 ;	Description:
                                     0B41  2451 ;	This procedure cancels pending LAM AST's for the
                                     0B41  2452 ;	specified process associated with the specified 
                                     0B41  2453 ;	CAMAC crate and station.
                                     0B41  2454 ;
                                     0B41  2455 ; Inputs:
                                     0B41  2456 ;	R3	- IRP address,
                                     0B41  2457 ;	R4	- address of PCB,
                                     0B41  2458 ;	R6	- address of LSB.
                                     0B41  2459 ;
                                     0B41  2460 ; Outputs:
                                     0B41  2461 ;	R0	- status of request.
                                     0B41  2462 ;
                                     0B41  2463 ;--
                                     0B41  2464 
                                     0B41  2465 KSP_CANLAMAST:					; CANCEL LAM ATTENTION AST'S
                               008C  0B41  2466 	.WORD	^M<R2,R3,R7>
                                     0B43  2467 
                                     0B43  2468 	$SETAST_S	#0			; DISABLE AST PROCESS AST
                    50   41 A3   9A  0B4C  2469 	MOVZBL	IRP$B_N(R3),R0			; GET CAMAC STATION
                            50   DD  0B50  2470 	PUSHL	R0				; SAVE CAMAC STATION
                  57   10 A640   DE  0B52  2471 	MOVAL	LSB_L_LAMLST(R6)[R0],-
                                     0B57  2472 		R7				; LOCATE LAM AST LISTHEAD
                            57   DD  0B57  2473 	PUSHL	R7				; SAVE LISTHEAD ADDRESS
                                     0B59  2474 20$:
                       50   67   D0  0B59  2475 	MOVL	(R7),R0				; GET NEXT ACB ADDRESS
                            1A   13  0B5C  2476 	BEQL	90$				; IF 0, END OF LIST
                         60 A4   D1  0B5E  2477 	CMPL	PCB$L_PID(R4),-			; PID MATCH ACB?
                         0C A0       0B61  2478 		ACB$L_PID(R0)
                            0E   12  0B63  2479 	BNEQ	10$				; IF NOT MATCH, SET FOR NEXT
                       67   60   D0  0B65  2480 	MOVL	(R0),(R7)			; CLOSE LIST AFTER REMOVAL
                         38 A4   B6  0B68  2481 	INCW	PCB$W_ASTCNT(R4)		; INCREMENT AST QUOTA
                   00000000'GF   16  0B6B  2482 	JSB	G^EXE$DEANONPAGED		; DEALLOCATE ACB
                            E6   11  0B71  2483 	BRB	20$				; CONTINUE UNTIL LIST DONE
                                     0B73  2484 10$:
                       57   50   D0  0B73  2485 	MOVL	R0,R7				; UPDATE PREVIOUS ENTRY PNTR
                            E1   11  0B76  2486 	BRB	20$				; CONTINUE UNTIL LIST DONE
                                     0B78  2487 90$:
                            9E   D5  0B78  2488 	TSTL	@(SP)+				; LISTHEAD 0?
                            08   12  0B7A  2489 	BNEQ	80$				; IF NOT, GO RETURN
                            50 8ED0  0B7C  2490 	POPL	R0				; RESTORE CAMAC STATION
                 00 04 A6   50   E5  0B7F  2491 	BBCC	R0,LSB_L_LPEND(R6),80$		; RESET BIT FOR LAMS PENDING
                                     0B84  2492 80$:
                                     0B84  2493 	$SETAST_S	#1			; REENABLE PROCESS AST'S
                       50   01   9A  0B8D  2494 	MOVZBL	#SS$_NORMAL,R0			; SET NORMAL STATUS
                                 04  0B90  2495 	RET					; RETURN TO CALLER
                                     0B91  2496 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  56
V02-003                         KSP_FLUSHAST, FLUSH AST LIST             27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0B91  2498 	.SBTTL	KSP_FLUSHAST, FLUSH AST LIST
                                     0B91  2499 	.ENABL	LSB
                                     0B91  2500 
                                     0B91  2501 ;++
                                     0B91  2502 ;
                                     0B91  2503 ;	Procedure:
                                     0B91  2504 ;	KSP_FLUSHAST
                                     0B91  2505 ;
                                     0B91  2506 ;	Description:
                                     0B91  2507 ;	This procedure flushes ALL LAM AST's for the specified
                                     0B91  2508 ;	CAMAC crate and station.
                                     0B91  2509 ;
                                     0B91  2510 ;	Inputs:
                                     0B91  2511 ;	R2	- CAMAC station number,
                                     0B91  2512 ;	R6	- address of LAM support block.
                                     0B91  2513 ;
                                     0B91  2514 ;	Outputs:
                                     0B91  2515 ;	R0	- status of request.
                                     0B91  2516 ;
                                     0B91  2517 ;--
                                     0B91  2518 
                                     0B91  2519 KSP_FLUSHAST:					; FLUSH AST LIST
                               00BC  0B91  2520 	.WORD	^M<R2,R3,R4,R5,R7>
                                     0B93  2521 
                                     0B93  2522 	$SETAST_S	#0			; DISABLE PROCESS AST'S
                            52   DD  0B9C  2523 	PUSHL	R2				; SAVE STATION NUMBER
                  57   10 A642   DE  0B9E  2524 	MOVAL	LSB_L_LAMLST(R6)[R2],-		; LOCATE LAM AST LISTHEAD
                                     0BA3  2525 		R7
                                     0BA3  2526 10$:
                       50   67   D0  0BA3  2527 	MOVL	(R7),R0				; GET NEXT ACB ADDRESS
                            24   13  0BA6  2528 	BEQL	90$				; IF 0, END OF LIST
                       67   60   D0  0BA8  2529 	MOVL	(R0),(R7)			; CLOSE LIST AFTER REMOVAL
                                     0BAB  2530 	$LOCPCB	-				; GET PCB ADDR FOR AST BLOCK
                                     0BAB  2531 		PID=ACB$L_PID(R0)		; R4 GETS PCB ADDR
                         60 A4   D1  0BBA  2532 	CMPL	PCB$L_PID(R4),-			; PID MATCH ACB?
                         0C A0       0BBD  2533 		ACB$L_PID(R0)
                            03   12  0BBF  2534 	BNEQ	30$				; IF NOT MATCH, SKIP
                         38 A4   B6  0BC1  2535 	INCW	PCB$W_ASTCNT(R4)		; INCREMENT AST QUOTA
                                     0BC4  2536 30$:
                   00000000'GF   16  0BC4  2537 	JSB	G^EXE$DEANONPAGED		; DEALLOCATE ACB
                            D7   11  0BCA  2538 	BRB	10$				; CONTINUE UNTIL LIST DONE
                                     0BCC  2539 90$:
                            52 8ED0  0BCC  2540 	POPL	R2				; RESTORE STATION NUMBER
                 00 04 A6   52   E5  0BCF  2541 	BBCC	R2,LSB_L_LPEND(R6),100$		; RESET LAM PEND FOR STATION
                                     0BD4  2542 100$:
                                     0BD4  2543 	$SETAST_S	#1			; REENABLE AST'S
                       50   01   3C  0BDD  2544 	MOVZWL	#SS$_NORMAL,R0			; SET NORMAL STATUS
                                 04  0BE0  2545 	RET					; RETURN TO CALLER
                                     0BE1  2546 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  57
V02-003                         KSP_DELAMAST DELIVER LAM AST LIST        27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0BE1  2548 	.SBTTL	KSP_DELAMAST DELIVER LAM AST LIST
                                     0BE1  2549 	.ENABL	LSB
                                     0BE1  2550 
                                     0BE1  2551 ;++
                                     0BE1  2552 ;
                                     0BE1  2553 ;	Procedure:
                                     0BE1  2554 ;	KSP_DELAMAST
                                     0BE1  2555 ;
                                     0BE1  2556 ;	Description:
                                     0BE1  2557 ;	This procedure delivers the LAM AST list for the specified
                                     0BE1  2558 ;	CAMAC crate and station to the requesting process(es).
                                     0BE1  2559 ;
                                     0BE1  2560 ; Inputs:
                                     0BE1  2561 ;	R2	- CAMAC station number,
                                     0BE1  2562 ;	R6	- address of LAM support block.
                                     0BE1  2563 ;
                                     0BE1  2564 ; Outputs:
                                     0BE1  2565 ;	R0	-status of the request.
                                     0BE1  2566 ;
                                     0BE1  2567 ;--
                                     0BE1  2568 
                                     0BE1  2569 KSP_DELAMAST:					; DELIVER LAM AST LIST
                               00BC  0BE1  2570 	.WORD	^M<R2,R3,R4,R5,R7>
                                     0BE3  2571 
                            52   DD  0BE3  2572 	PUSHL	R2				; SAVE FOR LATER
                  57   10 A642   DE  0BE5  2573 	MOVAL	LSB_L_LAMLST(R6)[R2],-		; LOCATE LAM LIST FOR STATION
                                     0BEA  2574 		R7
                                     0BEA  2575 10$:
                       55   67   D0  0BEA  2576 	MOVL	(R7),R5				; GET NEXT ACB ADDRESS
                            0E   13  0BED  2577 	BEQL	90$				; IF 0, END OF LIST
                       67   65   D0  0BEF  2578 	MOVL	(R5),(R7)			; CLOSE LIST 
                       52   01   9A  0BF2  2579 	MOVZBL	#PRI$_IOCOM,R2			; SET PRI INCREMENT I/O COMPLETE
                   00000000'GF   16  0BF5  2580 	JSB	G^SCH$QAST			; QUEUE LAM AST TO PROCESS
                            ED   11  0BFB  2581 	BRB	10$				; CONTINUE AST DELIVERY
                                     0BFD  2582 90$:
                            52 8ED0  0BFD  2583 	POPL	R2				; RESTORE STATION
                 00 04 A6   52   E5  0C00  2584 	BBCC	R2,LSB_L_LPEND(R6),100$		; RESET LAM PEND FOR STATION
                                     0C05  2585 100$:
                       50   01   9A  0C05  2586 	MOVZBL	#SS$_NORMAL,R0			; RETURN NORMAL STATUS
                                 04  0C08  2587 	RET					; RETURN TO CALLER
                                     0C09  2588 	.DSABL	LSB
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  58
V02-003                         KSP_DELAMAST DELIVER LAM AST LIST        27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

                                     0C09  2590 ;
                                     0C09  2591 ;	END OF WORKING SET LOCK RANGE
                                     0C09  2592 ;
                                     0C09  2593 KSP_LWSEND:
                                     0C09  2594 	.END	KSP_MAIN
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  59
Symbol table                                                             27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

$$T1           = 00000001               CCB$L_WIND       00000004               CRB$L_WQFL       00000000               
ACB$B_RMOD       0000000B               CCB$M_AMB      = 00000001               CRB$M_BSY      = 00000001               
ACB$B_TYPE       0000000A               CCB$V_AMB      = 00000000               CRB$S_INTD     = 00000024               
ACB$C_LENGTH     0000001C               CCB$W_IOC        0000000A               CRB$S_INTD2    = 00000024               
ACB$K_LENGTH     0000001C               CDH_M_16       = 00004000               CRB$V_BSY      = 00000000               
ACB$L_AST        00000010               CDH_M_BCF      = 00003800               CRB$W_REFC       0000000C               
ACB$L_ASTPRM     00000014               CDH_M_BCI      = 00000700               CRB$W_SIZE       00000008               
ACB$L_ASTQBL     00000004               CDH_M_C        = 00003F00               DATA           = 0000001C               
ACB$L_ASTQFL     00000000               CDH_M_HSB      = 000000FF               DCR_M_DFO      = 00004000               
ACB$L_KAST       00000018               CDH_S_16       = 00000001               DCR_M_DR       = 00000080               
ACB$L_PID        0000000C               CDH_S_BCF      = 00000003               DCR_M_GOCO     = 00002000               
ACB$M_KAST     = 00000080               CDH_S_BCI      = 00000003               DCR_M_HDR      = 00008000               
ACB$M_NODELETE = 00000020               CDH_S_C        = 00000006               DCR_M_SCA      = 0000003F               
ACB$M_PKAST    = 00000010               CDH_S_HSB      = 00000008               DCR_M_SDIE     = 00000040               
ACB$M_QUOTA    = 00000040               CDH_V_16       = 0000000E               DCR_M_SGL      = 00001F00               
ACB$S_MODE     = 00000002               CDH_V_BCF      = 0000000B               DCR_S_DFO      = 00000001               
ACB$V_KAST     = 00000007               CDH_V_BCI      = 00000008               DCR_S_DR       = 00000001               
ACB$V_MODE     = 00000000               CDH_V_C        = 00000008               DCR_S_GOCO     = 00000001               
ACB$V_NODELETE = 00000005               CDH_V_HSB      = 00000000               DCR_S_HDR      = 00000001               
ACB$V_PKAST    = 00000004               CHF$L_MCHARGLST  00000008               DCR_S_SCA      = 00000006               
ACB$V_QUOTA    = 00000006               CHF$L_MCH_ARGS   00000000               DCR_S_SDIE     = 00000001               
ACB$W_SIZE       00000008               CHF$L_MCH_DEPTH  00000008               DCR_S_SGL      = 00000005               
AQB$B_ACPTYPE    00000015               CHF$L_MCH_FRAME  00000004               DCR_V_DFO      = 0000000E               
AQB$B_CLASS      00000016               CHF$L_MCH_SAVR0  0000000C               DCR_V_DR       = 00000007               
AQB$B_MNTCNT     0000000B               CHF$L_MCH_SAVR1  00000010               DCR_V_GOCO     = 0000000D               
AQB$B_STATUS     00000014               CHF$L_SIGARGLST  00000004               DCR_V_HDR      = 0000000F               
AQB$B_TYPE       0000000A               CHF$L_SIG_ARG1   00000008               DCR_V_SCA      = 00000000               
AQB$C_LENGTH     00000018               CHF$L_SIG_ARGS   00000000               DCR_V_SDIE     = 00000006               
AQB$K_F11V1    = 00000001               CHF$L_SIG_NAME   00000004               DCR_V_SGL      = 00000008               
AQB$K_F11V2    = 00000002               CMR_M_A        = 000001E0               DEV$M_DMT        ********   X   04      
AQB$K_JNL      = 00000006               CMR_M_F        = 0000001F               DEV$M_FOR        ********   X   04      
AQB$K_LENGTH     00000018               CMR_M_N        = 00003E00               DEV$M_MNT        ********   X   04      
AQB$K_MTA      = 00000003               CMR_M_QNE      = 00008000               DEV$V_DMT        ********   X   04      
AQB$K_NET      = 00000004               CMR_M_XI       = 00004000               DEV$V_MNT        ********   X   04      
AQB$K_REM      = 00000005               CMR_S_A        = 00000004               DFR_M_DFE      = 00000040               
AQB$K_UNDEFINED= 00000000               CMR_S_F        = 00000005               DFR_M_DFOR     = 00000080               
AQB$L_ACPPID     0000000C               CMR_S_N        = 00000005               DFR_M_HD       = 00008000               
AQB$L_ACPQBL     00000004               CMR_S_QNE      = 00000001               DFR_M_SCA      = 0000003F               
AQB$L_ACPQFL     00000000               CMR_S_XI       = 00000001               DFR_M_SGL      = 00001F00               
AQB$L_LINK       00000010               CMR_V_A        = 00000005               DFR_S_DFE      = 00000001               
AQB$M_CREATING = 00000008               CMR_V_F        = 00000000               DFR_S_DFOR     = 00000001               
AQB$M_DEFCLASS = 00000002               CMR_V_N        = 00000009               DFR_S_HD       = 00000001               
AQB$M_DEFSYS   = 00000004               CMR_V_QNE      = 0000000F               DFR_S_SCA      = 00000006               
AQB$M_UNIQUE   = 00000001               CMR_V_XI       = 0000000E               DFR_S_SGL      = 00000005               
AQB$V_CREATING = 00000003               CRATE          = 0000000C               DFR_V_DFE      = 00000006               
AQB$V_DEFCLASS = 00000001               CRB$B_MASK       0000000E               DFR_V_DFOR     = 00000007               
AQB$V_DEFSYS   = 00000002               CRB$B_TYPE       0000000A               DFR_V_HD       = 0000000F               
AQB$V_UNIQUE   = 00000000               CRB$C_LENGTH     00000048               DFR_V_SCA      = 00000000               
AQB$W_SIZE       00000008               CRB$K_LENGTH     00000048               DFR_V_SGL      = 00000008               
ASTPRM         = 00000004               CRB$L_AUXSTRUC   00000010               DSTS_M_DMA     = 00000001               
BIT...         = 0000001A               CRB$L_DUETIME    00000018               DSTS_M_LSBV    = 00000004               
CCB$B_AMOD       00000009               CRB$L_INTD       00000024               DSTS_M_MULTI   = 00000002               
CCB$B_STS        00000008               CRB$L_INTD2      00000048               DSTS_S_DMA     = 00000001               
CCB$C_LENGTH     00000010               CRB$L_LINK       00000020               DSTS_S_LSBV    = 00000001               
CCB$K_LENGTH     00000010               CRB$L_TIMELINK   00000014               DSTS_S_MULTI   = 00000001               
CCB$L_DIRP       0000000C               CRB$L_TOUTROUT   0000001C               DSTS_V_DMA     = 00000000               
CCB$L_UCB        00000000               CRB$L_WQBL       00000004               DSTS_V_LSBV    = 00000002               
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  60
Symbol table                                                             27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

DSTS_V_MULTI   = 00000001               IO$M_HANGUP    = 00000200               IO$M_SYNCH     = 00000200               
DYN$C_ACB        ********   X   04      IO$M_INCLUDE   = 00000800               IO$M_TIMED     = 00000080               
EFN            = 00000004               IO$M_INHERLOG  = 00000800               IO$M_TRMNOECHO = 00001000               
EXE$ALONONPAGED  ********   X   04      IO$M_INHEXTGAP = 00001000               IO$M_TYPEAHDCNT= 00000040               
EXE$DEANONPAGED  ********   X   04      IO$M_INHRETRY  = 00008000               IO$M_UNLOOP    = 00000100               
FUNC           = 00000018               IO$M_INHSEEK   = 00001000               IO$M_WORD      = 00000040               
HANDID         = 00000008               IO$M_INTCLOCK  = 00001000               IO$M_WRTATTN   = 00000100               
IDB$B_TYPE       0000000A               IO$M_INTERRUPT = 00000040               IO$S_FCODE     = 00000006               
IDB$B_VECTOR     0000000B               IO$M_INTSKIP   = 00000100               IO$V_ABORT     = 00000008               
IDB$C_LENGTH     00000034               IO$M_LASTBLOCK = 00000400               IO$V_ACCEPT    = 00000007               
IDB$K_LENGTH     00000034               IO$M_LINE_OFF  = 00000200               IO$V_ACCESS    = 00000006               
IDB$L_ADP        00000010               IO$M_LINE_ON   = 00000800               IO$V_ATTNAST   = 00000008               
IDB$L_CSR        00000000               IO$M_LOOP      = 00000080               IO$V_BINARY    = 00000006               
IDB$L_OWNER      00000004               IO$M_LOOP_EXT  = 00001000               IO$V_CANCTRLO  = 00000006               
IDB$L_UCBLST     00000014               IO$M_LPBEXT    = 00002000               IO$V_CANLAM    = 00000008               
IDB$S_UCBLST   = 00000020               IO$M_LPBINT    = 00004000               IO$V_CECYL     = 0000000A               
IDB$W_SIZE       00000008               IO$M_MAINT     = 00000040               IO$V_CLEAR     = 0000000C               
IDB$W_UNITS      0000000C               IO$M_MAINTLOOP = 00000200               IO$V_CLR_COUNT = 0000000A               
IO$K_LOOPTEST  = 0000E000               IO$M_MORE      = 00000040               IO$V_CNTRLENTRY= 00000007               
IO$K_PTPBSC    = 00002000               IO$M_MOUNT     = 00000200               IO$V_COFFLINE  = 0000000A               
IO$K_SRRUNOUT  = 00000000               IO$M_MOVETRACKD= 00000080               IO$V_COMMOD    = 00000006               
IO$M_ABORT     = 00000100               IO$M_MULTIPLE  = 00000100               IO$V_CONLINE   = 00000009               
IO$M_ACCEPT    = 00000080               IO$M_NOCTSWAIT = 00000040               IO$V_CREATE    = 00000007               
IO$M_ACCESS    = 00000040               IO$M_NODSRWAIT = 00000100               IO$V_CTRL      = 00000009               
IO$M_ATTNAST   = 00000100               IO$M_NOECHO    = 00000040               IO$V_CTRLCAST  = 00000008               
IO$M_BINARY    = 00000040               IO$M_NOFILTR   = 00000200               IO$V_CTRLYAST  = 00000007               
IO$M_CANCTRLO  = 00000040               IO$M_NOFORMAT  = 00000100               IO$V_CVTLOW    = 00000008               
IO$M_CANLAM    = 00000100               IO$M_NOMRSP    = 00000040               IO$V_CYCLE     = 0000000C               
IO$M_CECYL     = 00000400               IO$M_NOW       = 00000040               IO$V_DABLAMS   = 00000008               
IO$M_CLEAR     = 00001000               IO$M_NOWAIT    = 00000080               IO$V_DATACHECK = 0000000E               
IO$M_CLR_COUNT = 00000400               IO$M_OPPOSITE  = 00000200               IO$V_DATAPATH  = 0000000A               
IO$M_CNTRLENTRY= 00000080               IO$M_OUTBAND   = 00000400               IO$V_DELDATA   = 00000006               
IO$M_COFFLINE  = 00000400               IO$M_PACKED    = 00000080               IO$V_DELETE    = 00000008               
IO$M_COMMOD    = 00000040               IO$M_PURGE     = 00000800               IO$V_DIAGNOSTIC= 00000008               
IO$M_CONLINE   = 00000200               IO$M_QUALIFIED = 00000080               IO$V_DMOUNT    = 0000000A               
IO$M_CREATE    = 00000080               IO$M_RD_COUNT  = 00000100               IO$V_DSABLMBX  = 0000000A               
IO$M_CTRL      = 00000200               IO$M_RD_MEM    = 00000040               IO$V_DSABL_ALT = 0000000C               
IO$M_CTRLCAST  = 00000100               IO$M_RD_MODEM  = 00000080               IO$V_ENABLMBX  = 00000007               
IO$M_CTRLYAST  = 00000080               IO$M_READATTN  = 00000080               IO$V_ENABL_ALT = 0000000B               
IO$M_CVTLOW    = 00000100               IO$M_READCSR   = 00008000               IO$V_ENLAMS    = 00000007               
IO$M_CYCLE     = 00001000               IO$M_REDIRECT  = 00000040               IO$V_ESCAPE    = 0000000E               
IO$M_DABLAMS   = 00000100               IO$M_REFRESH   = 00002000               IO$V_EXTEND    = 0000000F               
IO$M_DATACHECK = 00004000               IO$M_RESET     = 00000800               IO$V_FCODE     = 00000000               
IO$M_DATAPATH  = 00000400               IO$M_REVERSE   = 00000040               IO$V_FORCE     = 00000006               
IO$M_DELDATA   = 00000040               IO$M_SETBSIZE  = 00000200               IO$V_HANGUP    = 00000009               
IO$M_DELETE    = 00000100               IO$M_SETCUADR  = 00000100               IO$V_INCLUDE   = 0000000B               
IO$M_DIAGNOSTIC= 00000100               IO$M_SETENQCNT = 00000800               IO$V_INHERLOG  = 0000000B               
IO$M_DMOUNT    = 00000400               IO$M_SETEVF    = 00000040               IO$V_INHEXTGAP = 0000000C               
IO$M_DSABLMBX  = 00000400               IO$M_SETFNCT   = 00000200               IO$V_INHRETRY  = 0000000F               
IO$M_DSABL_ALT = 00001000               IO$M_SETPOOLSZ = 00000400               IO$V_INHSEEK   = 0000000C               
IO$M_ENABLMBX  = 00000080               IO$M_SETPROT   = 00000200               IO$V_INTCLOCK  = 0000000C               
IO$M_ENABL_ALT = 00000800               IO$M_SET_MODEM = 00000400               IO$V_INTERRUPT = 00000006               
IO$M_ENLAMS    = 00000080               IO$M_SHUTDOWN  = 00000080               IO$V_INTSKIP   = 00000008               
IO$M_ESCAPE    = 00004000               IO$M_SKPSECINH = 00000200               IO$V_LASTBLOCK = 0000000A               
IO$M_EXTEND    = 00008000               IO$M_SLAVLOOP  = 00000080               IO$V_LINE_OFF  = 00000009               
IO$M_FCODE     = 0000003F               IO$M_STARTUP   = 00000040               IO$V_LINE_ON   = 0000000B               
IO$M_FORCE     = 00000040               IO$M_SWAP      = 00000400               IO$V_LOOP      = 00000007               
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  61
Symbol table                                                             27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

IO$V_LOOP_EXT  = 0000000C               IO$_CONINTWRITE= 0000003D               IO$_TTYREADALL = 0000003A               
IO$V_LPBEXT    = 0000000D               IO$_CREATE     = 00000033               IO$_TTYREADPALL= 0000003B               
IO$V_LPBINT    = 0000000E               IO$_DEACCESS   = 00000034               IO$_UNLOAD     = 00000001               
IO$V_MAINT     = 00000006               IO$_DELETE     = 00000035               IO$_VIRTUAL    = 0000003F               
IO$V_MAINTLOOP = 00000009               IO$_DIAGNOSE   = 0000001D               IO$_WRITECHECK = 0000000A               
IO$V_MORE      = 00000006               IO$_DRVCLR     = 00000004               IO$_WRITECHECKH= 00000018               
IO$V_MOUNT     = 00000009               IO$_DSE        = 00000015               IO$_WRITEHEAD  = 0000000D               
IO$V_MOVETRACKD= 00000007               IO$_ENDRU1     = 0000003A               IO$_WRITELBLK  = 00000020               
IO$V_MULTIPLE  = 00000008               IO$_ENDRU2     = 0000003B               IO$_WRITEMARK  = 0000001C               
IO$V_NOCTSWAIT = 00000006               IO$_ERASETAPE  = 00000006               IO$_WRITEOF    = 00000028               
IO$V_NODSRWAIT = 00000008               IO$_FORCE      = 00000037               IO$_WRITEPBLK  = 0000000B               
IO$V_NOECHO    = 00000006               IO$_FORMAT     = 0000001E               IO$_WRITERET   = 00000018               
IO$V_NOFILTR   = 00000009               IO$_INITIALIZE = 00000004               IO$_WRITETRACKD= 0000000F               
IO$V_NOFORMAT  = 00000008               IO$_LAMAST     = 00000033               IO$_WRITEVBLK  = 00000030               
IO$V_NOMRSP    = 00000006               IO$_LOADMCODE  = 00000001               IO$_WRTTMKR    = 0000001D               
IO$V_NOW       = 00000006               IO$_LOGICAL    = 0000002F               IOC$GL_AQBLIST   ********   X   04      
IO$V_NOWAIT    = 00000007               IO$_MODIFY     = 00000036               IOC$GL_MUTEX     ********   X   04      
IO$V_OPPOSITE  = 00000009               IO$_MOUNT      = 00000039               IOC$GL_PSBL      ********   X   04      
IO$V_OUTBAND   = 0000000A               IO$_NETCONTROL = 00000036               IOC$VERIFYCHAN   ********   X   04      
IO$V_PACKED    = 00000007               IO$_NOP        = 00000000               IOCHAN         = 00000008               
IO$V_PURGE     = 0000000B               IO$_OFFSET     = 00000006               IPL$_ASTDEL    = 00000002               
IO$V_QUALIFIED = 00000007               IO$_PACKACK    = 00000008               IPL$_HWCLK     = 00000018               
IO$V_RD_COUNT  = 00000008               IO$_PHYSICAL   = 0000001F               IPL$_IOPOST    = 00000004               
IO$V_RD_MEM    = 00000006               IO$_QSTOP      = 00000007               IPL$_MAILBOX   = 0000000B               
IO$V_RD_MODEM  = 00000007               IO$_RDSTATS    = 0000000D               IPL$_POWER     = 0000001F               
IO$V_READATTN  = 00000007               IO$_READHEAD   = 0000000E               IPL$_QUEUEAST  = 00000006               
IO$V_READCSR   = 0000000F               IO$_READINIT   = 0000003C               IPL$_SCHED     = 00000003               
IO$V_REDIRECT  = 00000006               IO$_READLBLK   = 00000021               IPL$_SCS       = 00000008               
IO$V_REFRESH   = 0000000D               IO$_READPBLK   = 0000000C               IPL$_SYNCH     = 00000007               
IO$V_RESET     = 0000000B               IO$_READPRESET = 00000019               IPL$_TIMER     = 00000007               
IO$V_REVERSE   = 00000006               IO$_READPROMPT = 00000037               IRP$B_C          00000040               
IO$V_SETBSIZE  = 00000009               IO$_READTRACKD = 00000010               IRP$B_CARCON     0000003C               
IO$V_SETCUADR  = 00000008               IO$_READVBLK   = 00000031               IRP$B_CD_TYPE    00000066               
IO$V_SETENQCNT = 0000000B               IO$_RECAL      = 00000003               IRP$B_EFN        00000022               
IO$V_SETEVF    = 00000006               IO$_RELEASE    = 00000005               IRP$B_FIPL       00000067               
IO$V_SETFNCT   = 00000009               IO$_REREADN    = 00000016               IRP$B_N          00000041               
IO$V_SETPOOLSZ = 0000000A               IO$_REREADP    = 00000017               IRP$B_PRI        00000023               
IO$V_SETPROT   = 00000009               IO$_RETCENTER  = 00000007               IRP$B_RMOD       0000000B               
IO$V_SET_MODEM = 0000000A               IO$_REWIND     = 00000024               IRP$B_TYPE       0000000A               
IO$V_SHUTDOWN  = 00000007               IO$_REWINDOFF  = 00000022               IRP$C_BT_LEN     0000009C               
IO$V_SKPSECINH = 00000009               IO$_SEARCH     = 00000009               IRP$C_CDRP       0000005C               
IO$V_SLAVLOOP  = 00000007               IO$_SEEK       = 00000002               IRP$C_CD_LEN     0000009C               
IO$V_STARTUP   = 00000006               IO$_SENSECHAR  = 0000001B               IRP$C_LENGTH     0000009C               
IO$V_SWAP      = 0000000A               IO$_SENSEMODE  = 00000027               IRP$K_BT_LEN     0000009C               
IO$V_SYNCH     = 00000009               IO$_SETCHAR    = 0000001A               IRP$K_CDRP       0000005C               
IO$V_TIMED     = 00000007               IO$_SETCLOCK   = 00000037               IRP$K_CD_LEN     0000009C               
IO$V_TRMNOECHO = 0000000C               IO$_SETCLOCKP  = 00000005               IRP$K_LENGTH     0000009C               
IO$V_TYPEAHDCNT= 00000006               IO$_SETMODE    = 00000023               IRP$L_ABCNT      00000040               
IO$V_UNLOOP    = 00000008               IO$_SKIPFILE   = 00000025               IRP$L_ARB        00000058               
IO$V_WORD      = 00000006               IO$_SKIPRECORD = 00000026               IRP$L_AST        00000010               
IO$V_WRTATTN   = 00000008               IO$_SPACEFILE  = 00000002               IRP$L_ASTPRM     00000014               
IO$_ACCESS     = 00000032               IO$_SPACERECORD= 00000009               IRP$L_BCNT       00000032               
IO$_ACPCONTROL = 00000038               IO$_STARTDATA  = 00000038               IRP$L_CDT        00000080               
IO$_AVAILABLE  = 00000011               IO$_STARTDATAP = 00000006               IRP$L_DIAGBUF    0000004C               
IO$_CAMIO      = 00000032               IO$_STARTMPROC = 00000002               IRP$L_DPRMAP     00000044               
IO$_CLEAN      = 0000001E               IO$_STARTSPNDL = 00000019               IRP$L_EXTEND     00000054               
IO$_CONINTREAD = 0000003C               IO$_STOP       = 00000003               IRP$L_FPC        00000068               
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  62
Symbol table                                                             27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

IRP$L_FQBL       00000060               IRP$V_CHAINED  = 00000005               JPI$_ASTLM     = 00000409               
IRP$L_FQFL       0000005C               IRP$V_COMPLX   = 00000003               JPI$_AUTHPRI   = 00000418               
IRP$L_FR3        0000006C               IRP$V_DIAGBUF  = 00000007               JPI$_AUTHPRIV  = 00000412               
IRP$L_FR4        00000070               IRP$V_EXTEND   = 0000000B               JPI$_BIOCNT    = 0000030F               
IRP$L_IOQBL      00000004               IRP$V_FCODE    = 00000000               JPI$_BIOLM     = 00000310               
IRP$L_IOQFL      00000000               IRP$V_FILACP   = 0000000C               JPI$_BUFIO     = 0000040C               
IRP$L_IOSB       00000024               IRP$V_FMOD     = 00000006               JPI$_BYTCNT    = 00000311               
IRP$L_IOST1      00000038               IRP$V_FUNC     = 00000001               JPI$_BYTLM     = 0000031A               
IRP$L_IOST2      0000003C               IRP$V_MBXIO    = 0000000A               JPI$_CPULIM    = 0000040D               
IRP$L_JNL_SEQNO  00000048               IRP$V_MODE     = 00000000               JPI$_CPUTIM    = 00000407               
IRP$L_LAMAST     00000038               IRP$V_MVIRP    = 0000000D               JPI$_CURPRIV   = 00000400               
IRP$L_LAMASTP    0000003C               IRP$V_PAGIO    = 00000002               JPI$_DFPFC     = 00000406               
IRP$L_LBOFF      0000008C               IRP$V_PHYSIO   = 00000008               JPI$_DFWSCNT   = 00000403               
IRP$L_LBUFH_AD   00000088               IRP$V_SWAPIO   = 00000006               JPI$_DIOCNT    = 00000312               
IRP$L_MEDIA      00000038               IRP$V_TERMIO   = 00000009               JPI$_DIOLM     = 00000313               
IRP$L_MSG_BUF    00000078               IRP$V_VIRTUAL  = 00000004               JPI$_DIRIO     = 0000040B               
IRP$L_OBCNT      00000044               IRP$W_ABCNT      00000040               JPI$_EFCS      = 00000317               
IRP$L_PID        0000000C               IRP$W_BCNT       00000032               JPI$_EFCU      = 00000318               
IRP$L_RBOFF      00000094               IRP$W_BOFF       00000030               JPI$_EFWM      = 00000316               
IRP$L_RBUFH_AD   00000090               IRP$W_CDH        0000003E               JPI$_ENQCNT    = 0000031F               
IRP$L_RSPID      0000007C               IRP$W_CDRPSIZE   00000064               JPI$_ENQLM     = 00000320               
IRP$L_RWCPTR     00000084               IRP$W_CHAN       00000028               JPI$_EXCVEC    = 00000100               
IRP$L_SAVD_RTN   00000074               IRP$W_CMR        0000003A               JPI$_FILCNT    = 00000314               
IRP$L_SEGVBN     00000048               IRP$W_CTR        00000038               JPI$_FILLM     = 0000040F               
IRP$L_SEQNUM     00000050               IRP$W_DLR        0000003C               JPI$_FINALEXC  = 00000101               
IRP$L_SVAPTE     0000002C               IRP$W_FUNC       00000020               JPI$_FREP0VA   = 00000404               
IRP$L_TT_TERM    0000003C               IRP$W_OBCNT      00000044               JPI$_FREP1VA   = 00000405               
IRP$L_UBADDR     00000040               IRP$W_SIZE       00000008               JPI$_FREPTECNT = 00000415               
IRP$L_UBARSRCE   00000098               IRP$W_STS        0000002A               JPI$_GPGCNT    = 0000030C               
IRP$L_UCB        0000001C               IRP$W_TT_PRMPT   0000004C               JPI$_GRP       = 00000308               
IRP$L_WIND       00000018               IRP$W_WCR        0000003C               JPI$_IMAGECOUNT= 0000041A               
IRP$L_XCT_LEN    00000098               IRPE$B_TYPE      0000000A               JPI$_IMAGNAME  = 00000207               
IRP$M_BUFIO    = 00000001               IRPE$C_LENGTH    00000058               JPI$_IMAGPRIV  = 00000413               
IRP$M_CHAINED  = 00000020               IRPE$K_LENGTH    00000058               JPI$_JOBPRCCNT = 0000031E               
IRP$M_COMPLX   = 00000008               IRPE$L_BCNT1     00000034               JPI$_LASTADR   = 00000102               
IRP$M_DIAGBUF  = 00000080               IRPE$L_BCNT2     00000040               JPI$_LASTCTL   = 00000209               
IRP$M_EXTEND   = 00000800               IRPE$L_DPRMAP    00000010               JPI$_LASTPCB   = 00000322               
IRP$M_FCODE    = 0000003F               IRPE$L_EXTEND    00000054               JPI$_LASTPHD   = 0000041B               
IRP$M_FILACP   = 00001000               IRPE$L_SVAPTE1   0000002C               JPI$_LOGINTIM  = 00000206               
IRP$M_FUNC     = 00000002               IRPE$L_SVAPTE2   00000038               JPI$_MEM       = 00000307               
IRP$M_MBXIO    = 00000400               IRPE$L_UBADDR    0000000C               JPI$_OWNER     = 00000303               
IRP$M_MVIRP    = 00002000               IRPE$M_EXTEND  = 00000800               JPI$_PAGEFLTS  = 0000040A               
IRP$M_PAGIO    = 00000004               IRPE$V_EXTEND  = 0000000B               JPI$_PAGFILCNT = 00000414               
IRP$M_PHYSIO   = 00000100               IRPE$W_BOFF1     00000030               JPI$_PAGFILLOC = 00000419               
IRP$M_SWAPIO   = 00000040               IRPE$W_BOFF2     0000003C               JPI$_PGFLQUOTA = 0000040E               
IRP$M_TERMIO   = 00000200               IRPE$W_SIZE      00000008               JPI$_PID       = 00000319               
IRP$M_VIRTUAL  = 00000010               IRPE$W_STS       0000002A               JPI$_PPGCNT    = 0000030D               
IRP$Q_NT_PRVMSK  00000040               JPI$C_ADRTYPE  = 00000001               JPI$_PRCCNT    = 0000031B               
IRP$Q_TT_STATE   00000040               JPI$C_CTLTYPE  = 00000002               JPI$_PRCLM     = 00000408               
IRP$S_FCODE    = 00000006               JPI$C_LISTEND  = 00000000               JPI$_PRCNAM    = 0000031C               
IRP$S_FMOD     = 0000000A               JPI$C_PCBTYPE  = 00000003               JPI$_PRI       = 00000302               
IRP$S_LBUFHNDL = 0000000C               JPI$C_PHDTYPE  = 00000004               JPI$_PRIB      = 00000309               
IRP$S_MODE     = 00000002               JPI$_ACCOUNT   = 00000203               JPI$_PROCPRIV  = 00000204               
IRP$S_NT_PRVMSK= 00000008               JPI$_APTCNT    = 0000030A               JPI$_SITESPEC  = 00000208               
IRP$S_TT_STATE = 00000008               JPI$_ASTACT    = 00000300               JPI$_STATE     = 00000306               
IRP$T_LBUFHNDL   0000008C               JPI$_ASTCNT    = 0000030E               JPI$_STS       = 00000305               
IRP$V_BUFIO    = 00000000               JPI$_ASTEN     = 00000301               JPI$_SWPFILLOC = 00000321               
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  63
Symbol table                                                             27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

JPI$_TERMINAL  = 0000031D               KSP_PRCNAM       00000038 R     03      L2S_S_DWI      = 00000001               
JPI$_TMBU      = 0000030B               KSP_PRCNID       00000030 R     03      L2S_S_DWOFF    = 00000001               
JPI$_TQCNT     = 00000315               KSP_SETCHAR      00000473 R     04      L2S_S_DWZ      = 00000001               
JPI$_TQLM      = 00000410               KSP_SETC_COFL    00000547 R     04      L2S_S_IDMD     = 00000001               
JPI$_UIC       = 00000304               KSP_SETC_CONL    000004C4 R     04      L2S_S_LCLAP    = 00000001               
JPI$_USERNAME  = 00000202               KSP_SETC_DABL    000005F7 R     04      L2S_S_SWOFF    = 00000001               
JPI$_VIRTPEAK  = 00000200               KSP_SETC_EABL    000005A5 R     04      L2S_V_BYP      = 0000000B               
JPI$_VOLUMES   = 00000205               KSP_SETLAM       000003C8 R     04      L2S_V_CDWI     = 00000002               
JPI$_WSAUTH    = 00000401               KSP_SETLAMAST    00000AD4 R     04      L2S_V_DENB     = 00000008               
JPI$_WSAUTHEXT = 00000417               KSP_TERMALL      000002FD R     04      L2S_V_DERR     = 00000003               
JPI$_WSEXTENT  = 00000416               KSP_TERMLAMS     000006A7 R     04      L2S_V_DSQ      = 00000005               
JPI$_WSPEAK    = 00000201               KSP_UMINIT       0000003F R     04      L2S_V_DSX      = 00000004               
JPI$_WSQUOTA   = 00000402               KSP_WAITQ        000008BF R     04      L2S_V_DWC      = 00000001               
JPI$_WSSIZE    = 00000411               KS_M_PH        = 00000100               L2S_V_DWI      = 00000006               
KSP_ACPCTL       000002CE R     04      KS_P_CMAX      = 00000040               L2S_V_DWOFF    = 0000000C               
KSP_ACPTYPE    = 000000C8               KS_P_MAXM      = 00000008               L2S_V_DWZ      = 00000000               
KSP_ALOLSB       00000A7B R     04      KS_P_NMAX      = 0000001E               L2S_V_IDMD     = 00000009               
KSP_AQB          00000050 R     03      KS_P_RSWAIT    = 00000064               L2S_V_LCLAP    = 0000000A               
KSP_ARG_KMINIT   00000000 R     03      KS_P_TOMAX     = 00000005               L2S_V_SWOFF    = 0000000D               
KSP_ARG_KMLAMS   00000008 R     03      KS_V_PH        = 00000008               LAMS_M_DMDENB  = 01000000               
KSP_CAMIRP       0000023D R     04      KS_W_CDH         00000008               LAMS_M_HDI     = 02000000               
KSP_CANLAM       00000436 R     04      KS_W_CMR         00000006               LAMS_M_NMASK   = 00FFFFFF               
KSP_CANLAMAST    00000B41 R     04      KS_W_CTR         00000000               LAMS_S_DMDENB  = 00000001               
KSP_DBDMANDS     00000A15 R     04      KS_W_DCR         0000000E               LAMS_S_HDI     = 00000001               
KSP_DEACCESS     0000032A R     04      KS_W_DFR         0000000C               LAMS_S_NMASK   = 00000018               
KSP_DEALSB       00000AAF R     04      KS_W_DLR         0000000A               LAMS_V_DMDENB  = 00000018               
KSP_DELAMAST     00000BE1 R     04      KS_W_MAE         00000018               LAMS_V_HDI     = 00000019               
KSP_DISMISS      00000768 R     04      KS_W_PES         00000004               LAMS_V_NMASK   = 00000000               
KSP_DMDAST       0000072E R     04      KS_W_RMA         0000001C               LIB$SIGNAL       ********   X   04      
KSP_DMDSLOOP     0000073D R     04      KS_W_SES         00000002               LSB_B_LGN        0000000B               
KSP_DMDXHAND     0000080E R     04      KS_W_TMA         0000001A               LSB_B_TYPE       0000000A               
KSP_DMDXHNID     000007F9 R     04      KS_W_WCR         0000001E               LSB_K_LENGTH     00000070               
KSP_ENDMANDS     000009A0 R     04      KS_X_ERLS      = 00000001               LSB_K_NLMAX    = 00000018               
KSP_ENLAMS       0000061F R     04      KS_X_LAMS      = 00000001               LSB_L_LAMLST     00000010               
KSP_FLUSHAST     00000B91 R     04      KS_X_MULTI     = 00000001               LSB_L_LPEND      00000004               
KSP_FLUSHCSU     000006FA R     04      KS_X_PFORM     = 00000000               LSB_L_STS        00000000               
KSP_HSU          0000005A R     03      KS_X_SH        = 00000001               LSB_L_UCB        0000000C               
KSP_HSUCHAN      00000058 R     03      L2S_M_BYP      = 00000800               LSB_W_SIZE       00000008               
KSP_HSUUCB       00000054 R     03      L2S_M_CDWI     = 00000004               MAE_M_RMA      = 00003000               
KSP_JPILST       00000010 R     03      L2S_M_DENB     = 00000100               MAE_M_TMA      = 0000C000               
KSP_KMCALL       00000073 R     04      L2S_M_DERR     = 00000008               MAE_S_RMA      = 00000002               
KSP_KMCAMIRP     00000236 R     04      L2S_M_DSQ      = 00000020               MAE_S_TMA      = 00000002               
KSP_KMEXHAND     00000099 R     04      L2S_M_DSX      = 00000010               MAE_V_RMA      = 0000000C               
KSP_KMINIT       0000014C R     04      L2S_M_DWC      = 00000002               MAE_V_TMA      = 0000000E               
KSP_KMXHNID      00000084 R     04      L2S_M_DWI      = 00000040               PCB$B_ASTACT     0000000C               
KSP_LAMAST       0000037B R     04      L2S_M_DWOFF    = 00001000               PCB$B_ASTEN      0000000D               
KSP_LOCCSU       00000A57 R     04      L2S_M_DWZ      = 00000001               PCB$B_PRI        0000000B               
KSP_LOGCTS       000000D7 R     04      L2S_M_IDMD     = 00000200               PCB$B_PRIB       0000002F               
KSP_LOGERR       000000ED R     04      L2S_M_LCLAP    = 00000400               PCB$B_PRIBSAV    00000029               
KSP_LWSBEG       000008BF R     04      L2S_M_SWOFF    = 00002000               PCB$B_PRISAV     00000028               
KSP_LWSEND       00000C09 R     04      L2S_S_BYP      = 00000001               PCB$B_TYPE       0000000A               
KSP_LWSRANGE     00000048 R     03      L2S_S_CDWI     = 00000001               PCB$B_WEFC       0000002E               
KSP_MAIN         00000000 R     04      L2S_S_DENB     = 00000001               PCB$C_LENGTH     0000009C               
KSP_MOUNT        000002B0 R     04      L2S_S_DERR     = 00000001               PCB$K_LENGTH     0000009C               
KSP_PID          0000002C R     03      L2S_S_DSQ      = 00000001               PCB$L_ARB        00000084               
KSP_PIO          00000851 R     04      L2S_S_DSX      = 00000001               PCB$L_ASTQBL     00000014               
KSP_POSTIRP      00000941 R     04      L2S_S_DWC      = 00000001               PCB$L_ASTQFL     00000010               
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  64
Symbol table                                                             27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

PCB$L_DLCKPRI    00000094               PCB$W_DIOLM      00000040               PES_V_BQ       = 0000000E               
PCB$L_EFC2P      00000058               PCB$W_GPGCNT     00000034               PES_V_BTO      = 0000000F               
PCB$L_EFC3P      0000005C               PCB$W_GRP        0000008A               PES_V_BX       = 0000000D               
PCB$L_EFCS       00000050               PCB$W_MEM        00000088               PES_V_ENAGL    = 00000009               
PCB$L_EFCU       00000054               PCB$W_MTXCNT     0000000E               PES_V_NEXTBD   = 00000008               
PCB$L_EFWM       0000004C               PCB$W_PPGCNT     00000036               PR$S_SID_ECO   = 00000009               
PCB$L_IPAST      00000098               PCB$W_PRCCNT     00000042               PR$S_SID_PL    = 00000003               
PCB$L_JIB        00000078               PCB$W_SIZE       00000008               PR$S_SID_SN    = 0000000C               
PCB$L_LOCKQBL    00000090               PCB$W_STATE      0000002C               PR$S_SID_TYPE  = 00000008               
PCB$L_LOCKQFL    0000008C               PCB$W_TMBU       00000032               PR$V_SID_ECO   = 0000000F               
PCB$L_OWNER      0000001C               PCT_M_BGL      = 00000100               PR$V_SID_PL    = 0000000C               
PCB$L_PHD        00000064               PCT_M_DONE     = 00000080               PR$V_SID_SN    = 00000000               
PCB$L_PHYPCB     00000018               PCT_M_ERR      = 00008000               PR$V_SID_TYPE  = 00000018               
PCB$L_PID        00000060               PCT_M_GO       = 00000001               PR$_ACCR       = 00000029               
PCB$L_PQB        0000004C               PCT_M_IE       = 00000040               PR$_ACCS       = 00000028               
PCB$L_SQBL       00000004               PCT_M_M        = 0000001E               PR$_ASTLVL     = 00000013               
PCB$L_SQFL       00000000               PCT_M_NXM      = 00000200               PR$_CADR       = 00000025               
PCB$L_STS        00000024               PCT_M_QDC      = 00000400               PR$_CAER       = 00000027               
PCB$L_UIC        00000088               PCT_M_RESET    = 00000800               PR$_CMIERR     = 00000017               
PCB$L_WSSWP      00000020               PCT_M_SSP      = 00000020               PR$_CRBT       = 00000043               
PCB$L_WTIME      00000028               PCT_S_DONE     = 00000001               PR$_CSRD       = 0000001D               
PCB$Q_PRIV       0000007C               PCT_S_ERR      = 00000001               PR$_CSRS       = 0000001C               
PCB$S_LNAME    = 00000010               PCT_S_GO       = 00000001               PR$_CSTD       = 0000001F               
PCB$S_PRIV     = 00000008               PCT_S_IE       = 00000001               PR$_CSTS       = 0000001E               
PCB$S_TERMINAL = 00000008               PCT_S_M        = 00000004               PR$_CSWP       = 00000042               
PCB$T_LNAME      00000068               PCT_S_QDC      = 00000001               PR$_ESP        = 00000001               
PCB$T_TERMINAL   00000044               PCT_S_RESET    = 00000001               PR$_ICCS       = 00000018               
PCB$V_ASTPEN   = 00000011               PCT_S_SSP      = 00000001               PR$_ICR        = 0000001A               
PCB$V_BATCH    = 0000000E               PCT_V_BGL      = 00000008               PR$_IPL        = 00000012               
PCB$V_DELPEN   = 00000001               PCT_V_DONE     = 00000007               PR$_ISP        = 00000004               
PCB$V_DISAWS   = 00000018               PCT_V_ERR      = 0000000F               PR$_KSP        = 00000000               
PCB$V_FORCPEN  = 00000002               PCT_V_GO       = 00000000               PR$_MAPEN      = 00000038               
PCB$V_HIBER    = 00000013               PCT_V_IE       = 00000006               PR$_MCESR      = 00000026               
PCB$V_INQUAN   = 00000003               PCT_V_M        = 00000001               PR$_MCTL1      = 00000044               
PCB$V_LOGIN    = 00000014               PCT_V_NXM      = 00000009               PR$_MCTL2      = 00000045               
PCB$V_NETWRK   = 00000015               PCT_V_QDC      = 0000000A               PR$_MDCR1      = 00000049               
PCB$V_NOACNT   = 0000000F               PCT_V_RESET    = 0000000B               PR$_MEAR       = 00000048               
PCB$V_NODELET  = 00000017               PCT_V_SSP      = 00000005               PR$_MECCR      = 0000004B               
PCB$V_PHDRES   = 00000012               PES_M_BC       = 0000007F               PR$_MEDR       = 0000004A               
PCB$V_PSWAPM   = 00000004               PES_M_BD       = 00000080               PR$_MGEN       = 00000046               
PCB$V_PWRAST   = 00000016               PES_M_BDIE     = 00000400               PR$_MTBER      = 00000047               
PCB$V_RES      = 00000000               PES_M_BQ       = 00004000               PR$_NICR       = 00000019               
PCB$V_RESPEN   = 00000005               PES_M_BTO      = 00008000               PR$_P0BR       = 00000008               
PCB$V_SSFEXC   = 00000006               PES_M_BX       = 00002000               PR$_P0LR       = 00000009               
PCB$V_SSFEXCE  = 00000007               PES_M_ENAGL    = 00000200               PR$_P1BR       = 0000000A               
PCB$V_SSFEXCS  = 00000008               PES_M_NEXTBD   = 00000100               PR$_P1LR       = 0000000B               
PCB$V_SSFEXCU  = 00000009               PES_S_BC       = 00000007               PR$_PAMACC     = 00000040               
PCB$V_SSRWAIT  = 0000000A               PES_S_BD       = 00000001               PR$_PAMLOC     = 00000041               
PCB$V_SUSPEN   = 0000000B               PES_S_BDIE     = 00000001               PR$_PCBB       = 00000010               
PCB$V_SWPVBN   = 00000010               PES_S_BQ       = 00000001               PR$_PME        = 0000003D               
PCB$V_WAKEPEN  = 0000000C               PES_S_BTO      = 00000001               PR$_RXCS       = 00000020               
PCB$V_WALL     = 0000000D               PES_S_BX       = 00000001               PR$_RXDB       = 00000021               
PCB$W_APTCNT     00000030               PES_S_ENAGL    = 00000001               PR$_SBIER      = 00000034               
PCB$W_ASTCNT     00000038               PES_S_NEXTBD   = 00000001               PR$_SBIFS      = 00000030               
PCB$W_BIOCNT     0000003A               PES_V_BC       = 00000000               PR$_SBIMT      = 00000033               
PCB$W_BIOLM      0000003C               PES_V_BD       = 00000007               PR$_SBIQC      = 00000036               
PCB$W_DIOCNT     0000003E               PES_V_BDIE     = 0000000A               PR$_SBIS       = 00000031               
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  65
Symbol table                                                             27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

PR$_SBISC      = 00000032               PSL$V_CURMOD   = 00000018               SDM_L_SGL        00000004               
PR$_SBITA      = 00000035               PSL$V_DV       = 00000007               SES_M_DERR     = 00000800               
PR$_SBR        = 0000000C               PSL$V_FPD      = 0000001B               SES_M_ERC      = 00000007               
PR$_SCBB       = 00000011               PSL$V_FU       = 00000006               SES_M_ERR      = 00001000               
PR$_SID        = 0000003E               PSL$V_IPL      = 00000010               SES_M_LPE      = 00000400               
PR$_SID_TYP730 = 00000003               PSL$V_IS       = 0000001A               SES_M_LSYN     = 00000010               
PR$_SID_TYP750 = 00000002               PSL$V_IV       = 00000005               SES_M_PH       = 00000100               
PR$_SID_TYP780 = 00000001               PSL$V_N        = 00000003               SES_M_REN      = 00000008               
PR$_SID_TYP7VV = 00000004               PSL$V_PRVMOD   = 00000016               SES_M_SQ       = 00004000               
PR$_SID_TYPMAX = 00000004               PSL$V_TBIT     = 00000004               SES_M_STE      = 00008000               
PR$_SIRR       = 00000014               PSL$V_TP       = 0000001E               SES_M_SX       = 00002000               
PR$_SISR       = 00000015               PSL$V_V        = 00000001               SES_M_SYNC     = 00000020               
PR$_SLR        = 0000000D               PSL$V_Z        = 00000002               SES_M_TMO      = 00000040               
PR$_SSP        = 00000002               RTB_K_LENGTH     00000008               SES_M_TPE      = 00000200               
PR$_TBCHK      = 0000003F               RTB_W_CDH        00000006               SES_S_DERR     = 00000001               
PR$_TBDR       = 00000024               RTB_W_CMR        00000002               SES_S_ERC      = 00000003               
PR$_TBIA       = 00000039               RTB_W_CTR        00000000               SES_S_ERR      = 00000001               
PR$_TBIS       = 0000003A               RTB_W_DLR        00000004               SES_S_LPE      = 00000001               
PR$_TODR       = 0000001B               SCH$GL_CURPCB    ********   X   04      SES_S_LSYN     = 00000001               
PR$_TXCS       = 00000022               SCH$GL_PCBVEC    ********   X   04      SES_S_PH       = 00000001               
PR$_TXDB       = 00000023               SCH$LOCKR        ********   X   04      SES_S_REN      = 00000001               
PR$_UBRESET    = 00000037               SCH$LOCKW        ********   X   04      SES_S_SQ       = 00000001               
PR$_USP        = 00000003               SCH$QAST         ********   X   04      SES_S_STE      = 00000001               
PR$_WCSA       = 0000002C               SCH$UNLOCK       ********   X   04      SES_S_SX       = 00000001               
PR$_WCSD       = 0000002D               SCT_M_BGL      = 00000100               SES_S_SYNC     = 00000001               
PRCNID         = 00000004               SCT_M_DONE     = 00000080               SES_S_TMO      = 00000001               
PRI$_IOCOM     = 00000001               SCT_M_ERR      = 00008000               SES_S_TPE      = 00000001               
PRI$_NULL      = 00000000               SCT_M_GO       = 00000001               SES_V_DERR     = 0000000B               
PRI$_RESAVL    = 00000002               SCT_M_IE       = 00000040               SES_V_ERC      = 00000000               
PRI$_TICOM     = 00000004               SCT_M_M        = 0000001E               SES_V_ERR      = 0000000C               
PRI$_TIMER     = 00000002               SCT_M_NXM      = 00000200               SES_V_LPE      = 0000000A               
PRI$_TOCOM     = 00000003               SCT_M_QDC      = 00000400               SES_V_LSYN     = 00000004               
PSL$C_EXEC     = 00000001               SCT_M_RESET    = 00000800               SES_V_PH       = 00000008               
PSL$C_KERNEL   = 00000000               SCT_M_SDR      = 00007000               SES_V_REN      = 00000003               
PSL$C_SUPER    = 00000002               SCT_M_SSP      = 00000020               SES_V_SQ       = 0000000E               
PSL$C_USER     = 00000003               SCT_S_DONE     = 00000001               SES_V_STE      = 0000000F               
PSL$M_C        = 00000001               SCT_S_ERR      = 00000001               SES_V_SX       = 0000000D               
PSL$M_CM       = 80000000               SCT_S_GO       = 00000001               SES_V_SYNC     = 00000005               
PSL$M_CURMOD   = 03000000               SCT_S_IE       = 00000001               SES_V_TMO      = 00000006               
PSL$M_DV       = 00000080               SCT_S_M        = 00000004               SES_V_TPE      = 00000009               
PSL$M_FPD      = 08000000               SCT_S_QDC      = 00000001               SH$_BCNT       = 08018813               
PSL$M_FU       = 00000040               SCT_S_RESET    = 00000001               SH$_LAMFAIL    = 08019802               
PSL$M_IPL      = 001F0000               SCT_S_SDR      = 00000003               SH$_NOLAMSUP   = 08019000               
PSL$M_IS       = 04000000               SCT_S_SSP      = 00000001               SH$_RAWSCT     = 08018803               
PSL$M_IV       = 00000020               SCT_V_BGL      = 00000008               SH$_RAWSES     = 0801880B               
PSL$M_N        = 00000008               SCT_V_DONE     = 00000007               SH$_RBCNT      = 0801881B               
PSL$M_PRVMOD   = 00C00000               SCT_V_ERR      = 0000000F               SH$_SCCFAIL    = 0801980A               
PSL$M_SAFBITS  = 000037FF               SCT_V_GO       = 00000000               SH$_SCTBGL     = 0801884B               
PSL$M_TBIT     = 00000010               SCT_V_IE       = 00000006               SH$_SCTERR     = 0801885B               
PSL$M_TP       = 40000000               SCT_V_M        = 00000001               SH$_SCTLIST    = 08018843               
PSL$M_V        = 00000002               SCT_V_NXM      = 00000009               SH$_SCTNXM     = 08018853               
PSL$M_Z        = 00000004               SCT_V_QDC      = 0000000A               SH$_SCTPIO     = 08018823               
PSL$S_CURMOD   = 00000002               SCT_V_RESET    = 0000000B               SH$_SCTQSCAN   = 0801882B               
PSL$S_IPL      = 00000005               SCT_V_SDR      = 0000000C               SH$_SCTQSTOP   = 08018833               
PSL$S_PRVMOD   = 00000002               SCT_V_SSP      = 00000005               SH$_SCTSTOP    = 0801883B               
PSL$V_C        = 00000000               SDM_K_LENGTH     00000008               SH$_SESDERR    = 08018883               
PSL$V_CM       = 0000001F               SDM_L_SCA        00000000               SH$_SESERR     = 0801888B               
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  66
Symbol table                                                             27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

SH$_SESLPE     = 0801887B               SS$_CVTUNGRANT = 0000213C               SS$_FCPREPSTN  = 00000988               
SH$_SESLSYNC   = 08018863               SS$_DATACHECK  = 0000005C               SS$_FCPREWNDERR= 00000890               
SH$_SESNOSQ    = 080188AB               SS$_DATAOVERUN = 00000838               SS$_FCPSPACERR = 00000898               
SH$_SESNOSX    = 0801889B               SS$_DBGOPCREQ  = 000006A1               SS$_FCPWRITERR = 000008A0               
SH$_SESSQ      = 080188A3               SS$_DEADLOCK   = 00000E0A               SS$_FILACCERR  = 0000009C               
SH$_SESSTE     = 080188B3               SS$_DEBUG      = 0000046C               SS$_FILALRACC  = 000000A4               
SH$_SESSX      = 08018893               SS$_DECOVF     = 000004A4               SS$_FILELOCKED = 000008A8               
SH$_SESTMO     = 0801886B               SS$_DEVACTIVE  = 000002C4               SS$_FILENUMCHK = 000008B0               
SH$_SESTPE     = 08018873               SS$_DEVALLOC   = 00000840               SS$_FILEPURGED = 00000679               
SIGLST         = 0000000C               SS$_DEVALRALLOC= 00000641               SS$_FILESEQCHK = 000008B8               
SIZ...         = 00000001               SS$_DEVASSIGN  = 00000848               SS$_FILESTRUCT = 000008C0               
SS$_ABORT      = 0000002C               SS$_DEVCMDERR  = 0000032C               SS$_FILNOTACC  = 000000AC               
SS$_ACCONFLICT = 00000800               SS$_DEVFOREIGN = 00000064               SS$_FILNOTCNTG = 000002AC               
SS$_ACCVIO     = 0000000C               SS$_DEVICEFULL = 00000850               SS$_FILNOTEXP  = 000000B4               
SS$_ACPVAFUL   = 000002FC               SS$_DEVINACT   = 000020D4               SS$_FLTDIV     = 00000494               
SS$_ALRDYCLOSED= 000006A9               SS$_DEVMOUNT   = 0000006C               SS$_FLTDIV_F   = 000004BC               
SS$_ARTRES     = 00000474               SS$_DEVNOTALLOC= 00000858               SS$_FLTOVF     = 0000048C               
SS$_ASTFLT     = 0000040C               SS$_DEVNOTDISM = 000021B4               SS$_FLTOVF_F   = 000004B4               
SS$_BADATTRIB  = 00000034               SS$_DEVNOTMBX  = 00000074               SS$_FLTUND     = 0000049C               
SS$_BADCHKSUM  = 00000808               SS$_DEVNOTMOUNT= 0000007C               SS$_FLTUND_F   = 000004C4               
SS$_BADESCAPE  = 0000003C               SS$_DEVOFFLINE = 00000084               SS$_FORCEDERROR= 00002144               
SS$_BADFILEHDR = 00000810               SS$_DEVREQERR  = 00000334               SS$_FORCEDEXIT = 0000217C               
SS$_BADFILENAME= 00000818               SS$_DGQINCOMP  = 000009C0               SS$_FORMAT     = 000000BC               
SS$_BADFILEVER = 00000820               SS$_DIRALLOC   = 000009C8               SS$_GPTFULL    = 000000C4               
SS$_BADIMGHDR  = 00000044               SS$_DIRFULL    = 00000860               SS$_GSDFULL    = 000000CC               
SS$_BADIRECTORY= 00000828               SS$_DIRNOTEMPTY= 00002174               SS$_HANGUP     = 000002CC               
SS$_BADISD     = 00002004               SS$_DISCONNECT = 0000204C               SS$_HEADERFULL = 000008C8               
SS$_BADPARAM   = 00000014               SS$_DRVERR     = 0000008C               SS$_IDMISMATCH = 000003F4               
SS$_BADQFILE   = 000003BC               SS$_DUPDSKQUOTA= 000003DC               SS$_IDXFILEFULL= 000008D0               
SS$_BADQUEUEHDR= 00000394               SS$_DUPFILENAME= 00000868               SS$_ILLBLKNUM  = 000000DC               
SS$_BADRCT     = 0000216C               SS$_DUPLNAM    = 00000094               SS$_ILLCDTST   = 00002154               
SS$_BADSTACK   = 000002B4               SS$_DUPUNIT    = 000021C4               SS$_ILLCNTRFUNC= 000000E4               
SS$_BADVEC     = 00002064               SS$_ENDOFFILE  = 00000870               SS$_ILLEFC     = 000000EC               
SS$_BEGOFFILE  = 00000938               SS$_ENDOFTAPE  = 00000878               SS$_ILLIOFUNC  = 000000F4               
SS$_BLOCKCNTERR= 00000940               SS$_ENDOFUSRLBL= 00000970               SS$_ILLLBLAST  = 00000968               
SS$_BREAK      = 00000414               SS$_ENDOFVOLUME= 000009A0               SS$_ILLPAGCNT  = 000000FC               
SS$_BUFBYTALI  = 0000030C               SS$_EOTIN      = 00000C03               SS$_ILLSELF    = 0000214C               
SS$_BUFFEROVF  = 00000601               SS$_EXASTLM    = 00002A04               SS$_ILLSEQOP   = 000002DC               
SS$_BUFNOTALIGN= 00000324               SS$_EXBIOLM    = 00002A0C               SS$_ILLSER     = 00000104               
SS$_BUGCHECK   = 000002A4               SS$_EXBYTLM    = 00002A14               SS$_ILLUSRLBLRD= 00000958               
SS$_CANCEL     = 00000830               SS$_EXCPUTIM   = 000020AC               SS$_ILLUSRLBLWT= 00000960               
SS$_CHAINW     = 00000C0B               SS$_EXDEPTH    = 00000E1A               SS$_INCOMPAT   = 00000699               
SS$_CHANINTLK  = 0000004C               SS$_EXDIOLM    = 00002A1C               SS$_INCVOLLABEL= 0000010C               
SS$_CLEARED    = 00002104               SS$_EXDISKQUOTA= 000003EC               SS$_INHCHME    = 000004D4               
SS$_CLIFRCEXT  = 00000980               SS$_EXENQLM    = 00002A44               SS$_INHCHMK    = 000004CC               
SS$_CMODSUPR   = 0000041C               SS$_EXFILLM    = 00002A24               SS$_INSFARG    = 00000114               
SS$_CMODUSER   = 00000424               SS$_EXGBLPAGFIL= 00002164               SS$_INSFBUFDP  = 0000033C               
SS$_COMMHARD   = 000020C4               SS$_EXPGFLQUOTA= 00002A2C               SS$_INSFCDT    = 000021AC               
SS$_COMPAT     = 0000042C               SS$_EXPORTQUOTA= 000003AC               SS$_INSFMAPREG = 00000344               
SS$_CONCEALED  = 00000691               SS$_EXPRCLM    = 00002A34               SS$_INSFMEM    = 00000124               
SS$_CONNECFAIL = 000020DC               SS$_EXQUOTA    = 0000001C               SS$_INSFRAME   = 0000012C               
SS$_CONTINUE   = 00000001               SS$_EXQUOTAEND = 00002AFF               SS$_INSFSPTS   = 00002044               
SS$_CONTROLC   = 00000651               SS$_EXQUOTASTRT= 00002A00               SS$_INSFWSL    = 0000011C               
SS$_CONTROLO   = 00000609               SS$_EXTIDXFILE = 00000880               SS$_INTDIV     = 00000484               
SS$_CONTROLY   = 00000611               SS$_EXTQELM    = 00002A3C               SS$_INTERLOCK  = 0000038C               
SS$_CREATED    = 00000619               SS$_FACILITY   = 00000000               SS$_INTOVF     = 0000047C               
SS$_CTRLERR    = 00000054               SS$_FCPREADERR = 00000888               SS$_INVLOGIN   = 0000209C               
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  67
Symbol table                                                             27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

SS$_IVADDR     = 00000134               SS$_NOLISTENER = 0000215C               SS$_NOVOLPRO   = 000028AC               
SS$_IVBUFLEN   = 0000034C               SS$_NOLOCKID   = 00000E12               SS$_NOWORLD    = 00002884               
SS$_IVCHAN     = 0000013C               SS$_NOLOGNAM   = 000001BC               SS$_NOWRT      = 000003FC               
SS$_IVCHAR     = 000020CC               SS$_NOLOG_IO   = 0000283C               SS$_OPCCUS     = 00000434               
SS$_IVCHNLSEC  = 0000026C               SS$_NOMBX      = 00000274               SS$_OPCDEC     = 0000043C               
SS$_IVDEVNAM   = 00000144               SS$_NOMOREFILES= 00000930               SS$_OPINCOMPL  = 000002D4               
SS$_IVGSDNAM   = 0000014C               SS$_NOMOREPROC = 000009A8               SS$_OPRABORT   = 000020B4               
SS$_IVLOCKID   = 00002124               SS$_NOMOUNT    = 0000288C               SS$_OVRDSKQUOTA= 00000669               
SS$_IVLOGNAM   = 00000154               SS$_NONETMBX   = 000028A4               SS$_PAGOWNVIO  = 000001EC               
SS$_IVLOGTAB   = 0000015C               SS$_NONEXDRV   = 000001C4               SS$_PAGRDERR   = 00000444               
SS$_IVLVEC     = 0000203C               SS$_NONEXPR    = 000008E8               SS$_PARITY     = 000001F4               
SS$_IVMODE     = 00000354               SS$_NONLOCAL   = 000008F0               SS$_PARNOTGRANT= 00002134               
SS$_IVPROTECT  = 000002F4               SS$_NOOPER     = 00002894               SS$_PARTESCAPE = 000001FC               
SS$_IVQUOTAL   = 00000164               SS$_NOP1VA     = 00002024               SS$_PARTMAPPED = 00000E22               
SS$_IVSECFLG   = 0000016C               SS$_NOPFNMAP   = 000028D4               SS$_PATHLOST   = 000020FC               
SS$_IVSECIDCTL = 000002E4               SS$_NOPHY_IO   = 000028B4               SS$_PFMBSY     = 00000204               
SS$_IVSSRQ     = 00000174               SS$_NOPRIV     = 00000024               SS$_PLHLDR     = 00000404               
SS$_IVSTSFLG   = 0000017C               SS$_NOPRIVEND  = 000029FF               SS$_POWERFAIL  = 00000364               
SS$_IVTIME     = 00000184               SS$_NOPRIVSTRT = 00002800               SS$_PRIVINSTALL= 00002054               
SS$_JBCERROR   = 0000218C               SS$_NOPRMCEB   = 00002854               SS$_PROTINSTALL= 0000205C               
SS$_LCKPAGFUL  = 000000D4               SS$_NOPRMGBL   = 000028C4               SS$_PROTOCOL   = 00002074               
SS$_LENVIO     = 0000018C               SS$_NOPRMMBX   = 0000285C               SS$_PSTFULL    = 0000020C               
SS$_LINEABRT   = 00000E02               SS$_NOPSWAPM   = 00002864               SS$_QFACTIVE   = 000003CC               
SS$_LINKABORT  = 000020E4               SS$_NOQFILE    = 000003C4               SS$_QFNOTACT   = 000003D4               
SS$_LINKDISCON = 000020EC               SS$_NORMAL     = 00000001               SS$_RADRMOD    = 0000044C               
SS$_LINKEXIT   = 000020F4               SS$_NOSETPRV   = 00002874               SS$_RDDELDATA  = 00000661               
SS$_LKWSETFUL  = 00000194               SS$_NOSHMBLOCK = 000003B4               SS$_REJECT     = 00000294               
SS$_MBFULL     = 000008D8               SS$_NOSHMEM    = 000028DC               SS$_RELINK     = 0000200C               
SS$_MBTOOSML   = 0000019C               SS$_NOSHRIMG   = 000021BC               SS$_REMOTE     = 00000649               
SS$_MCHECK     = 000002BC               SS$_NOSIGNAL   = 00000900               SS$_REMRSRC    = 0000206C               
SS$_MCNOTVALID = 0000035C               SS$_NOSLOT     = 0000039C               SS$_RESET      = 0000210C               
SS$_MEDOFL     = 000001A4               SS$_NOSOLICIT  = 00000284               SS$_RESIGNAL   = 00000918               
SS$_MSGNOTFND  = 00000621               SS$_NOSUCHDEV  = 00000908               SS$_RESULTOVF  = 00000214               
SS$_MTLBLLONG  = 00000304               SS$_NOSUCHFILE = 00000910               SS$_ROPRAND    = 00000454               
SS$_MULTRMS    = 0000202C               SS$_NOSUCHNODE = 0000028C               SS$_SECTBLFUL  = 0000021C               
SS$_MUSTCLOSEFL= 00000948               SS$_NOSUCHOBJ  = 000020A4               SS$_SHARTOOBIG = 0000201C               
SS$_NOACNT     = 0000284C               SS$_NOSUCHSEC  = 00000978               SS$_SHMGSNOTMAP= 0000036C               
SS$_NOALLSPOOL = 00002824               SS$_NOSUCHUSER = 00002084               SS$_SHMNOTCNCT = 0000037C               
SS$_NOALTPRI   = 0000286C               SS$_NOSYSGBL   = 000028CC               SS$_SHRIDMISMAT= 000020BC               
SS$_NOAQB      = 00000314               SS$_NOSYSLCK   = 000028F4               SS$_SHUT       = 0000208C               
SS$_NOBUGCHK   = 000028BC               SS$_NOSYSNAM   = 00002814               SS$_SSFAIL     = 0000045C               
SS$_NOBYPASS   = 000028EC               SS$_NOSYSPRV   = 000028E4               SS$_SUBLOCKS   = 0000212C               
SS$_NOCMEXEC   = 0000280C               SS$_NOTALLPRIV = 00000681               SS$_SUBRNG     = 000004AC               
SS$_NOCMKRNL   = 00002804               SS$_NOTAPEOP   = 00000264               SS$_SUPERSEDE  = 00000631               
SS$_NODATA     = 000001AC               SS$_NOTCREATOR = 00000384               SS$_SUSPENDED  = 000003A4               
SS$_NODETACH   = 0000282C               SS$_NOTFILEDEV = 000001CC               SS$_SYNCH      = 00000689               
SS$_NODEVAVL   = 000009B0               SS$_NOTINSTALL = 00002014               SS$_SYSVERDIF  = 00000671               
SS$_NODIAGNOSE = 00002834               SS$_NOTINTBLSZ = 000001D4               SS$_TAPEPOSLOST= 00000224               
SS$_NODISKQUOTA= 000003E4               SS$_NOTLABELMT = 000001DC               SS$_TBIT       = 00000464               
SS$_NOEXQUOTA  = 0000289C               SS$_NOTMODIFIED= 00000659               SS$_THIRDPARTY = 0000207C               
SS$_NOGROUP    = 00002844               SS$_NOTMPMBX   = 0000287C               SS$_TIMEOUT    = 0000022C               
SS$_NOGRPNAM   = 0000281C               SS$_NOTNETDEV  = 000002EC               SS$_TOOMANYLNAM= 00000374               
SS$_NOHANDLER  = 000008F8               SS$_NOTPRINTED = 00002184               SS$_TOOMANYREDS= 0000211C               
SS$_NOHOMEBLK  = 000008E0               SS$_NOTQUEUED  = 000009B8               SS$_TOOMANYVER = 00000990               
SS$_NOIOCHAN   = 000001B4               SS$_NOTRAN     = 00000629               SS$_TOOMUCHDATA= 0000029C               
SS$_NOLICENSE  = 00002194               SS$_NOTSQDEV   = 000001E4               SS$_UNASEFC    = 00000234               
SS$_NOLINKS    = 0000027C               SS$_NOTVOLSET  = 00000998               SS$_UNREACHABLE= 00002094               
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  68
Symbol table                                                             27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

SS$_UNSAFE     = 0000023C               UCB$K_JNL_LEN    000000AE               UCB$L_RQBL       00000004               
SS$_UNSOLICIT  = 00002114               UCB$K_KS_LEN     0000009C               UCB$L_RQFL       00000000               
SS$_UNWIND     = 00000920               UCB$K_LENGTH     00000084               UCB$L_SVAPTE     00000068               
SS$_UNWINDING  = 00000928               UCB$K_MB_LENGTH  000000A0               UCB$L_SVPN       00000064               
SS$_VASFULL    = 00000244               UCB$L_AMB        00000054               UCB$L_TT_DEVDP1  00000080               
SS$_VCBROKEN   = 0000219C               UCB$L_ASTQBL     00000010               UCB$L_VCB        00000030               
SS$_VCCLOSED   = 000021A4               UCB$L_ASTQFL     0000000C               UCB$M_BACKP    = 00000020               
SS$_VECFULL    = 00002034               UCB$L_CPID       0000005C               UCB$M_BSY      = 00000100               
SS$_VECINUSE   = 0000024C               UCB$L_CRB        00000020               UCB$M_CANCEL   = 00000008               
SS$_VOLINV     = 00000254               UCB$L_DDB        00000024               UCB$M_DEADMO   = 00000400               
SS$_WAITUSRLBL = 00000950               UCB$L_DDT        00000078               UCB$M_DELMBX   = 00000002               
SS$_WASCLR     = 00000001               UCB$L_DEVCHAR    00000034               UCB$M_DIAGBUF  = 00000002               
SS$_WASECC     = 00000639               UCB$L_DEVDEPEND  0000003C               UCB$M_DX_WRITE = 00000008               
SS$_WASSET     = 00000009               UCB$L_DEVDEPND2  00000080               UCB$M_ECC      = 00000001               
SS$_WRITLCK    = 0000025C               UCB$L_DMDAST     00000098               UCB$M_ERLOGIP  = 00000004               
SS$_WRONGACP   = 0000031C               UCB$L_DPC        00000090               UCB$M_INT      = 00000002               
STATION        = 00000010               UCB$L_DUETIM     0000005C               UCB$M_INTTYPE  = 00000080               
SUBAD          = 00000014               UCB$L_DX_BFPNT   000000AC               UCB$M_JOB      = 00000001               
SYS$ASSIGN       ********  GX   04      UCB$L_DX_BUF     000000A8               UCB$M_MNTVERIP = 00004000               
SYS$CMKRNL       ********  GX   04      UCB$L_DX_RXDB    000000B0               UCB$M_MOUNTING = 00000200               
SYS$DELPRC       ********  GX   04      UCB$L_EMB        00000088               UCB$M_NOCNVRT  = 00000004               
SYS$FAOL         ********  GX   04      UCB$L_FIRST      00000014               UCB$M_NT_BFROVF= 00000004               
SYS$GETJPI       ********  GX   04      UCB$L_FPC        0000000C               UCB$M_NT_BREAK = 00000020               
SYS$HIBER        ********  GX   04      UCB$L_FQBL       00000004               UCB$M_NT_NAME  = 00000010               
SYS$LKWSET       ********  GX   04      UCB$L_FQFL       00000000               UCB$M_ONLINE   = 00000010               
SYS$QIOW         ********  GX   04      UCB$L_FR3        00000010               UCB$M_PERM_JNL = 00000010               
SYS$SETAST       ********  GX   04      UCB$L_FR4        00000014               UCB$M_POWER    = 00000020               
SYS$SNDERR       ********  GX   04      UCB$L_HSU        00000094               UCB$M_PRMMBX   = 00000001               
SYS$UNWIND       ********  GX   04      UCB$L_IOQBL      00000044               UCB$M_SHMMBX   = 00000008               
UCB$B_AMOD       00000053               UCB$L_IOQFL      00000040               UCB$M_TEMPLATE = 00002000               
UCB$B_CEX        00000087               UCB$L_IRP        0000004C               UCB$M_TIM      = 00000001               
UCB$B_CM1        0000004A               UCB$L_JNL_BCB    00000084               UCB$M_TIMOUT   = 00000040               
UCB$B_CM2        0000004B               UCB$L_JNL_FQBL   00000098               UCB$M_TT_HANGUP= 00000008               
UCB$B_DEVCLASS   00000038               UCB$L_JNL_FQFL   00000094               UCB$M_TT_NOTIF = 00000004               
UCB$B_DEVTYPE    00000039               UCB$L_JNL_QUOT   000000A8               UCB$M_TT_TIMO  = 00000002               
UCB$B_DIPL       00000052               UCB$L_JNL_RUL    00000088               UCB$M_UNLOAD   = 00001000               
UCB$B_DX_SCTCNT  000000B6               UCB$L_JNL_SEQNO  0000003C               UCB$M_VALID    = 00000800               
UCB$B_ERTCNT     00000070               UCB$L_JNL_WQBL   00000090               UCB$M_WRONGVOL = 00008000               
UCB$B_ERTMAX     00000071               UCB$L_JNL_WQFL   0000008C               UCB$S_JNL_NAM  = 0000000C               
UCB$B_FEX        00000086               UCB$L_LINK       0000002C               UCB$S_LNKPRI   = 00000002               
UCB$B_FIPL       0000000B               UCB$L_LOGADR     00000064               UCB$S_LTYPE    = 00000002               
UCB$B_JNL_NAM    0000009C               UCB$L_LSB        00000098               UCB$T_PARTNER    0000000C               
UCB$B_LOCSRV     0000003C               UCB$L_MAXBLOCK   00000094               UCB$V_BACKP    = 00000005               
UCB$B_OFFNDX     000000A4               UCB$L_MB_MBX     0000008C               UCB$V_BSY      = 00000008               
UCB$B_OFFRTC     000000A5               UCB$L_MB_PORT    0000009C               UCB$V_CANCEL   = 00000003               
UCB$B_REMSRV     0000003D               UCB$L_MB_RAST    00000088               UCB$V_DEADMO   = 0000000A               
UCB$B_SECTORS    0000003C               UCB$L_MB_SHB     00000090               UCB$V_DELMBX   = 00000001               
UCB$B_SLAVE      00000084               UCB$L_MB_WAST    00000084               UCB$V_DIAGBUF  = 00000001               
UCB$B_SPR        00000085               UCB$L_MB_WIOQBL  00000098               UCB$V_DX_WRITE = 00000003               
UCB$B_STATE      00000052               UCB$L_MB_WIOQFL  00000094               UCB$V_ECC      = 00000000               
UCB$B_TRACKS     0000003D               UCB$L_MEDIA      0000009C               UCB$V_ERLOGIP  = 00000002               
UCB$B_TYPE       0000000A               UCB$L_NT_DATSSB  00000084               UCB$V_INT      = 00000001               
UCB$B_VERTSZ     0000003F               UCB$L_NT_INTSSB  00000088               UCB$V_INTTYPE  = 00000007               
UCB$C_JNL_LEN    000000AE               UCB$L_OPCNT      00000060               UCB$V_JOB      = 00000000               
UCB$C_LENGTH     00000084               UCB$L_OWNUIC     0000001C               UCB$V_LNKPRI   = 00000006               
UCB$C_LOGLNK   = 00000001               UCB$L_PDT        00000074               UCB$V_LTYPE    = 00000000               
UCB$C_MB_LENGTH  000000A0               UCB$L_PID        00000028               UCB$V_MNTVERIP = 0000000E               
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  69
Symbol table                                                             27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

UCB$V_MOUNTING = 00000009               VCB$B_IBMAPSIZE  00000038               VCB$M_WAIMOUVOL= 00000004               
UCB$V_MSGACK   = 00000004               VCB$B_IBMAPVBN   0000003A               VCB$M_WAIREWIND= 00000008               
UCB$V_MSGFLO   = 00000003               VCB$B_JNL_MODE   00000040               VCB$M_WAIUSRLBL= 00000010               
UCB$V_NOCNVRT  = 00000002               VCB$B_LRU_LIM    00000049               VCB$Q_RETAINMAX  00000070               
UCB$V_NT_BFROVF= 00000002               VCB$B_QNAMECNT   0000000B               VCB$Q_RETAINMIN  00000068               
UCB$V_NT_BREAK = 00000005               VCB$B_RESFILES   0000004F               VCB$S_JNL_IRPS = 00000008               
UCB$V_NT_NAME  = 00000004               VCB$B_SBMAPSIZE  00000039               VCB$S_QNAME    = 00000014               
UCB$V_ONLINE   = 00000004               VCB$B_SBMAPVBN   0000003B               VCB$S_RETAINMAX= 00000008               
UCB$V_PERM_JNL = 00000004               VCB$B_STATUS     0000000B               VCB$S_RETAINMIN= 00000008               
UCB$V_POWER    = 00000005               VCB$B_STATUS2    00000053               VCB$S_VOLNAME  = 0000000C               
UCB$V_PRMMBX   = 00000000               VCB$B_TM         0000002E               VCB$T_QNAME      0000000C               
UCB$V_SEGFLO   = 00000002               VCB$B_TYPE       0000000A               VCB$T_VOLNAME    00000014               
UCB$V_SHMMBX   = 00000003               VCB$B_WINDOW     00000048               VCB$V_CANCELIO = 00000005               
UCB$V_TEMPLATE = 0000000D               VCB$C_COMLEN     00000024               VCB$V_EBCDIC   = 00000005               
UCB$V_TEMPL_BSY= 00000005               VCB$C_JNL_LEN    00000041               VCB$V_EXTFID   = 00000005               
UCB$V_TIM      = 00000000               VCB$C_LENGTH     00000078               VCB$V_GROUP    = 00000006               
UCB$V_TIMOUT   = 00000006               VCB$C_MRKLEN     0000000B               VCB$V_HOMBLKBAD= 00000002               
UCB$V_TT_HANGUP= 00000003               VCB$K_COMLEN     00000024               VCB$V_IDXHDRBAD= 00000003               
UCB$V_TT_NOTIF = 00000002               VCB$K_JNL_LEN    00000041               VCB$V_INTCHG   = 00000004               
UCB$V_TT_TIMO  = 00000001               VCB$K_LENGTH     00000078               VCB$V_JNL_DISK = 00000000               
UCB$V_UNLOAD   = 0000000C               VCB$K_MRKLEN     0000000B               VCB$V_JNL_TAPE = 00000001               
UCB$V_VALID    = 0000000B               VCB$L_AQB        00000010               VCB$V_LOGICEOVS= 00000001               
UCB$V_WRONGVOL = 0000000F               VCB$L_BLOCKBL    00000004               VCB$V_MOUNTVER = 00000002               
UCB$W_BCNT       0000006E               VCB$L_BLOCKFL    00000000               VCB$V_MUSTCLOSE= 00000006               
UCB$W_BCR        000000A6               VCB$L_CACHE      00000058               VCB$V_NOALLOC  = 00000004               
UCB$W_BOFF       0000006C               VCB$L_CUR_FID    00000024               VCB$V_NOCACHE  = 00000001               
UCB$W_BUFQUO     00000018               VCB$L_FCBBL      00000004               VCB$V_NOHDR3   = 00000007               
UCB$W_BYTESTOGO  0000003E               VCB$L_FCBFL      00000000               VCB$V_NOWRITE  = 00000007               
UCB$W_CHARGE     0000004A               VCB$L_FREE       00000040               VCB$V_OVRACC   = 00000001               
UCB$W_CYLINDERS  0000003E               VCB$L_HOME2LBN   00000028               VCB$V_OVREXP   = 00000000               
UCB$W_DA         0000009C               VCB$L_HOMELBN    00000024               VCB$V_OVRLBL   = 00000002               
UCB$W_DC         0000009E               VCB$L_IBMAPLBN   00000030               VCB$V_OVRSETID = 00000003               
UCB$W_DEVBUFSIZ  0000003A               VCB$L_IXHDR2LBN  0000002C               VCB$V_PARTFILE = 00000000               
UCB$W_DEVSTS     0000005A               VCB$L_JNL_CHAR   00000024               VCB$V_STARFILE = 00000008               
UCB$W_DIRSEQ     00000098               VCB$L_JNL_IRPS   0000002C               VCB$V_SYSTEM   = 00000007               
UCB$W_DSTADDR    00000018               VCB$L_JNL_JFTA   00000028               VCB$V_WAIMOUVOL= 00000002               
UCB$W_DX_BCR     000000B4               VCB$L_JNL_JMT    00000034               VCB$V_WAIREWIND= 00000003               
UCB$W_EC1        000000A0               VCB$L_JNL_WCBBL  0000003C               VCB$V_WAIUSRLBL= 00000004               
UCB$W_EC2        000000A2               VCB$L_JNL_WCBFL  00000038               VCB$V_WRITETHRU= 00000000               
UCB$W_ERRCNT     00000072               VCB$L_MAXFILES   00000044               VCB$V_WRITE_IF = 00000000               
UCB$W_FUNC       0000008E               VCB$L_MVL        00000034               VCB$V_WRITE_SM = 00000001               
UCB$W_JNL_ID     000000AC               VCB$L_QUOCACHE   0000005C               VCB$W_CLUSTER    0000003C               
UCB$W_MB_SEED    00000000               VCB$L_QUOTAFCB   00000054               VCB$W_CUR_NUM    00000024               
UCB$W_MSGCNT     00000016               VCB$L_RVT        00000020               VCB$W_CUR_SEQ    00000026               
UCB$W_MSGMAX     00000014               VCB$L_SBMAPLBN   00000034               VCB$W_EXTEND     0000003E               
UCB$W_NT_CHAN    0000008C               VCB$L_SERIALNUM  00000064               VCB$W_FILEPROT   0000004A               
UCB$W_OFFSET     0000009A               VCB$L_START_FID  00000028               VCB$W_MCOUNT     0000004C               
UCB$W_REFC       00000050               VCB$L_ST_RECORD  00000030               VCB$W_MODE       0000002C               
UCB$W_RWAITCNT   0000004A               VCB$L_USRLBLAST  00000044               VCB$W_PENDERR    00000062               
UCB$W_SIZE       00000008               VCB$L_VPBL       00000040               VCB$W_QUOSIZE    00000060               
UCB$W_SRCADDR    0000001A               VCB$L_VPFL       0000003C               VCB$W_RECORDSZ   00000050               
UCB$W_STS        00000058               VCB$L_WCB        00000038               VCB$W_RVN        0000000E               
UCB$W_UNIT       00000048               VCB$M_CANCELIO = 00000020               VCB$W_SIZE       00000008               
UCB$W_VPROT      0000001A               VCB$M_JNL_DISK = 00000001               VCB$W_START_NUM  00000028               
VCB$B_BLOCKFACT  00000052               VCB$M_JNL_TAPE = 00000002               VCB$W_START_SEQ  0000002A               
VCB$B_CUR_RVN    0000002F               VCB$M_MUSTCLOSE= 00000040               VCB$W_TRANS      0000000C               
VCB$B_EOFDELTA   0000004E               VCB$M_NOWRITE  = 00000080               VEC$B_DATAPATH   00000013               
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  70
Symbol table                                                             27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)

VEC$B_NUMREG     00000012               
VEC$C_LENGTH     00000024               
VEC$K_LENGTH     00000024               
VEC$L_ADP        00000014               
VEC$L_IDB        00000008               
VEC$L_INITIAL    0000000C               
VEC$L_START      0000001C               
VEC$L_UNITDISC   00000020               
VEC$L_UNITINIT   00000018               
VEC$M_LWAE     = 00000020               
VEC$M_MAPLOCK  = 00008000               
VEC$M_PATHLOCK = 00000080               
VEC$Q_DISPATCH   00000000               
VEC$S_DATAPATH = 00000005               
VEC$S_DISPATCH = 00000008               
VEC$S_MAPREG   = 0000000F               
VEC$V_DATAPATH = 00000000               
VEC$V_LWAE     = 00000005               
VEC$V_MAPLOCK  = 0000000F               
VEC$V_MAPREG   = 00000000               
VEC$V_PATHLOCK = 00000007               
VEC$W_MAPREG     00000010               

                                                +----------------+
                                                ! Psect synopsis !
                                                +----------------+

PSECT name                      Allocation          PSECT No.  Attributes     
----------                      ----------          ---------  ----------     
.  ABS  .                       00000000  (    0.)  00 (  0.)  NOPIC   USR   CON   ABS   LCL NOSHR NOEXE NORD  NOWRT NOVEC BYTE  
. BLANK .                       00000000  (    0.)  01 (  1.)  NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT NOVEC BYTE  
$ABS$                           000000B8  (  184.)  02 (  2.)  NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT NOVEC BYTE  
$DATA                           0000006B  (  107.)  03 (  3.)  NOPIC   USR   CON   REL   LCL NOSHR NOEXE   RD    WRT NOVEC BYTE  
$CODE                           00000C09  ( 3081.)  04 (  4.)  NOPIC   USR   CON   REL   LCL   SHR   EXE   RD  NOWRT NOVEC BYTE  

                                             +------------------------+
                                             ! Performance indicators !
                                             +------------------------+

Phase                    Page faults    CPU Time       Elapsed Time   
-----                    -----------    --------       ------------   
Initialization                   26     00:00:00.05    00:00:00.14
Command processing               44     00:00:00.26    00:00:00.55
Pass 1                         1189     00:00:29.59    00:00:31.36
Symbol table sort                 0     00:00:02.98    00:00:02.98
Pass 2                          633     00:00:07.03    00:00:07.38
Symbol table output               3     00:00:00.95    00:00:00.98
Psect synopsis output             4     00:00:00.03    00:00:00.03
Cross-reference output            0     00:00:00.00    00:00:00.00
Assembler run totals           1904     00:00:40.89    00:00:43.42

The working set limit was 1024 pages.
188385 bytes (368 pages) of virtual memory were used to buffer the intermediate code.
There were 100 pages of symbol table space allocated to hold 1903 non-local and 105 local symbols.
2595 source lines were read in Pass 1, producing 24 object records in Pass 2.
78 pages of virtual memory were used to define 70 macros.
KSCAMACP                        KS 2050 SERIES CAMAC ACP                 27-APR-1983 10:14:27  VAX-11 Macro V03-00         Page  71
VAX-11 Macro Run Statistics                                              27-APR-1983 10:12:55  SYS$SYSDEVICE:[CAMAC.SOURCE]KSCAMA(1)


                                            +--------------------------+
                                            ! Macro library statistics !
                                            +--------------------------+

Macro library name                           Macros defined      
------------------                           --------------      
SYS$SYSDEVICE:[CAMAC.SOURCE]CAMDEF.MLB;1               18        
SYS$SYSROOT:[SYSLIB]LIB.MLB;1                          17        
SYS$SYSROOT:[SYSLIB]STARLET.MLB;1                      26        
TOTALS (all libraries)                                 61        

2412 GETS were required to define 61 macros.

There were no errors, warnings or information messages.

/OBJ=SHCAMACP/LIST=SHCAMACP KSCAMACP.MAR/UPDATE=SHCAMACP.SLP
