CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page   0
Table of contents

    (1)        6        CAMAC ACCESS LIBRARY HEADER
    (1)       87        SYSTEM AND CAMAC DEFS
    (1)      103        CAMAC PROCEDURE VECTOR SECTION
    (1)      124        CAM$DCLST, DECLARE COMMAND LIST PROCEDUR
    (1)      281        CAM$LSTATE, LIST STATE/STATUS MODIFICATI
    (1)      412        CAM$LPIO, LIST PROGRAMMED I/O PROCEDURE
    (1)      565        CAM$LQSCAN, LIST Q-SCAN/STOP ON WORD COU
    (1)      732        CAM$LSTOP, LIST STOP ON WORD COUNT PROCE
    (1)      899        CAM$EXECUTE(W), EXECUTE CURRENT LIST BUF
    (1)     1120        CAM$RDATA, READ DATA FROM REPLY LIST
    (1)     1196        CAM$WDATA, WRITE DATA TO EXECUTE LIST
    (1)     1268        CAM_VERFRAME, VERIFY LIST FRAME UPDATE
    (1)     1343        CAM_LISMOD, LIST MODE MODULE DECODE
    (1)     1394        CAM_LFRAME, GENARATE EXECUTE LIST COMMAN
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page   1
V02-003                                                                   5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     0000     1 	.TITLE	CAM$LLIB CAMAC LIST MODE PROCEDURE LIBRARY
                                     0000     2 	.IDENT	'V02-003'
                                     0000     3 
                                     0000     4 	.LIBRARY	/SYS$LIBRARY:LIB/		; SYSTEM MACRO LIBRARY
                                     0000     5 	.LIBRARY	/CAMDEF/			; CAMAC MACRO LIBRARY
                                     0000     6 	.SBTTL	CAMAC ACCESS LIBRARY HEADER
                                     0000     7 
                                     0000     8 ;************************************************************************
                                     0000     9 ;
                                     0000    10 ;	CAMAC ACCESS PROCEDURE LIBRARY FOR THE VAX-11/780
                                     0000    11 ;	CAMAC SYSTEM
                                     0000    12 ;
                                     0000    13 ;***************************************************************
                                     0000    14 
                                     0000    15 ;+++
                                     0000    16 ;
                                     0000    17 ; FACILITY
                                     0000    18 ;	OAK RIDGE NATIONAL LABORATORY
                                     0000    19 ;	FUSION ENERGY DIVISION
                                     0000    20 ;	TOKAMAK SECTION
                                     0000    21 ;
                                     0000    22 ; ABSTRACT
                                     0000    23 ;
                                     0000    24 ;	This library contains a collection of procedures
                                     0000    25 ;	designed to support list driven CAMAC operations on
                                     0000    26 ;	the ORNL Fusion Energy Division VAX-11/780 computer 
                                     0000    27 ;	system(s). These procedures are designed to conform 
                                     0000    28 ;	to VAX linkage conventions and as such should
                                     0000    29 ;	be callable from any VAX supported high-level language.
                                     0000    30 ;	Specifically, this library contains the following 
                                     0000    31 ;	procedures:
                                     0000    32 ;
                                     0000    33 ;	CAM$DCLST
                                     0000    34 ;	-Declare a CAMAC command list buffer and initialize it,
                                     0000    35 ;	CAM$LSTATE
                                     0000    36 ;	-Allows user to set/modify default CAMAC states for a given
                                     0000    37 ;	 command list(defaults taken from current CIB values),
                                     0000    38 ;	CAM$LPIO
                                     0000    39 ;	-Generates a command list frame to perform a single-action
                                     0000    40 ;	 CAMAC operation(equivalent of CAM$PIO),
                                     0000    41 ;	CAM$LQSCAN
                                     0000    42 ;	-Generates a command list frame to perform a CAMAC Q-Scan
                                     0000    43 ;	 operation(equivalent of CAM$QSCAN),
                                     0000    44 ;	CAM$LSTOP
                                     0000    45 ;	-Generates a command list frame to perform a CAMAC Stop mode
                                     0000    46 ;	 operation(equivalent of CAM$STOP),
                                     0000    47 ;	CAM$EXECUTE(W)
                                     0000    48 ;	-Executes a previously generated CAMAC command list,
                                     0000    49 ;	CAM$RDATA
                                     0000    50 ;	-Extracts CAMAC read data for a specific command frame from
                                     0000    51 ;	 the reply list,
                                     0000    52 ;	CAM$WDATA
                                     0000    53 ;	-Updates CAMAC write data for a specific command frame in the
                                     0000    54 ;	 CAMAC command list.
                                     0000    55 ;
                                     0000    56 ;
                                     0000    57 ;	A brief synopsis of each access procedure is included
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page   2
V02-003                         CAMAC ACCESS LIBRARY HEADER               5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     0000    58 ;	in the preamble for that procedure.
                                     0000    59 ;
                                     0000    60 ; AUTHOR
                                     0000    61 ;	E. T. Blair
                                     0000    62 ;
                                     0000    63 ; REVISION HISTORY
                                     0000    64 ;	V02-000, E.T. Blair,12-AUG-1982
                                     0000    65 ;	Modified CAMAC access procedures performing QIO(W) system services
                                     0000    66 ;	to provide analogous entry points,i.e. CAM$XXX and CAM$XXXW calls
                                     0000    67 ;	with consistent argument lists for both calls. In V01 the determination
                                     0000    68 ;	as to whether a call was wait/proceed mode was based on the argument
                                     0000    69 ;	list parameters specified, however, this approach posed some problems
                                     0000    70 ;	when attempting to perform CAMAC calls from PASCAL.
                                     0000    71 ;
                                     0000    72 ;	V02-001, E.T. Blair,13-AUG-1982
                                     0000    73 ;	Modified CAM$LSTATE procedure call argument list to be consistent
                                     0000    74 ;	with the CAM$CSTATE procedure call for setting default CIB
                                     0000    75 ;	CAMAC state values. Also, made changes to documentation in several
                                     0000    76 ;	procedure preambles to correct errors and clarify intent.
                                     0000    77 ;
                                     0000    78 ;	V02-002, E.T. Blair, 8-SEP-1982
                                     0000    79 ;	Incorporated changes to optimize the generation of list command
                                     0000    80 ;	frames via a single internal routine(CAM_LFRAME). 
                                     0000    81 ;
                                     0000    82 ;	V02-003, E.T. Blair,5-JAN-1983
                                     0000    83 ;	Added .LIBRARY directives for MACRO libraries required to assemble
                                     0000    84 ;	this module. Also, changed CAMAC MACRO's $CAMIODEF, $SHREGS and $PHREGS.
                                     0000    85 ;	New equivalent structures are $KSIODEF and $KSREGS.
                                     0000    86 ;---
                                     0000    87 	.SBTTL	SYSTEM AND CAMAC DEFS
                                     0000    88 
                                     0000    89 	$DSCDEF					; DESCRIPTOR STRUC/CODES
                                     0000    90 	$JPIDEF					; JOB/PROCESS INFORMATION CODES
                                     0000    91 	$SSDEF					; SYSTEM STATUS DEFINITIONS
                                     0000    92 	$KSIODEF				; CAMAC I/O FUNCTION CODES
                                     0000    93 	$KSREGS					; KS 2050 REGISTER DEFS
                                     0000    94 	$RTBDEF					; REGISTER TEMPLATE BLOCK STRUC
                                     0000    95 	$IOSBDEF				; CAMAC I/O STATUS BLOCK STRUC
                                     0000    96 	$LSTDEF					; KS 2050 LIST MODE DEFS
                                     0000    97 	$CIBDEF					; CAMAC IMAGE BLOCK STRUC
                                     0000    98 	$CRPDEF					; CAMAC REQUEST PACKET STRUC
                                     0000    99 	$LISDEF					; EXECUTE LIST HEADER STRUC
                                     0000   100 	$CMAPDEF				; CRATE/CHANNEL MAP DEF
                                     0000   101 	$KEYDEF					; CAMAC MODULE KEY STRUC
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page   3
V02-003                         CAMAC PROCEDURE VECTOR SECTION            5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     0000   103 	.SBTTL	CAMAC PROCEDURE VECTOR SECTION
                                     0000   104 
                                 00000000   105 	.PSECT	CAM$VEC,PIC,SHR,NOWRT,EXE
                                     0000   106 
                                     0000   107 ;++
                                     0000   108 ; CAMAC PROCEDURE TRANSFER VECTOR PROGRAM SECTION
                                     0000   109 ;
                                     0000   110 ;--
                                     0000   111 
                                     0000   112 	PROCVEC	CAM$DCLST			; DECLARE CURRENT EXECUTE LIST
                                     0008   113 
                                     0008   114 	PROCVEC	CAM$LPIO			; BUILD LIST PROG I/O
                                     0010   115 
                                     0010   116 	PROCVEC	CAM$LQSCAN			; BUILD LIST Q-SCAN
                                     0018   117 
                                     0018   118 	PROCVEC	CAM$LSTOP			; BUILD LIST STOP ON TRANSFER COUNT
                                     0020   119 
                                     0020   120 	PROCVEC	CAM$EXECUTEW			; EXECUTE COMMAND LIST(WAIT)
                                     0028   121 
                                     0028   122 	PROCVEC	CAM$EXECUTE			; EXECUTE COMMAND LIST
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page   4
V02-003                         CAM$DCLST, DECLARE COMMAND LIST PROCEDUR  5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     0030   124 	.SBTTL	CAM$DCLST, DECLARE COMMAND LIST PROCEDURE
                                     0030   125 	.ENABL	LSB
                                 00000000   126 	.PSECT	CAM$CODE,PIC,SHR,NOWRT,EXE
                                     0000   127 
                                     0000   128 ;+++
                                     0000   129 ;
                                     0000   130 ;	Procedure:
                                     0000   131 ;	CAM$DCLST(EXE_LIST,BLENGTH[,MEM][,EXE_FIBL])
                                     0000   132 ;
                                     0000   133 ;	Description:
                                     0000   134 ;	The specified list buffer(EXE_LIST) is initialized as a CAMAC command
                                     0000   135 ;	list. The first eight(8) words of the execute list buffer
                                     0000   136 ;	are used by the list access procedures as a header block.
                                     0000   137 ;	The format of this header follows:
                                     0000   138 ;	FIELD		MEANING
                                     0000   139 ;	WORD 0		Points to next available frame in execute
                                     0000   140 ;			list,
                                     0000   141 ;	WORD 1		Points to next available frame in the reply 
                                     0000   142 ;			list,
                                     0000   143 ;	WORD 2		Execute list buffer length(in units of words),
                                     0000   144 ;	WORD 3		Execute list CAMAC status/state word(fields defined
                                     0000   145 ;				below),
                                     0000   146 ;	WORDS 4-5	Address of the execute list Frame Information
                                     0000   147 ;				Block List(FIBL),
                                     0000   148 ;	WORD 6		Current execute list frame number,
                                     0000   149 ;	WORD 7		VMS I/O channel used to submit list for execution,
                                     0000   150 ;	WORD 8		Execute list internal status word,
                                     0000   151 ;	WORD 9		CAMAC controller ID<00:07>; CAMAC crate<08:15>.
                                     0000   152 ;
                                     0000   153 ;	The Frame Information Block List(FIBL) is a buffer intended
                                     0000   154 ;	to receive Frame Information Block(FIB) entries(1 per
                                     0000   155 ;	execute list command frame) that may be used to perform
                                     0000   156 ;	subsequent random access to the list by command frame
                                     0000   157 ;	number. The format of a FIB is as follows:
                                     0000   158 ;	FIELD		MEANING
                                     0000   159 ;	WORD 0		Execute list frame pointer,
                                     0000   160 ;	WORD 1		CAMAC function code<00:07>; command size<08:15>(words),
                                     0000   161 ;	WORD 2		Data frame pointer(0-relative) defining index of first
                                     0000   162 ;				word of data(index into execute list for CAMAC
                                     0000   163 ;				writes;index into reply list for CAMAC reads),
                                     0000   164 ;	WORD 2		Execute list frame length(in words),
                                     0000   165 ;	WORD 3		Data frame length(in words).
                                     0000   166 ;
                                     0000   167 ;	The list status/state word contains the following fields
                                     0000   168 ;	FIELD		MEANING
                                     0000   169 ;	LIP		List execution is in progress(modify interlock bit),
                                     0000   170 ;	QDC		Q-Don't Care state for determination of
                                     0000   171 ;				NORMAL/ERROR status,
                                     0000   172 ;	QNE		Q Not Expected state for determination of
                                     0000   173 ;				NORMAL/ERROR status,
                                     0000   174 ;	XI		X-Ignore state for determination of
                                     0000   175 ;				NORMAL/ERROR status,
                                     0000   176 ;	M16		Memory format control(M16=1, MEM=16; M16=0,
                                     0000   177 ;				MEM=24),
                                     0000   178 ;
                                     0000   179 ;	The execute list header is initialized with all pointers
                                     0000   180 ;	and counts reset. If the FIBL is specified, it's address
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page   5
V02-003                         CAM$DCLST, DECLARE COMMAND LIST PROCEDUR  5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     0000   181 ;	is saved in the execute list header. If not, the FIBL address
                                     0000   182 ;	pointer is reset. In either case, the current frame count
                                     0000   183 ;	is reset.
                                     0000   184 ;
                                     0000   185 ;	The list status/state word may be subsequently modified 
                                     0000   186 ;	by calling the CAM$LSTATE procedure.
                                     0000   187 ;
                                     0000   188 ;	Parameters:
                                     0000   189 ;	EXE_LIST- address of buffer to be used as an execute
                                     0000   190 ;		(command) list,
                                     0000   191 ;	BLENGTH- address of a word containing the length of the
                                     0000   192 ;		buffer in units of words,
                                     0000   193 ;	MEM- address of a byte containing memory format for the
                                     0000   194 ;		list being declared(MEM=16; MEM=24). If not specified,
                                     0000   195 ;		the current CIB memory format state is used. Note
                                     0000   196 ;		that 16 and 24 bit memory transfers may not be mixed
                                     0000   197 ;		in a single execute list, i.e. ALL data transfers
                                     0000   198 ;		must be 16 bit transfers or ALL data transfers must
                                     0000   199 ;		be 24 bit transfers !!!!
                                     0000   200 ;	EXE_FIBL- address of the Frame Information Block List
                                     0000   201 ;		to receive command frame data that may be used
                                     0000   202 ;		for subsequent random access/updates to the
                                     0000   203 ;		execute list.
                                     0000   204 ;
                                     0000   205 ;	Return Status:
                                     0000   206 ;
                                     0000   207 ;---
                                     0000   208 
                                     0000   209 
                                     0000   210 ;
                                     0000   211 ; PROCEDURE LOCAL DATA
                                     0000   212 ;
                           00000000  0000   213 DCL_NARGS	= 0				; ARGUMENT COUNT
                           00000004  0000   214 DCL_ELIST	= 4				; EXE LIST BUFFER
                           00000008  0000   215 DCL_ELEN	= 8				; BUFFER LENGTH
                           0000000C  0000   216 DCL_MEM		= 12				; MEMORY FORMAT(16/24)
                           00000010  0000   217 DCL_FIBL	= 16				; FRAME INFO BLOCK LIST
                           00000002  0000   218 DCL_MINARGS	= 2				; MIN ARG COUNT
                           00000004  0000   219 DCL_MAXARGS	= 4				; MAX ARG COUNT
                                     0000   220 
                               0E3C  0000   221 	.ENTRY	CAM$DCLST,^M<R2,R3,R4,R5,R9,R10,R11>
                                     0002   222 
              5B   00000000'GF   9E  0002   223 	MOVAB	G^CAM_CIB,R11			; GET CAMAC IMAGE BLOCK ADDRESS
                            00   E0  0009   224 	BBS	#PSTS_V_JIBV,-			; IS JIB INFO VALID?
                      06 08 AB       000B   225 		CIB_L_PSTS(R11),10$		; IF SO, CONTINUE WITH IT
                   00000000'GF   16  000E   226 	JSB	G^CAM_GETJIB			; ELSE, GET NEW JIB/PCB INFO
                                     0014   227 10$:
                            6C   91  0014   228 	CMPB	DCL_NARGS(AP),-			; CHECK AGANIST MIN ARG COUNT
                            02       0016   229 		#DCL_MINARGS
                            0A   18  0017   230 	BGEQ	20$				; IF SUFFICIENT, CONTINUE
              50   00000114 8F   D0  0019   231 	MOVL	#SS$_INSFARG,R0			; SET INSUFF ARGS STATUS
                          005E   31  0020   232 	BRW	90$				; EXIT ROUTINE
                                     0023   233 20$:
                    59   04 AC   D0  0023   234 	MOVL	DCL_ELIST(AP),R9		; GET LIST BASE ADDRESS
                         08 BC   B0  0027   235 	MOVW	@DCL_ELEN(AP),-			; SAVE LIST LENGTH
                         04 A9       002A   236 		LIS_W_SIZE(R9)			; IN LIST HEADER
                         0E AB   B0  002C   237 	MOVW	CIB_W_CSTS(R11),-		; COPY CIB CAMAC STATE TO
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page   6
V02-003                         CAM$DCLST, DECLARE COMMAND LIST PROCEDUR  5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                         06 A9       002F   238 		LIS_W_CSTS(R9)			; EXE LIST STATE WORD
                            0A   B0  0031   239 	MOVW	#<LIS_K_LENGTH/2>,-		; SET INIT EXE LIST INDEX
                            69       0033   240 		LIS_W_EXENDX(R9)
                         12 A9   94  0034   241 	CLRB	LIS_B_CONT(R9)			; RESET CONTROLLER ID
                         13 A9   94  0037   242 	CLRB	LIS_B_CRATE(R9)			; RESET LIST CRATE
                         02 A9   B4  003A   243 	CLRW	LIS_W_REPNDX(R9)		; SET INITIAL REPLY INDEX
                         08 A9   D4  003D   244 	CLRL	LIS_L_FIBL(R9)			; RESET FIBL POINTER
                         0C A9   B4  0040   245 	CLRW	LIS_W_FRAME(R9)			; RESET LIST FRAME COUNT
                         0E A9   B4  0043   246 	CLRW	LIS_W_CHAN(R9)			; RESET VMS CHANNEL
                            6C   8F  0046   247 	CASEB	DCL_NARGS(AP),-			; HANDLE PARAMETERS BY CASE
                            02       0048   248 		#DCL_MINARGS,-
                            04       0049   249 		#DCL_MAXARGS
                                     004A   250 30$:
                               0034' 004A   251 	.WORD	DCL_THRU_LEN-30$		; PARAMETERS THRU LENGTH
                               0013' 004C   252 	.WORD	DCL_THRU_MEM-30$		; PARAMETERS THRU MEM
                               000E' 004E   253 	.WORD	DCL_THRU_FIBL-30$		; PARAMETERS THRU FIBL
                                     0050   254 
                  50   029C 8F   3C  0050   255 	MOVZWL	#SS$_TOOMUCHDATA,R0		; TOO MANY PARAMETERS
                          0029   31  0055   256 	BRW	90$				; EXIT ROUTINE
                                     0058   257 
                                     0058   258 DCL_THRU_FIBL:
                         10 AC   D0  0058   259 	MOVL	DCL_FIBL(AP),-			; COPY FIBL ADDRESS
                         08 A9       005B   260 		LIS_L_FIBL(R9)			; TO LIST HEADER
                                     005D   261 DCL_THRU_MEM:
                         0C AC   D5  005D   262 	TSTL	DCL_MEM(AP)			; MEM FORMAT SPECIFIED?
                            1C   13  0060   263 	BEQL	DCL_THRU_LEN			; IF 0, NULL PARAMETER
                    50   0C BC   9A  0062   264 	MOVZBL	@DCL_MEM(AP),R0			; GET MEM FORMAT VALUE
                            08   AA  0066   265 	BICW	#CSTS_M_M16,-			; RESET '16' MEM FORMAT BIT
                         06 A9       0068   266 		LIS_W_CSTS(R9)
                       18   50   91  006A   267 	CMPB	R0,#24				; CHECK IF '24' FORMAT
                            0F   13  006D   268 	BEQL	DCL_THRU_LEN			; IF MATCH, CONTINUE
                            08   A8  006F   269 	BISW	#CSTS_M_M16,-			; SET M16 STATE IN LIST
                         06 A9       0071   270 		LIS_W_CSTS(R9)			; HEADER STATUS WORD
                       10   50   91  0073   271 	CMPB	R0,#16				; CHECK FOR '16' FORMAT
                            06   13  0076   272 	BEQL	DCL_THRU_LEN			; IF MATCH, CONTINUE
                       50   14   3C  0078   273 	MOVZWL	#SS$_BADPARAM,R0		; SET BAD PARM STATUS
                          0003   31  007B   274 	BRW	90$				; EXIT ROUTINE
                                     007E   275 DCL_THRU_LEN:
                       50   01   9A  007E   276 	MOVZBL	#SS$_NORMAL,R0			; SET NORMAL STATUS
                                     0081   277 90$:
                                 04  0081   278 	RET					; RETURN TO CALLER
                                     0082   279 	.DSABL	LSB
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page   7
V02-003                         CAM$LSTATE, LIST STATE/STATUS MODIFICATI  5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     0082   281 	.SBTTL	CAM$LSTATE, LIST STATE/STATUS MODIFICATION PROCEDURE
                                     0082   282 	.ENABL	LSB
                                     0082   283 
                                     0082   284 ;+++
                                     0082   285 ;
                                     0082   286 ;	Procedure:
                                     0082   287 ;	CAM$LSTATE(EXE_LIST[,XSTATE][,QSTATE][,MEM])
                                     0082   288 ;
                                     0082   289 ;	Description:
                                     0082   290 ;	This procedure allows the state/status word of the
                                     0082   291 ;	specified CAMAC execute list buffer to be updated.
                                     0082   292 ;	The call parameters correspond to list state/status
                                     0082   293 ;	and are briefly described below.
                                     0082   294 ;	Parameter: XSTATE
                                     0082   295 ;
                                     0082   296 ;	Function:
                                     0082   297 ;	Allows the user to influence the logic equation used by the
                                     0082   298 ;	CAMAC branch driver in the determination of 'ERROR'/'NORMAL'
                                     0082   299 ;	termination of a list PIO operation. This value initially 
                                     0082   300 ;	defaults to CAMAC image block value.
                                     0082   301 ;
                                     0082   302 ;	Values:
                                     0082   303 ;	CAM$XI-Ignores CAMAC X response in the determination of
                                     0082   304 ;		ERROR status from the CAMAC branch driver.
                                     0082   305 ;	CAM$_XE-Opposite of CAM$_XI.
                                     0082   306 ;
                                     0082   307 ;	Parameter: QSTATE
                                     0082   308 ;
                                     0082   309 ;	Function:
                                     0082   310 ;	Allows the user to influence the logic equation used by the
                                     0082   311 ;	CAMAC branch driver in the determination of 'ERROR'/
                                     0082   312 ;	'NORMAL' termination of a list PIO operation. This value 
                                     0082   313 ;	initially defaults to CAMAC image block value.
                                     0082   314 ;
                                     0082   315 ;	Values:
                                     0082   316 ;	CAM$_QDC-Ignores CAMAC Q response in the determination of
                                     0082   317 ;		ERROR status from the CAMAC interface.
                                     0082   318 ;	CAM$_QNE-CAMAC Q response not expected. If received, the CAMAC
                                     0082   319 ;		interface terminates with ERROR status on list PIO
                                     0082   320 ;		operations.
                                     0082   321 ;	CAM$_QE-CAMAC Q response expected. If not received, the CAMAC
                                     0082   322 ;		interface terminates with ERROR status on list PIO
                                     0082   323 ;		operations.
                                     0082   324 ;
                                     0082   325 ;	Parameter: MEM
                                     0082   326 ;
                                     0082   327 ;	Function:
                                     0082   328 ;	Allows the user to change the default memory format state for
                                     0082   329 ;	a given image. The memory format used determines whether 16 or
                                     0082   330 ;	24 bit CAMAC data transfer operations are performed. This value 
                                     0082   331 ;	initially defaults to the CAMAC image block value.
                                     0082   332 ;
                                     0082   333 ;	Values:
                                     0082   334 ;	16-Sets default memory format to '16' bit format(1 CAMAC transfer =
                                     0082   335 ;		1 word).
                                     0082   336 ;	24-Sets default memory format to '24' bit format(1 CAMAC transfer =
                                     0082   337 ;		2 words).
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page   8
V02-003                         CAM$LSTATE, LIST STATE/STATUS MODIFICATI  5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     0082   338 ;
                                     0082   339 ;	Parameters:
                                     0082   340 ;	EXE_LIST- address of a CAMAC execute list buffer,
                                     0082   341 ;	XSTATE- address of a word containing one of the symbolic values
                                     0082   342 ;		CAM$_XI,CAM$_XE,
                                     0082   343 ;	QSTATE- address of a word containing one of the symbolic values
                                     0082   344 ;		CAM$_QDC, CAM$_QE, CAM$_QNE,
                                     0082   345 ;	MEM- address of a byte containing one of the values 16 or 24.
                                     0082   346 ;
                                     0082   347 ;	Return Status:
                                     0082   348 ;
                                     0082   349 ;---
                                     0082   350 
                                     0082   351 ;
                                     0082   352 ; PROCEDURE LOCAL DATA
                                     0082   353 ;
                                     0082   354 
                                     0082   355 
                           00000000  0082   356 LST_NARGS	= 0				; ARGUMENT COUNT
                           00000004  0082   357 LST_ELIST	= 4				; EXECUTE LIST
                           00000008  0082   358 LST_XSTATE	= 8				; XSTATE ARGUMENT
                           0000000C  0082   359 LST_QSTATE	= 12				; QSTATE ARGUMENT
                           00000010  0082   360 LST_MEM		= 16				; MEM FORMAT
                           00000002  0082   361 LST_MINARGS	= 2				; MIN ARG COUNT
                           00000004  0082   362 LST_MAXARGS	= 4				; MAX ARG COUNT
                                     0082   363 
                                     0082   364 
                               0200  0082   365 	.ENTRY	CAM$LSTATE,^M<R9>
                                     0084   366 
                       02   6C   91  0084   367 	CMPB	LST_NARGS(AP),#LST_MINARGS	; LESS THAN MIN ARGS SPECIFIED?
                            06   18  0087   368 	BGEQ	10$				; IF GREATER OR EQUAL, CONTINUE
                  50   0114 8F   3C  0089   369 	MOVZWL	#SS$_INSFARG,R0			; NOT ENOUGH ARGS STATUS
                                 04  008E   370 	RET					; RETURN TO CALLER
                                     008F   371 10$:
                    59   04 AC   D0  008F   372 	MOVL	LST_ELIST(AP),R9		; GET EXE LIST ADDR
                       02   6C   8F  0093   373 	CASEB	LST_NARGS(AP),#LST_MINARGS,-	; HANDLE ARGUMENTS BY CASE
                            04       0096   374 		#LST_MAXARGS
                                     0097   375 20$:
                               0038' 0097   376 	.WORD	LST_THRU_XSTATE-20$		; PARAMETERS THRU XSTATE
                               002E' 0099   377 	.WORD	LST_THRU_QSTATE-20$		; PARAMETERS THRU QSTATE
                               000C' 009B   378 	.WORD	LST_THRU_MEM-20$		; PARAMETERS THRU MEM FORMAT
                                     009D   379 
                  50   029C 8F   3C  009D   380 	MOVZWL	#SS$_TOOMUCHDATA,R0		; SET ERROR STATUS
                                 04  00A2   381 	RET					; RETURN TO CALLER
                                     00A3   382 
                                     00A3   383 LST_THRU_MEM:
                         10 AC   D5  00A3   384 	TSTL	LST_MEM(AP)			; NULL PARAMETER SPECIFIED?
                            1D   13  00A6   385 	BEQL	LST_THRU_QSTATE			; IF SO, GO CHECK NEXT
                    10   10 BC   91  00A8   386 	CMPB	@LST_MEM(AP),#16		; '16' FORMAT SPECIFIED?
                            06   12  00AC   387 	BNEQ	30$				; IF NOT, GO CHECK '24'
                    06 A9   08   A8  00AE   388 	BISW	#CSTS_M_M16,LIS_W_CSTS(R9)	; SET CAMAC STATE FOR '16'
                            11   11  00B2   389 	BRB	LST_THRU_QSTATE			; CONTINUE
                                     00B4   390 30$:
                    18   10 BC   91  00B4   391 	CMPB	@LST_MEM(AP),#24		; '24' FORMAT SPECIFIED?
                            06   12  00B8   392 	BNEQ	40$				; IF NOT, DECLARE ERROR
                    06 A9   08   AA  00BA   393 	BICW	#CSTS_M_M16,LIS_W_CSTS(R9)	; SET CAMAC STATE FOR '24'
                            05   11  00BE   394 	BRB	LST_THRU_QSTATE
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page   9
V02-003                         CAM$LSTATE, LIST STATE/STATUS MODIFICATI  5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     00C0   395 40$:
                       50   14   3C  00C0   396 	MOVZWL	#SS$_BADPARAM,R0		; INDICATE ERROR
                            17   11  00C3   397 	BRB	90$				; ABORT CALL
                                     00C5   398 LST_THRU_QSTATE:
                         0C AC   D5  00C5   399 	TSTL	LST_QSTATE(AP)			; NULL PARAMETER SPECIFIED?
                            05   13  00C8   400 	BEQL	LST_THRU_XSTATE			; IF 0, ASSUME SO
                         0C BC   A8  00CA   401 	BISW	@LST_QSTATE(AP),-		; MASK Q STATE TO LIST CAMAC STATE
                         06 A9       00CD   402 		LIS_W_CSTS(R9)
                                     00CF   403 LST_THRU_XSTATE:
                         08 AC   D5  00CF   404 	TSTL	LST_XSTATE(AP)			; NULL PARAMETER SPECIFIED?
                            08   13  00D2   405 	BEQL	90$				; IF 0, ASSUME SO
                   00000008'FF   A8  00D4   406 	BISW	@LST_XSTATE,-			; MASK X STATE TO LIST CAMAC STATE
                         06 A9       00DA   407 		LIS_W_CSTS(R9)
                                     00DC   408 90$:
                                 04  00DC   409 	RET					; RETURN TO CALLER
                                     00DD   410 	.DSABL	LSB
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  10
V02-003                         CAM$LPIO, LIST PROGRAMMED I/O PROCEDURE   5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     00DD   412 	.SBTTL	CAM$LPIO, LIST PROGRAMMED I/O PROCEDURE
                                     00DD   413 	.ENABL	LSB
                                     00DD   414 
                                     00DD   415 ;+++
                                     00DD   416 ;
                                     00DD   417 ;	Procedure:
                                     00DD   418 ;	CAM$LPIO(EXE_LIST,%DESCR(MODULE_NAME),A,F[,DATA][,EXE_FRAME])
                                     00DD   419 ;		Or
                                     00DD   420 ;	CAM$LPIO(EXE_LIST,%DESCR(KEY),A,F[,DATA][,EXE_FRAME])
                                     00DD   421 ;
                                     00DD   422 ;	Description:
                                     00DD   423 ;	This procedure inserts a single action command frame into
                                     00DD   424 ;	the specified execute list. If the optional frame number
                                     00DD   425 ;	(EXE_FRAME) is specified, that frame in the execute list
                                     00DD   426 ;	is updated with the specified parameters provided the
                                     00DD   427 ;	command frame and data frame lengths in the FIB for
                                     00DD   428 ;	the specified frame are consistent with the LPIO command
                                     00DD   429 ;	and data frame lengths. If the frame number is not specified,
                                     00DD   430 ;	the next available list frame(as determined from the list header).
                                     00DD   431 ;	is used to receive the LPIO command frame. If the
                                     00DD   432 ;	specified execute list has a FIBL attached, a FIB is
                                     00DD   433 ;	generated for this frame.
                                     00DD   434 ;
                                     00DD   435 ;	If the action performs a CAMAC write operation, the
                                     00DD   436 ;	write data is extracted from the specified data buffer
                                     00DD   437 ;	(DATA). If the action performs a CAMAC read operation, the
                                     00DD   438 ;	data will be inserted at the next available location in the
                                     00DD   439 ;	reply list. The transfer count is determined in both
                                     00DD   440 ;	cases by the memory format associated with the specified
                                     00DD   441 ;	list buffer(i.e. '16' bit=1 word transferred; '24' bit=
                                     00DD   442 ;	2 words transferred).
                                     00DD   443 ;
                                     00DD   444 ;	Parameters:
                                     00DD   445 ;	EXE_LIST - address of an execute list command buffer previously
                                     00DD   446 ;		declared via a CAM$DCLST procedure call,
                                     00DD   447 ;	MODULE_NAME- address of a CHARACTER variable containing an ASCII 
                                     00DD   448 ;		character string identifying the CAMAC module to be referenced,
                                     00DD   449 ;	KEY- address of a longword descriptor for the key value
                                     00DD   450 ;		previously computed for the CAMAC module via
                                     00DD   451 ;		calling the procedure CAM$ASSIGN,
                                     00DD   452 ;	A- address of a byte containing CAMAC subaddress,
                                     00DD   453 ;	F- address of a byte containing CAMAC function code,
                                     00DD   454 ;	DATA- address of CAMAC write data buffer. If omitted,
                                     00DD   455 ;		space is allocated in the execute list for
                                     00DD   456 ;		write data for CAMAC write function codes. CAMAC
                                     00DD   457 ;		read data is returned to the reply list,
                                     00DD   458 ;	EXE_FRAME- address of a word specifying the commmand frame
                                     00DD   459 ;		number to be updated by this LPIO request. If not
                                     00DD   460 ;		specified, the next available location in the execute
                                     00DD   461 ;		list will be used,
                                     00DD   462 ;
                                     00DD   463 ;	Return Status:
                                     00DD   464 ;
                                     00DD   465 ;---
                                     00DD   466 
                                     00DD   467 
                                     00DD   468 ;
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  11
V02-003                         CAM$LPIO, LIST PROGRAMMED I/O PROCEDURE   5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     00DD   469 ; PROCEDURE LOCAL DATA
                                     00DD   470 ;
                           00000000  00DD   471 LPIO_NARGS	= 0				; ARGUMENT COUNT
                           00000004  00DD   472 LPIO_ELIST	= 4				; EXE LIST ADDRESS
                           00000008  00DD   473 LPIO_MOD	= 8				; MODULE NAME/KEY VALUE
                           0000000C  00DD   474 LPIO_A		= 12				; SUBADDRESS
                           00000010  00DD   475 LPIO_F		= 16				; FUNCTION
                           00000014  00DD   476 LPIO_DATA	= 20				; DATA(OPTIONAL)
                           00000018  00DD   477 LPIO_FRAME	= 24				; FRAME NUMBER
                           00000004  00DD   478 LPIO_MINARGS	= 4				; MIN ARG COUNT
                           00000006  00DD   479 LPIO_MAXARGS	= 6				; MAX ARG COUNT
                           00000002  00DD   480 LPIO_CSIZE	= 2				; COMMAND FRAME SIZE(WORDS)
                                     00DD   481 
                                     00DD   482 
                               0E3C  00DD   483 	.ENTRY	CAM$LPIO,^M<R2,R3,R4,R5,R9,R10,R11>
              5B   00000000'GF   9E  00DF   484 	MOVAB	G^CAM_CIB,R11			; GET CAMAC IMAGE BLOCK ADDRESS
                            00   E0  00E6   485 	BBS	#PSTS_V_JIBV,-			; IS JIB INFO VALID?
                      06 08 AB       00E8   486 		CIB_L_PSTS(R11),10$		; IF SO, CONTINUE WITH IT
                   00000000'GF   16  00EB   487 	JSB	G^CAM_GETJIB			; ELSE, GET NEW JIB/PCB INFO
                                     00F1   488 10$:
                            6C   91  00F1   489 	CMPB	LPIO_NARGS(AP),-		; CHECK AGANIST MIN ARG COUNT
                            04       00F3   490 		#LPIO_MINARGS
                            0A   18  00F4   491 	BGEQ	20$				; IF SUFFICIENT, CONTINUE
              50   00000114 8F   D0  00F6   492 	MOVL	#SS$_INSFARG,R0			; SET INSUFF ARGS STATUS
                          00AC   31  00FD   493 	BRW	90$				; EXIT ROUTINE
                                     0100   494 20$:
                                     0100   495 	ALOSTAK	#CRP_K_LENGTH,R10		; ALLOCATE CRP ON STACK
                   00000000'GF   16  010A   496 	JSB	G^CAM_INITCRP			; INITIALIZE CRP
                    59   04 AC   D0  0110   497 	MOVL	LPIO_ELIST(AP),R9		; GET EXECUTE LIST ADDRESS
                         06 A9   B0  0114   498 	MOVW	LIS_W_CSTS(R9),-		; COPY LIST STATUS INTO CRP
                         02 AA       0117   499 		CRP_W_STS(R10)			; INTO CRP STATUS
                    51   08 AC   D0  0119   500 	MOVL	LPIO_MOD(AP),R1			; GET MODULE/KEY DESCR ADDR
                          0489   30  011D   501 	BSBW	CAM_LISMOD			; GET MODULE DATA
                         03 50   E8  0120   502 	BLBS	R0,110$				; IF SUCCESS, CONTINUE
                          0086   31  0123   503 	BRW	90$				; ELSE, ABORT
                                     0126   504 110$:
                 4D AA   0C BC   90  0126   505 	MOVB	@LPIO_A(AP),CRP_B_A(R10)	; COPY CAMAC SUBADDRESS
                 4E AA   10 BC   90  012B   506 	MOVB	@LPIO_F(AP),CRP_B_F(R10)	; COPY CAMAC FUNCTION CODE
                    55   04 AA   9E  0130   507 	MOVAB	CRP_Q_FIB(R10),R5		; GET WORKING FIB ADDRESS
                            65   7C  0134   508 	CLRQ	(R5)				; ZERO WORKING FIB
                            69   B0  0136   509 	MOVW	LIS_W_EXENDX(R9),-		; SAVE CMD FRAME PNTR IN
                            65       0138   510 		FIB_W_CNDX(R5)			; WORK FIB
                       50   02   9A  0139   511 	MOVZBL	#LPIO_CSIZE,R0			; GET COMMAND FRAME SIZE
                    03 A5   50   90  013C   512 	MOVB	R0,FIB_B_CSIZE(R5)		; SAVE IN WORKING FIB
                       65   50   A1  0140   513 	ADDW3	R0,FIB_W_CNDX(R5),-		; AND COMPUTE WORKING END OF 
                         0C A5       0143   514 		FIB_W_EOF(R5)			; FRAME VALUE
                         4E AA   90  0145   515 	MOVB	CRP_B_F(R10),-			; SAVE CAMAC FUNCTION
                         02 A5       0148   516 		FIB_B_F(R5)			; AS FIB ENTRY
                                     014A   517 	IFCAMCT	FIB_B_F(R5),50$			; IF CAMAC CONTROL, SKIP
                    06 A5   01   B0  014F   518 	MOVW	#1,FIB_W_DSIZE(R5)		; SET SIZE FOR '16' FORMAT
                            03   E0  0153   519 	BBS	#CSTS_V_M16,-			; IF '16' MODE, SKIP
                      04 06 A9       0155   520 		LIS_W_CSTS(R9),55$		; ELSE
                    06 A5   02   B0  0158   521 	MOVW	#2,FIB_W_DSIZE(R5)		; CHANGE FOR '24' MODE
                                     015C   522 55$:
                                     015C   523 	IFCAMWR	FIB_B_F(R5),60$			; IF CAMAC WRITE, SKIP
                         02 A9   B0  0166   524 	MOVW	LIS_W_REPNDX(R9),-		; DATA POINTER=REPLY INDEX
                         04 A5       0169   525 		FIB_W_DNDX(R5)
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  12
V02-003                         CAM$LPIO, LIST PROGRAMMED I/O PROCEDURE   5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                            0A   11  016B   526 	BRB	50$				; GO CHECK IF RANDOM UPDATE
                                     016D   527 60$:
                         0C A5   B0  016D   528 	MOVW	FIB_W_EOF(R5),-			; SAVE OLD EOF AS DATA INDEX
                         04 A5       0170   529 		FIB_W_DNDX(R5)
                         06 A5   A0  0172   530 	ADDW	FIB_W_DSIZE(R5),-		; COMPUTE NEW EOF VALUE
                         0C A5       0175   531 		FIB_W_EOF(R5)
                                     0177   532 50$:
                            6C   8F  0177   533 	CASEB	LPIO_NARGS(AP),-		; HANDLE ARGUMENTS BY CASE
                            04       0179   534 		#LPIO_MINARGS,-
                            06       017A   535 		#LPIO_MAXARGS
                                     017B   536 
                                     017B   537 80$:
                               002A' 017B   538 	.WORD	LPIO_THRU_F-80$			; PARAMETERS THRU F
                               0025' 017D   539 	.WORD	LPIO_THRU_DATA-80$		; PARAMETERS THRU DATA
                               000E' 017F   540 	.WORD	LPIO_THRU_FRAME-80$		; PARAMETERS THRU FRAME
                                     0181   541 
                  50   029C 8F   3C  0181   542 	MOVZWL	#SS$_TOOMUCHDATA,R0		; SET ERROR STATUS
                          0023   31  0186   543 	BRW	90$				; EXIT PROCEDURE
                                     0189   544 
                                     0189   545 LPIO_THRU_FRAME:
                         08 A9   D5  0189   546 	TSTL	LIS_L_FIBL(R9)			; CHECK IF LIST HAS FIBL?
                            12   13  018C   547 	BEQL	LPIO_THRU_DATA			; IF 0, NO FIBL ATTACHED
                         18 AC   D5  018E   548 	TSTL	LPIO_FRAME(AP)			; RANDOM FRAME # SPECIFIED
                            0D   13  0191   549 	BEQL	LPIO_THRU_DATA			; IF 0, NO FRAME SPECIFIED
                    52   18 BC   3C  0193   550 	MOVZWL	@LPIO_FRAME(AP),R2		; GET FRAME NUMBER
                          03A1   30  0197   551 	BSBW	CAM_VERFRAME			; CHECK FRAME PARAMETERS
                         03 50   E8  019A   552 	BLBS	R0,LPIO_THRU_DATA		; IF SUCCESS, CONTINUE
                          000C   31  019D   553 	BRW	90$				; ELSE, ABORT HERE
                                     01A0   554 LPIO_THRU_DATA:
                         14 AC   D0  01A0   555 	MOVL	LPIO_DATA(AP),-			; SAVE DATA BUFFER ADDRESS
                         08 A5       01A3   556 		FIB_L_DATA(R5)
                                     01A5   557 
                                     01A5   558 LPIO_THRU_F:
                    0E A5   00   90  01A5   559 	MOVB	#0,FIB_B_TYPE(R5)		; LIST TYPE=PIO
                          0439   30  01A9   560 	BSBW	CAM_LFRAME			; GENERATE LIST FRAME
                                     01AC   561 90$:
                                 04  01AC   562 	RET					; RETURN FROM PROCEDURE CALL
                                     01AD   563 	.DSABL	LSB
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  13
V02-003                         CAM$LQSCAN, LIST Q-SCAN/STOP ON WORD COU  5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     01AD   565 	.SBTTL	CAM$LQSCAN, LIST Q-SCAN/STOP ON WORD COUNT PROCEDURE
                                     01AD   566 	.ENABL	LSB
                                     01AD   567 
                                     01AD   568 ;+++
                                     01AD   569 ;
                                     01AD   570 ;	Procedure:
                                     01AD   571 ;	CAM$LQSCAN(EXE_LIST,%DESCR(MODULE_NAME),A,F,COUNT[,DATA][,EXE_FRAME])
                                     01AD   572 ;		Or
                                     01AD   573 ;	CAM$LQSCAN(EXE_LIST,%DESCR(KEY),A,F,COUNT[,DATA][,EXE_FRAME])
                                     01AD   574 ;
                                     01AD   575 ;	Description:
                                     01AD   576 ;	This procedure builds a Q-scan command frame into the 
                                     01AD   577 ;	specified execute list. If the optional frame number
                                     01AD   578 ;	(EXE_FRAME) is specified, that frame in the execute
                                     01AD   579 ;	list is updated with the specified parameters provided
                                     01AD   580 ;	the command and data frame lengths in the FIB for the
                                     01AD   581 ;	specified frame are consistent with the LQSCAN command
                                     01AD   582 ;	and data frame lengths. If the frame number is not specified,
                                     01AD   583 ;	the next available list frame(as determined from the list
                                     01AD   584 ;	header) is used to receive the LQSCAN command frame. If the
                                     01AD   585 ;	specified execute list has a FIBL attached, a FIB is generated
                                     01AD   586 ;	for this frame.
                                     01AD   587 ;
                                     01AD   588 ;	If the specified CAMAC function code indicates a
                                     01AD   589 ;	 write operation, data is cross-loaded from the
                                     01AD   590 ;	specified data buffer(DATA) into the execute list
                                     01AD   591 ;	as part of the command frame. For CAMAC read operations,
                                     01AD   592 ;	the data buffer need not be specified. Subsequent execution
                                     01AD   593 ;	of the specified list will result in a Q-scan block transfer
                                     01AD   594 ;	functionally equivalent to CAM$QSCAN. The memory format
                                     01AD   595 ;	associated with the specified execute list(MEM=16 or 24)
                                     01AD   596 ;	controls the interpretation of the transfer count(COUNT)
                                     01AD   597 ;	value(i.e. for MEM=16, 1 transfer = 1 word; for 
                                     01AD   598 ;	MEM=24, 1 transfer = 2 words).
                                     01AD   599 ;
                                     01AD   600 ;	Parameters:
                                     01AD   601 ;	EXE_LIST- address of an execute list buffer previously
                                     01AD   602 ;		declared via a CAM$DCLST procedure call,
                                     01AD   603 ;	MODULE_NAME- address of a CHARACTER variable containing an ASCII 
                                     01AD   604 ;		character string identifying the CAMAC module to be referenced,
                                     01AD   605 ;	KEY- address of a longword descriptor for the key value
                                     01AD   606 ;		previously computed for the CAMAC module via
                                     01AD   607 ;		calling the procedure CAM$ASSIGN,
                                     01AD   608 ;	A- address of a byte containing CAMAC subaddress,
                                     01AD   609 ;	F- address of a byte containing CAMAC function code,
                                     01AD   610 ;	COUNT- address of a word containing the CAMAC transfer
                                     01AD   611 ;		count(in units of the memory format).
                                     01AD   612 ;	DATA- address of data buffer that contains CAMAC write data
                                     01AD   613 ;		or that will receive CAMAC read data,
                                     01AD   614 ;	EXE_FRAME- address of a word specifying the command frame
                                     01AD   615 ;		number to be updated by this LQSCAN request. If not
                                     01AD   616 ;		specified, the next available location in the execute
                                     01AD   617 ;		list will be used.
                                     01AD   618 ;
                                     01AD   619 ;	Return Status:
                                     01AD   620 ;
                                     01AD   621 ;---
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  14
V02-003                         CAM$LQSCAN, LIST Q-SCAN/STOP ON WORD COU  5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     01AD   622 
                                     01AD   623 
                                     01AD   624 ;
                                     01AD   625 ; PROCEDURE LOCAL DATA
                                     01AD   626 ;
                           00000000  01AD   627 LQSC_NARGS	= 0				; ARGUMENT COUNT
                           00000004  01AD   628 LQSC_ELIST	= 4				; EXE LIST ADDRESS
                           00000008  01AD   629 LQSC_MOD	= 8				; MODULE NAME/KEY VALUE
                           0000000C  01AD   630 LQSC_A		= 12				; SUBADDRESS
                           00000010  01AD   631 LQSC_F		= 16				; FUNCTION CODE
                           00000014  01AD   632 LQSC_COUNT	= 20				; TRANSFER COUNT
                           00000018  01AD   633 LQSC_DATA	= 24				; DATA BUFFER(OPTIONAL)
                           0000001C  01AD   634 LQSC_FRAME	= 28				; FRAME NUMBER
                           00000005  01AD   635 LQSC_MINARGS	= 5				; MIN ARG COUNT
                           00000007  01AD   636 LQSC_MAXARGS	= 7				; MAX ARG COUNT
                           00000003  01AD   637 LQSC_CSIZE	= 3				; CMD FRAME SIZE(WORDS)
                                     01AD   638 
                                     01AD   639 
                               0E3C  01AD   640 	.ENTRY	CAM$LQSCAN,^M<R2,R3,R4,R5,R9,R10,R11>
                                     01AF   641 
              5B   00000000'GF   9E  01AF   642 	MOVAB	G^CAM_CIB,R11			; GET CAMAC IMAGE BLOCK ADDRESS
                            00   E0  01B6   643 	BBS	#PSTS_V_JIBV,-			; IS JIB INFO VALID?
                      06 08 AB       01B8   644 		CIB_L_PSTS(R11),10$		; IF SO, CONTINUE WITH IT
                   00000000'GF   16  01BB   645 	JSB	G^CAM_GETJIB			; ELSE, GET NEW JIB/PCB INFO
                                     01C1   646 10$:
                            6C   91  01C1   647 	CMPB	LQSC_NARGS(AP),-		; CHECK AGANIST MIN ARG COUNT
                            05       01C3   648 		#LQSC_MINARGS
                            0A   18  01C4   649 	BGEQ	20$				; IF SUFFICIENT, CONTINUE
              50   00000114 8F   D0  01C6   650 	MOVL	#SS$_INSFARG,R0			; SET INSUFF ARGS STATUS
                          00BD   31  01CD   651 	BRW	90$				; EXIT ROUTINE
                                     01D0   652 20$:
                                     01D0   653 	ALOSTAK	#CRP_K_LENGTH,R10		; ALLOCATE CRP ON STACK
                   00000000'GF   16  01DA   654 	JSB	G^CAM_INITCRP			; INITIALIZE CRP
                    59   04 AC   D0  01E0   655 	MOVL	LQSC_ELIST(AP),R9		; GET EXE LIST ADDRESS
                         06 A9   B0  01E4   656 	MOVW	LIS_W_CSTS(R9),-		; COPY LIST STATUS INTO CRP
                         02 AA       01E7   657 		CRP_W_STS(R10)			; INTO CRP STATUS
                    51   08 AC   D0  01E9   658 	MOVL	LQSC_MOD(AP),R1			; GET MOD/KEY DESCR ADDRESS
                          03B9   30  01ED   659 	BSBW	CAM_LISMOD			; GET LIST MODULE DATA
                         03 50   E8  01F0   660 	BLBS	R0,110$				; IF SUCCESS, CONTINUE
                          0097   31  01F3   661 	BRW	90$				; ELSE, ABORT
                                     01F6   662 110$:
                 4D AA   0C BC   90  01F6   663 	MOVB	@LQSC_A(AP),CRP_B_A(R10)	; COPY CAMAC SUBADDRESS
                 4E AA   10 BC   90  01FB   664 	MOVB	@LQSC_F(AP),CRP_B_F(R10)	; COPY CAMAC FUNCTION CODE
                    55   04 AA   9E  0200   665 	MOVAB	CRP_Q_FIB(R10),R5		; GET WORKING FIB ADDRESS
                            65   7C  0204   666 	CLRQ	(R5)				; ZERO WORKING FIB
                            69   B0  0206   667 	MOVW	LIS_W_EXENDX(R9),-		; SAVE CMD FRAME PNTR IN
                            65       0208   668 		FIB_W_CNDX(R5)			; WORK FIB
                       50   03   9A  0209   669 	MOVZBL	#LQSC_CSIZE,R0			; GET COMMAND FRAME SIZE
                    03 A5   50   90  020C   670 	MOVB	R0,FIB_B_CSIZE(R5)		; SAVE IN WORKING FIB
                       65   50   A1  0210   671 	ADDW3	R0,FIB_W_CNDX(R5),-		; COMPUTE WORKING END OF FRAME
                         0C A5       0213   672 		FIB_W_EOF(R5)			; VALUE
                         4E AA   90  0215   673 	MOVB	CRP_B_F(R10),-			; SAVE CAMAC FUNCTION CODE
                         02 A5       0218   674 		FIB_B_F(R5)			; TO FIB
                    50   14 BC   3C  021A   675 	MOVZWL	@LQSC_COUNT(AP),R0		; GET TRANSFER COUNT
                            21   13  021E   676 	BEQL	65$				; IF 0, ILLEGAL PARAMETER
                            03   E0  0220   677 	BBS	#CSTS_V_M16,-			; IF '16' MODE, SKIP
                      04 06 A9       0222   678 		LIS_W_CSTS(R9),50$		; ELSE
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  15
V02-003                         CAM$LQSCAN, LIST Q-SCAN/STOP ON WORD COU  5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                  50   50   01   78  0225   679 	ASHL	#1,R0,R0			; CHANGE TO '24' WORD COUNT
                                     0229   680 50$:
                    06 A5   50   B0  0229   681 	MOVW	R0,FIB_W_DSIZE(R5)		; SAVE DATA SIZE
                                     022D   682 	IFCAMRE	FIB_B_F(R5),55$			; IF CAMAC READ, SKIP
                                     0237   683 	IFCAMWR	FIB_B_F(R5),60$			; IF CAMAC WRITE, SKIP
                                     0241   684 
                                     0241   685 65$:
                       50   14   3C  0241   686 	MOVZWL	#SS$_BADPARAM,R0		; SET ERROR STATUS
                          0046   31  0244   687 	BRW	90$				; EXIT PROCEDURE
                                     0247   688 
                                     0247   689 55$:
                         02 A9   B0  0247   690 	MOVW	LIS_W_REPNDX(R9),-		; DATA POINTER=REPLY INDEX
                         04 A5       024A   691 		FIB_W_DNDX(R5)
                            0A   11  024C   692 	BRB	70$				; GO CHECK IF RANDOM UPDATE
                                     024E   693 60$:
                         0C A5   B0  024E   694 	MOVW	FIB_W_EOF(R5),-			; SAVE OLD EOF VALUE AS 
                         04 A5       0251   695 		FIB_W_DNDX(R5)			; DATA INDEX
                         06 A5   A0  0253   696 	ADDW	FIB_W_DSIZE(R5),-		; COMPUTE NEW EOF VALUE
                         0C A5       0256   697 		FIB_W_EOF(R5)
                                     0258   698 70$:
                            6C   8F  0258   699 	CASEB	LQSC_NARGS(AP),-		; HANDLE ARGUMENTS BY CASE
                            05       025A   700 		#LQSC_MINARGS,-
                            07       025B   701 		#LQSC_MAXARGS
                                     025C   702 
                                     025C   703 80$:
                               002A' 025C   704 	.WORD	LQSC_THRU_COUNT-80$		; PARAMETERS THRU COUNT
                               0025' 025E   705 	.WORD	LQSC_THRU_DATA-80$		; PARAMETERS THRU DATA
                               000E' 0260   706 	.WORD	LQSC_THRU_FRAME-80$		; PARAMETERS THRU FRAME
                                     0262   707 
                  50   029C 8F   3C  0262   708 	MOVZWL	#SS$_TOOMUCHDATA,R0		; SET ERROR STATUS
                          0023   31  0267   709 	BRW	90$				; EXIT PROCEDURE
                                     026A   710 
                                     026A   711 LQSC_THRU_FRAME:
                         08 A9   D5  026A   712 	TSTL	LIS_L_FIBL(R9)			; CHECK IF LIST HAS FIBL?
                            12   13  026D   713 	BEQL	LQSC_THRU_DATA			; IF 0, NO FIBL ATTACHED
                         1C AC   D5  026F   714 	TSTL	LQSC_FRAME(AP)			; RANDOM FRAME # SPECIFIED
                            0D   13  0272   715 	BEQL	LQSC_THRU_DATA			; IF 0, NO FRAME SPECIFIED
                    52   1C BC   3C  0274   716 	MOVZWL	@LQSC_FRAME(AP),R2		; GET FRAME NUMBER
                          02C0   30  0278   717 	BSBW	CAM_VERFRAME			; VERIFY RANDOM FRAM UPDATE
                         03 50   E8  027B   718 	BLBS	R0,LQSC_THRU_DATA		; IF SUCCESS, CONTINUE
                          000C   31  027E   719 	BRW	90$				; ELSE, ABORT
                                     0281   720 LQSC_THRU_DATA:
                         18 AC   D0  0281   721 	MOVL	LQSC_DATA(AP),-			; SAVE DATA BUFFER ADDRESS
                         08 A5       0284   722 		FIB_L_DATA(R5)
                                     0286   723 
                                     0286   724 LQSC_THRU_COUNT:
                                     0286   725 
                    0E A5   02   90  0286   726 	MOVB	#2,FIB_B_TYPE(R5)		; LIST TYPE=Q-SCAN
                          0358   30  028A   727 	BSBW	CAM_LFRAME			; GENERATE LIST COMMAND FRAME
                                     028D   728 90$:
                                 04  028D   729 	RET					; RETURN FROM PROCEDURE CALL
                                     028E   730 	.DSABL	LSB
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  16
V02-003                         CAM$LSTOP, LIST STOP ON WORD COUNT PROCE  5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     028E   732 	.SBTTL	CAM$LSTOP, LIST STOP ON WORD COUNT PROCEDURE
                                     028E   733 	.ENABL	LSB
                                     028E   734 
                                     028E   735 ;+++
                                     028E   736 ;
                                     028E   737 ;	Procedure:
                                     028E   738 ;	CAM$LSTOP(EXE_LIST,(%DESCR(MODULE_NAME),A,F,COUNT[,DATA][,EXE_FRAME])
                                     028E   739 ;		Or
                                     028E   740 ;	CAM$LSTOP(EXE_LIST,(%DESCR(KEY),A,F,COUNT[,DATA][,EXE_FRAME])
                                     028E   741 ;
                                     028E   742 ;	Description:
                                     028E   743 ;	This procedure builds a Stop On Transfer Count command frame 
                                     028E   744 ;	into the specified execute list. If the optional frame number
                                     028E   745 ;	(EXE_FRAME) is specified, that frame in the execute list
                                     028E   746 ;	is updated with the specified parameters provided the
                                     028E   747 ;	command frame and data frame lengths are consistent with
                                     028E   748 ;	the LSTOP command and data frame lengths. If the frame number
                                     028E   749 ;	is not specified, the next available list frame(as determined
                                     028E   750 ;	from the list header) is used to receive the LSTOP command frame.
                                     028E   751 ;	If the specified execute list has a FIBL attached, a FIB
                                     028E   752 ;	is generated for this frame.
                                     028E   753 ;
                                     028E   754 ;	If the function code indicates a CAMAC write operation, data
                                     028E   755 ;	is cross-loaded from the data buffer(DATA) into the
                                     028E   756 ;	command frame. If the function code performs a CAMAC
                                     028E   757 ;	read, the data buffer is not required. Subsequent execution
                                     028E   758 ;	of the specified list will result in a stop mode
                                     028E   759 ;	block transfer transaction functionally equivalent
                                     028E   760 ;	to the execution of a CAM$STOP call. Data from
                                     028E   761 ;	a CAMAC read operation is returned to the reply list
                                     028E   762 ;	specified when the execute list is initiated.
                                     028E   763 ;	The memory format associated with the specified execute list
                                     028E   764 ;	(MEM=16 or 24) controls the interpretation of the transfer
                                     028E   765 ;	count(COUNT) value(i.e. for MEM=16, 1 transfer = 1 word;
                                     028E   766 ;	for MEM=24, 1 transfer = 2 words).
                                     028E   767 ;
                                     028E   768 ;	Parameters:
                                     028E   769 ;	EXE_LIST- address of an execute list buffer previously 
                                     028E   770 ;		declared via a CAM$DCLST procedure call,
                                     028E   771 ;	MODULE_NAME- address of a CHARACTER variable containing an ASCII 
                                     028E   772 ;		character string identifying the CAMAC module to be referenced,
                                     028E   773 ;	KEY- address of a longword descriptor for the key value
                                     028E   774 ;		previously computed for the CAMAC module via
                                     028E   775 ;		calling the procedure CAM$ASSIGN,
                                     028E   776 ;	A- address of a byte containing CAMAC subaddress,
                                     028E   777 ;	F- address of a byte containing CAMAC function code,
                                     028E   778 ;	COUNT- address of a word containing the CAMAC transfer
                                     028E   779 ;		count(in units of the memory format).
                                     028E   780 ;	DATA- address of data buffer that contains CAMAC write data
                                     028E   781 ;		or that will receive CAMAC read data.
                                     028E   782 ;	EXE_FRAME- address of a wordspecifying the command frame
                                     028E   783 ;		number to be updated by this LSTOP request. If not
                                     028E   784 ;		specified, the next available location in the execute
                                     028E   785 ;		list will be used.
                                     028E   786 ;
                                     028E   787 ;	Return Status:
                                     028E   788 ;
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  17
V02-003                         CAM$LSTOP, LIST STOP ON WORD COUNT PROCE  5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     028E   789 ;---
                                     028E   790 
                                     028E   791 
                                     028E   792 ;
                                     028E   793 ; PROCEDURE LOCAL DATA
                                     028E   794 ;
                           00000000  028E   795 LSTP_NARGS	= 0				; ARGUMENT COUNT
                           00000004  028E   796 LSTP_ELIST	= 4				; EXE LIST ADDRESS
                           00000008  028E   797 LSTP_MOD	= 8				; MODULE/KEY OFFSET
                           0000000C  028E   798 LSTP_A		= 12				; SUBADDRESS
                           00000010  028E   799 LSTP_F		= 16				; FUNCTION CODE
                           00000014  028E   800 LSTP_COUNT	= 20				; TRANSFER COUNT
                           00000018  028E   801 LSTP_DATA	= 24				; DATA BUFFER(OPTIONAL)
                           0000001C  028E   802 LSTP_FRAME	= 28				; FRAME NUMBER
                           00000005  028E   803 LSTP_MINARGS	= 5				; MIN ARG COUNT
                           00000007  028E   804 LSTP_MAXARGS	= 7				; MAX ARG COUNT
                           00000003  028E   805 LSTP_CSIZE	= 3				; CMD FRAME SIZE(WORDS)
                                     028E   806 
                                     028E   807 
                               0E3C  028E   808 	.ENTRY	CAM$LSTOP,^M<R2,R3,R4,R5,R9,R10,R11>
              5B   00000000'GF   9E  0290   809 	MOVAB	G^CAM_CIB,R11			; GET CAMAC IMAGE BLOCK ADDRESS
                            00   E0  0297   810 	BBS	#PSTS_V_JIBV,-			; IS JIB INFO VALID?
                      06 08 AB       0299   811 		CIB_L_PSTS(R11),10$		; IF SO, CONTINUE WITH IT
                   00000000'GF   16  029C   812 	JSB	G^CAM_GETJIB			; ELSE, GET NEW JIB/PCB INFO
                                     02A2   813 10$:
                            6C   91  02A2   814 	CMPB	LSTP_NARGS(AP),-		; CHECK AGANIST MIN ARG COUNT
                            05       02A4   815 		#LSTP_MINARGS
                            0A   18  02A5   816 	BGEQ	20$				; IF SUFFICIENT, CONTINUE
              50   00000114 8F   D0  02A7   817 	MOVL	#SS$_INSFARG,R0			; SET INSUFF ARGS STATUS
                          00BD   31  02AE   818 	BRW	90$				; EXIT ROUTINE
                                     02B1   819 20$:
                                     02B1   820 	ALOSTAK	#CRP_K_LENGTH,R10		; ALLOCATE CRP ON STACK
                   00000000'GF   16  02BB   821 	JSB	G^CAM_INITCRP			; INITIALIZE CRP
                    59   04 AC   D0  02C1   822 	MOVL	LSTP_ELIST(AP),R9		; GET EXE LIST ADDRESS
                         06 A9   B0  02C5   823 	MOVW	LIS_W_CSTS(R9),-		; COPY LIST STATUS INTO CRP
                         02 AA       02C8   824 		CRP_W_STS(R10)			; INTO CRP STATUS
                    51   08 AC   D0  02CA   825 	MOVL	LSTP_MOD(AP),R1			; GET MOD/KEY DESCR ADDRESS
                          02D8   30  02CE   826 	BSBW	CAM_LISMOD			; GET LIST MODULE DATA
                         03 50   E8  02D1   827 	BLBS	R0,110$				; IF SUCCESS, CONTINUE
                          0097   31  02D4   828 	BRW	90$				; ELSE, ABORT
                                     02D7   829 110$:
                 4D AA   0C BC   90  02D7   830 	MOVB	@LSTP_A(AP),CRP_B_A(R10)	; COPY CAMAC SUBADDRESS
                 4E AA   10 BC   90  02DC   831 	MOVB	@LSTP_F(AP),CRP_B_F(R10)	; AND FUNCTION CODE
                    55   04 AA   9E  02E1   832 	MOVAB	CRP_Q_FIB(R10),R5		; GET WORKING FIB ADDRESS
                            65   7C  02E5   833 	CLRQ	(R5)				; ZERO WORKING FIB
                            69   B0  02E7   834 	MOVW	LIS_W_EXENDX(R9),-		; SAVE CMD FRAME PNTR IN
                            65       02E9   835 		FIB_W_CNDX(R5)			; WORK FIB
                       50   03   9A  02EA   836 	MOVZBL	#LSTP_CSIZE,R0			; GET COMMAND FRAME SIZE
                    03 A5   50   90  02ED   837 	MOVB	R0,FIB_B_CSIZE(R5)		; SAVE IN FIB
                       65   50   A1  02F1   838 	ADDW3	R0,FIB_W_CNDX(R5),-		; COMPUTE WORKING END OF FRAME
                         0C A5       02F4   839 		FIB_W_EOF(R5)
                         4E AA   90  02F6   840 	MOVB	CRP_B_F(R10),-			; SAVE CAMAC FUNCTION CODE
                         02 A5       02F9   841 		FIB_B_F(R5)
                    50   14 BC   3C  02FB   842 	MOVZWL	@LSTP_COUNT(AP),R0		; GET TRANSFER COUNT
                            21   13  02FF   843 	BEQL	65$				; IF 0, ILLEGAL PARAMETER
                            03   E0  0301   844 	BBS	#CSTS_V_M16,-			; IF '16' MODE, SKIP
                      04 06 A9       0303   845 		LIS_W_CSTS(R9),50$		; ELSE
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  18
V02-003                         CAM$LSTOP, LIST STOP ON WORD COUNT PROCE  5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                  50   50   01   78  0306   846 	ASHL	#1,R0,R0			; CHANGE TO '24' WORD COUNT
                                     030A   847 50$:
                    06 A5   50   B0  030A   848 	MOVW	R0,FIB_W_DSIZE(R5)		; SAVE DATA SIZE
                                     030E   849 	IFCAMRE	FIB_B_F(R5),55$			; IF CAMAC READ, SKIP
                                     0318   850 	IFCAMWR	FIB_B_F(R5),60$			; IF CAMAC WRITE, SKIP
                                     0322   851 
                                     0322   852 65$:
                       50   14   3C  0322   853 	MOVZWL	#SS$_BADPARAM,R0		; SET ERROR STATUS
                          0046   31  0325   854 	BRW	90$				; EXIT PROCEDURE
                                     0328   855 
                                     0328   856 55$:
                         02 A9   B0  0328   857 	MOVW	LIS_W_REPNDX(R9),-		; DATA POINTER=REPLY INDEX
                         04 A5       032B   858 		FIB_W_DNDX(R5)
                            0A   11  032D   859 	BRB	70$				; GO CHECK IF RANDOM UPDATE
                                     032F   860 60$:
                         0C A5   B0  032F   861 	MOVW	FIB_W_EOF(R5),-			; USE OLD EOF FOR DATA INDEX
                         04 A5       0332   862 		FIB_W_DNDX(R5)
                         06 A5   A0  0334   863 	ADDW	FIB_W_DSIZE(R5),-		; COMPUTE NEW EOF
                         0C A5       0337   864 		FIB_W_EOF(R5)
                                     0339   865 70$:
                            6C   8F  0339   866 	CASEB	LSTP_NARGS(AP),-		; HANDLE ARGUMENTS BY CASE
                            05       033B   867 		#LSTP_MINARGS,-
                            07       033C   868 		#LSTP_MAXARGS
                                     033D   869 
                                     033D   870 80$:
                               002A' 033D   871 	.WORD	LSTP_THRU_COUNT-80$		; PARAMETERS THRU COUNT
                               0025' 033F   872 	.WORD	LSTP_THRU_DATA-80$		; PARAMETERS THRU DATA
                               000E' 0341   873 	.WORD	LSTP_THRU_FRAME-80$		; PARAMETERS THRU FRAME
                                     0343   874 
                  50   029C 8F   3C  0343   875 	MOVZWL	#SS$_TOOMUCHDATA,R0		; SET ERROR STATUS
                          0023   31  0348   876 	BRW	90$				; EXIT PROCEDURE
                                     034B   877 
                                     034B   878 LSTP_THRU_FRAME:
                         08 A9   D5  034B   879 	TSTL	LIS_L_FIBL(R9)			; CHECK IF LIST HAS FIBL?
                            12   13  034E   880 	BEQL	LSTP_THRU_DATA			; IF 0, NO FIBL ATTACHED
                         1C AC   D5  0350   881 	TSTL	LSTP_FRAME(AP)			; RANDOM FRAME # SPECIFIED
                            0D   13  0353   882 	BEQL	LSTP_THRU_DATA			; IF 0, NO FRAME SPECIFIED
                    52   1C BC   3C  0355   883 	MOVZWL	@LSTP_FRAME(AP),R2		; GET FRAME NUMBER
                          01DF   30  0359   884 	BSBW	CAM_VERFRAME			; VERIFY RANDOM FRAME UPDATE
                         03 50   E8  035C   885 	BLBS	R0,LSTP_THRU_DATA		; IF SUCCESS, CONTINUE
                          000C   31  035F   886 	BRW	90$				; ELSE, ABORT
                                     0362   887 LSTP_THRU_DATA:
                         18 AC   D0  0362   888 	MOVL	LSTP_DATA(AP),-			; SAVE DATA BUFFER ADDRESS
                         08 A5       0365   889 		FIB_L_DATA(R5)
                                     0367   890 
                                     0367   891 LSTP_THRU_COUNT:
                                     0367   892 
                    0E A5   03   90  0367   893 	MOVB	#3,FIB_B_TYPE(R5)		; LIST TYPE=STOP
                          0277   30  036B   894 	BSBW	CAM_LFRAME			; GENERATE LIST COMMAND FRAME
                                     036E   895 90$:
                                 04  036E   896 	RET					; RETURN FROM PROCEDURE CALL
                                     036F   897 	.DSABL	LSB
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  19
V02-003                         CAM$EXECUTE(W), EXECUTE CURRENT LIST BUF  5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     036F   899 	.SBTTL	CAM$EXECUTE(W), EXECUTE CURRENT LIST BUFFER PROCEDURE
                                     036F   900 	.ENABL	LSB
                                     036F   901 
                                     036F   902 ;+++
                                     036F   903 ;
                                     036F   904 ;	Procedure:
                                     036F   905 ;	CAM$EXECUTE(W)(EXE_LIST,[REPLY_LIST,BLENGTH][,IOSB]
                                     036F   906 ;		[,EFN][,AST][,ASTPRM])
                                     036F   907 ;
                                     036F   908 ;	Description:
                                     036F   909 ;	This procedure executes the specified list of CAMAC command
                                     036F   910 ;	frames built by calls to the list mode access procedures.
                                     036F   911 ;	For this call to be successful, the specified execute list must
                                     036F   912 ;	 have a nonzero execute list frame pointer value. 
                                     036F   913 ;	The execute list frame pointer is contained in the list
                                     036F   914 ;	header(an eight word reserved area at the beginning of the
                                     036F   915 ;	execute list buffer) and is maintained by the list mode
                                     036F   916 ;	access procedures. This pointer determines the length of
                                     036F   917 ;	the execute list buffer for the execute list call.
                                     036F   918 ;	If the specified list contains any CAMAC read command frames,
                                     036F   919 ;	the optional reply list buffer(REPLY_LIST) and length
                                     036F   920 ;	(BLENGTH) are required. The execute list header also contains
                                     036F   921 ;	a reply list pointer that specifies the next available
                                     036F   922 ;	word on the reply list(hence the length of the reply list
                                     036F   923 ;	required to receive CAMAC read data from the execution of
                                     036F   924 ;	the specified command list). If the buffer length specified
                                     036F   925 ;	for the given reply list buffer is not sufficient to 
                                     036F   926 ;	contain the read data resulting from the execution of the
                                     036F   927 ;	specified command list, request is not allowed.
                                     036F   928 ;
                                     036F   929 ;	If the I/O status block parameter is specified, the status
                                     036F   930 ;	of the CAMAC I/O operation is returned in that quadword
                                     036F   931 ;	buffer. If not, a quadword in the CAMAC image block is
                                     036F   932 ;	used to receive the status.
                                     036F   933 ;	
                                     036F   934 ;	If the proceed mode call(CAM$EXECUTE) is used, control returns
                                     036F   935 ;	 to the caller as soon as the CAMAC request is queued to 
                                     036F   936 ;	the system. If the wait mode call(CAM$EXECUTEW) is used, control 
                                     036F   937 ;	is returned to the calling program only when the CAMAC I/O 
                                     036F   938 ;	is complete. 
                                     036F   939 ;
                                     036F   940 ;	The I/O synchronization parameters(EFN, AST and ASTP) are used
                                     036F   941 ;	in the same manner as their counterparts in the QIO and QIOW
                                     036F   942 ;	system services. See the VAX System Services Reference Manual
                                     036F   943 ;	for further discussion if needed.
                                     036F   944 ;
                                     036F   945 ;
                                     036F   946 ;	Parameters:
                                     036F   947 ;	EXE_LIST- address of an execute list buffer previously
                                     036F   948 ;		declared via a CAM$DCLST procedure call and
                                     036F   949 ;		containing CAMAC command frames built by calls
                                     036F   950 ;		to the list mode access procedures CAM$LPIO,
                                     036F   951 ;		CAM$LQSCAN, CAM$LSTOP,
                                     036F   952 ;	REPLY_LIST- address of the buffer used to receive
                                     036F   953 ;		CAMAC read data from the execution of the current
                                     036F   954 ;		list,
                                     036F   955 ;	BLENGTH- address of a word containing the length of the
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  20
V02-003                         CAM$EXECUTE(W), EXECUTE CURRENT LIST BUF  5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     036F   956 ;		buffer in units of words.
                                     036F   957 ;	IOSB- address of a quadword buffer to receive I/O completion
                                     036F   958 ;		status from the CAMAC request.
                                     036F   959 ;
                                     036F   960 ;	Optional I/O Synchronization Parameters:
                                     036F   961 ;	EFN- value specifying the number of a local event flag
                                     036F   962 ;		to be set upon I/O completion. If not specified, the
                                     036F   963 ;		default process event flag from the CAMAC image block
                                     036F   964 ;		is used,
                                     036F   965 ;	AST- address of an AST procedure to receive an I/O completion
                                     036F   966 ;		AST,
                                     036F   967 ;	ASTPRM- address of a longword containing a parameter to
                                     036F   968 ;		be passed to the specified AST procedure.
                                     036F   969 ;
                                     036F   970 ;
                                     036F   971 ;	Return Status:
                                     036F   972 ;
                                     036F   973 ;---
                                     036F   974 
                                     036F   975 
                                     036F   976 ;
                                     036F   977 ; PROCEDURE LOCAL DATA
                                     036F   978 ;
                           00000000  036F   979 EXE_NARGS	= 0				; ARGUMENT COUNT
                           00000004  036F   980 EXE_ELIST	= 4				; EXE LIST BUFFER
                           00000008  036F   981 EXE_RLIST	= 8				; REPLY LIST BUFFER
                           0000000C  036F   982 EXE_RLEN	= 12				; REPLY LIST BUFFER LENGTH
                           00000010  036F   983 EXE_IOSB	= 16				; EXECUTE CALL IOSB
                           00000014  036F   984 EXE_EFN		= 20				; EXECUTE CALL EVENT FLAG VALUE
                           00000018  036F   985 EXE_AST		= 24				; EXECUTE CALL AST ADDR
                           0000001C  036F   986 EXE_ASTP	= 28				; EXECUTE CALL AST PARM
                           00000001  036F   987 EXE_MINARGS	= 1				; MIN ARG COUNT
                           00000007  036F   988 EXE_MAXARGS	= 7				; MAX ARG COUNT
                                     036F   989 
                                     036F   990 ;
                                     036F   991 ;	WAIT MODE ENTRY POINT
                                     036F   992 ;
                               0E3C  036F   993 	.ENTRY	CAM$EXECUTEW,^M<R2,R3,R4,R5,R9,R10,R11>
                                     0371   994 
                       59   01   CE  0371   995 	MNEGL	#1,R9				; SET WAIT MODE INDICATOR
                            04   11  0374   996 	BRB	CAM_EXECUTE			; JOIN COMMON FLOW
                                     0376   997 
                                     0376   998 ;
                                     0376   999 ;	PROCEED MODE ENTRY POINT
                                     0376  1000 ;
                               0E3C  0376  1001 	.ENTRY	CAM$EXECUTE,^M<R2,R3,R4,R5,R9,R10,R11>
                                     0378  1002 	
                            59   D4  0378  1003 	CLRL	R9				; RESET WAIT MODE INDICATOR
                                     037A  1004 
                                     037A  1005 CAM_EXECUTE:					; COMMON EXECUTE FLOW
              5B   00000000'GF   9E  037A  1006 	MOVAB	G^CAM_CIB,R11			; GET CAMAC IMAGE BLOCK ADDRESS
                            00   E0  0381  1007 	BBS	#PSTS_V_JIBV,-			; IS JIB INFO VALID?
                      06 08 AB       0383  1008 		CIB_L_PSTS(R11),10$		; IF SO, CONTINUE WITH IT
                   00000000'GF   16  0386  1009 	JSB	G^CAM_GETJIB			; ELSE, GET NEW JIB/PCB INFO
                                     038C  1010 10$:
                            6C   91  038C  1011 	CMPB	EXE_NARGS(AP),-			; CHECK AGANIST MIN ARG COUNT
                            01       038E  1012 		#EXE_MINARGS
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  21
V02-003                         CAM$EXECUTE(W), EXECUTE CURRENT LIST BUF  5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                            0A   18  038F  1013 	BGEQ	20$				; IF SUFFICIENT, CONTINUE
              50   00000114 8F   D0  0391  1014 	MOVL	#SS$_INSFARG,R0			; SET INSUFF ARGS STATUS
                          00F4   31  0398  1015 	BRW	90$				; EXIT ROUTINE
                                     039B  1016 20$:
                                     039B  1017 	ALOSTAK	#CRP_K_LENGTH,R10		; ALLOCATE CRP ON STACK
                   00000000'GF   16  03A5  1018 	JSB	G^CAM_INITCRP			; INITIALIZE CRP
                  01   01   59   F0  03AB  1019 	INSV	R9,#CRPS_V_WAIT,#CRPS_S_WAIT,-	; COPY WAIT INDICATOR TO
                         02 AA       03AF  1020 		CRP_W_STS(R10)			; CRP STATUS WORD
                    55   04 AC   D0  03B1  1021 	MOVL	EXE_ELIST(AP),R5		; GET EXECUTE LIST ADDR
                         06 A5   B0  03B5  1022 	MOVW	LIS_W_CSTS(R5),-		; COPY LIST STATE INTO
                            6A       03B8  1023 		CRP_W_CSTS(R10)			; CRP CAMAC STATE FIELD
                         38 AA   7C  03B9  1024 	CLRQ	CRP_Q_RTB(R10)			; CLEAR REG TEMPLATE BLOCK
                    59   04 AA   9E  03BC  1025 	MOVAB	CRP_L_QIOL(R10),R9		; USE R9 FOR QIO LIST POINTER
                       69   0C   9A  03C0  1026 	MOVZBL	#QIO$_NARGS,(R9)		; SET QIO ARG LIST COUNT
                         24 AB   9A  03C3  1027 	MOVZBL	CIB_B_EFN(R11),-		; USE DEFAULT EFN
                         04 A9       03C6  1028 		QIO$_EFN(R9)
                            32   3C  03C8  1029 	MOVZWL	#IO$_CAMIO,-			; QIO FUNCTION CODE
                         0C A9       03CA  1030 		QIO$_FUNC(R9)
                         0E A5   3C  03CC  1031 	MOVZWL	LIS_W_CHAN(R5),-		; SAVE CHAN IN QIO LIST
                         08 A9       03CF  1032 		QIO$_CHAN(R9)
                            6B   9E  03D1  1033 	MOVAB	CIB_Q_IOSB(R11),-		; DEFAULT TO CIB IOSB
                         10 A9       03D3  1034 		QIO$_IOSB(R9)
                         14 A5   9E  03D5  1035 	MOVAB	LIS_K_LENGTH(R5),-		; COMMAND FRAME START
                         20 A9       03D8  1036 		QIO$_P2(R9)			; AS QIO P2
                            0A   A3  03DA  1037 	SUBW3	#<LIS_K_LENGTH/2>,-		; COMPUTE LIST WORD COUNT
                       50   65       03DC  1038 		LIS_W_EXENDX(R5),R0
               24 A9   50   01   78  03DE  1039 	ASHL	#1,R0,QIO$_P3(R9)		; CONVERT TO BYTE COUNT
                                     03E3  1040 						; AND STORE IN QIO LIST
                            6C   8F  03E3  1041 	CASEB	EXE_NARGS(AP),-			; HANDLE PARAMETERS BY CASE
                            01       03E5  1042 		#EXE_MINARGS,-
                            07       03E6  1043 		#EXE_MAXARGS
                                     03E7  1044 30$:
                               004F' 03E7  1045 	.WORD	EXE_THRU_ELIST-30$		; PARAMETERS THRU ELIST
                               0049' 03E9  1046 	.WORD	EXE_THRU_RLIST-30$		; PARAMETERS THRU REP LIST
                               002F' 03EB  1047 	.WORD	EXE_THRU_RLEN-30$		; PARAMETERS THRU REP LEN
                               0025' 03ED  1048 	.WORD	EXE_THRU_IOSB-30$		; PARAMETERS THRU IOSB
                               0020' 03EF  1049 	.WORD	EXE_THRU_EFN-30$		; PARAMETERS THRU EFN
                               001B' 03F1  1050 	.WORD	EXE_THRU_AST-30$		; PARAMETERS THRU AST ADR
                               0016' 03F3  1051 	.WORD	EXE_THRU_ASTP-30$		; PARAMETERS THRU AST PARM
                                     03F5  1052 
                  50   029C 8F   3C  03F5  1053 	MOVZWL	#SS$_TOOMUCHDATA,R0		; TOO MANY PARAMETERS
                          0092   31  03FA  1054 	BRW	90$				; EXIT ROUTINE
                                     03FD  1055 
                                     03FD  1056 EXE_THRU_ASTP:
                         1C AC   D0  03FD  1057 	MOVL	EXE_ASTP(AP),-			; COPY AST PARM TO QIO
                         18 A9       0400  1058 		QIO$_ASTPRM(R9)			; PARM LIST
                                     0402  1059 EXE_THRU_AST:
                         18 AC   D0  0402  1060 	MOVL	EXE_AST(AP),-			; COPY AST PROC ADDRESS
                         14 A9       0405  1061 		QIO$_ASTADR(R9)			; TO QIO PARM LIST
                                     0407  1062 EXE_THRU_EFN:
                         14 AC   9A  0407  1063 	MOVZBL	EXE_EFN(AP),-			; COPY EVENT FLAG NUMB TO
                         04 A9       040A  1064 		QIO$_EFN(R9)			; QIO PARM LIST
                                     040C  1065 EXE_THRU_IOSB:
                         10 AC   D5  040C  1066 	TSTL	EXE_IOSB(AP)			; CHECK FOR VALID IOSB
                            05   13  040F  1067 	BEQL	EXE_THRU_RLEN			; IF 0, NULL PARAMETER
                         10 AC   D0  0411  1068 	MOVL	EXE_IOSB(AP),-			; ELSE, ASSUME VALID IOSB
                         10 A9       0414  1069 		QIO$_IOSB(R9)			; ADDRESS FOR QIO
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  22
V02-003                         CAM$EXECUTE(W), EXECUTE CURRENT LIST BUF  5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     0416  1070 EXE_THRU_RLEN:
                         0C AC   D5  0416  1071 	TSTL	EXE_RLEN(AP)			; CHECK IF MEM SPECIFIED
                            1B   13  0419  1072 	BEQL	EXE_THRU_ELIST			; IF 0, NULL PARAMETER
                    50   0C BC   3C  041B  1073 	MOVZWL	@EXE_RLEN(AP),R0		; GET REPLY LIST LENGTH
               2C A9   50   01   78  041F  1074 	ASHL	#1,R0,QIO$_P5(R9)		; CONVERT TO BYTE COUNT AND
                                     0424  1075 						; SAVE IN QIO LIST
                         08 AC   D5  0424  1076 	TSTL	EXE_RLIST(AP)			; REPLY LIST SPECIFIED?
                            07   13  0427  1077 	BEQL	EXE_THRU_RLIST			; IF 0, NULL PARAMETER
                         08 AC   D0  0429  1078 	MOVL	EXE_RLIST(AP),-			; SAVE REP LIST ADDRESS
                         28 A9       042C  1079 		QIO$_P4(R9)			; IN QIO LIST
                            06   11  042E  1080 	BRB	EXE_THRU_ELIST			; CONTINUE 
                                     0430  1081 EXE_THRU_RLIST:
                       50   14   3C  0430  1082 	MOVZWL	#SS$_BADPARAM,R0		; SET ERROR STATUS
                          0059   31  0433  1083 	BRW	90$				; EXIT PROCEDURE
                                     0436  1084 EXE_THRU_ELIST:
                                     0436  1085 
                    50   02 A5   3C  0436  1086 	MOVZWL	LIS_W_REPNDX(R5),R0		; GET REP LIST INDEX
                            12   13  043A  1087 	BEQL	140$				; IF 0, NO REPLY LST NEEDED
                  50   50   01   78  043C  1088 	ASHL	#1,R0,R0			; CONVERT TO BYTE COUNT
                    2C A9   50   D1  0440  1089 	CMPL	R0,QIO$_P5(R9)			; SPECIFIED REP LST ADEQUATE?
                            08   15  0444  1090 	BLEQ	140$				; IF LESS OR EQUAL, OK
                  50   0124 8F   3C  0446  1091 	MOVZWL	#SS$_INSFMEM,R0			; RETURN ERROR STATUS
                          0041   31  044B  1092 	BRW	90$				; EXIT ROUTINE
                                     044E  1093 140$:
                    2C A9   50   D0  044E  1094 	MOVL	R0,QIO$_P5(R9)			; USE ONLY REQUIRED REP LIST LENGTH
                       01   00   EF  0452  1095 	EXTZV	#CSTS_V_QDC,#CSTS_S_QDC,-
                       50   6A       0455  1096 		CRP_W_CSTS(R10),R0		; GET QDC STATE
                                     0457  1097 	SHCTR	-				; BUILD CTR TEMPLATE
                                     0457  1098 		QDCV=R0,-			; Q DON'T CARE VALUE
                                     0457  1099 		MODE=#4,-			; MODE 4
                                     0457  1100 		CTRV=CRP_W_CTR(R10)
                       01   03   EF  0466  1101 	EXTZV	#CSTS_V_M16,#CSTS_S_M16,-
                       50   6A       0469  1102 		CRP_W_CSTS(R10),R0		; GET MEM FORMAT STATE
                                     046B  1103 	SHCDH	-				; BUILD CDH TEMPLATE
                                     046B  1104 		M16V=R0,-			; MEM FORMAT STATE
                                     046B  1105 		CDHV=CRP_W_CDH(R10)
                                     0474  1106 
                         38 AA   9E  0474  1107 	MOVAB	CRP_Q_RTB(R10),-		; ADDRESS OF RTB AS QIO P1
                         1C A9       0477  1108 		QIO$_P1(R9)
                            01   E1  0479  1109 	BBC	#CRPS_V_WAIT,-			; CHECK IF WAIT/PROCEED
                      0A 02 AA       047B  1110 		CRP_W_STS(R10),80$		; IF 'WAIT' CLEAR, RETURN
                                     047E  1111 	$QIOW_G	(R9)				; ISSUE QIO+WAIT CALL
                          0007   31  0485  1112 	BRW	90$				; RETURN ON COMPLETION
                                     0488  1113 80$:
                                     0488  1114 	$QIO_G	(R9)				; ISSUE QIO CALL
                                     048F  1115 	
                                     048F  1116 90$:
                                 04  048F  1117 	RET					; RETURN FROM PROCEDURE CALL
                                     0490  1118 	.DSABL	LSB
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  23
V02-003                         CAM$RDATA, READ DATA FROM REPLY LIST      5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     0490  1120 	.SBTTL	CAM$RDATA, READ DATA FROM REPLY LIST
                                     0490  1121 	.ENABL	LSB
                                     0490  1122 
                                     0490  1123 ;+++
                                     0490  1124 ;
                                     0490  1125 ;	Procedure:
                                     0490  1126 ;	CAM$RDATA(EXELST,FRAME,REPLST,READ_DATA)
                                     0490  1127 ;
                                     0490  1128 ;	Description:
                                     0490  1129 ;	This procedure provides a means of accessing CAMAC read data
                                     0490  1130 ;	resluting from the execution of a CAMAC command list(via the
                                     0490  1131 ;	CAM$EXECUTE call). The key for referencing the CAMAC read data is
                                     0490  1132 ;	the execute list frame number(FRAME). Successful use of this procedure
                                     0490  1133 ;	requires that a Frame Information Block List(FIBL) be associated with
                                     0490  1134 ;	the specified execute list(EXELST). The procedure verifies that the
                                     0490  1135 ;	specified frame in the execute list did indeed perform a CAMAC read
                                     0490  1136 ;	operation and if so, transfers the data read by the execution of that
                                     0490  1137 ;	frame from the specified reply list(REPLST) into the specified read
                                     0490  1138 ;	data buffer(READ_DATA). The number of words transfered is determined
                                     0490  1139 ;	from the FIB for the specified frame.
                                     0490  1140 ;
                                     0490  1141 ;	Parameters:
                                     0490  1142 ;	EXELST- address of an execute list buffer(assumed to have been
                                     0490  1143 ;		executed prior to this call),
                                     0490  1144 ;	FRAME- address of a word specifying the desired frame to be returned,
                                     0490  1145 ;	REPLST- address of a reply list buffer(assumed to contain CAMAC read
                                     0490  1146 ;		data as the result of executing the specified execute list),
                                     0490  1147 ;	READ_DATA- address of a buffer to receive the data resulting from the
                                     0490  1148 ;		execution of the specified frame from the execute list.
                                     0490  1149 ;
                                     0490  1150 ;---
                                     0490  1151 ;
                                     0490  1152 ;	PROCEDURE LOCAL DATA
                                     0490  1153 ;
                           00000000  0490  1154 RDA_NARGS	= 0				; ARGUMENT COUNT
                           00000004  0490  1155 RDA_ELIST	= 4				; EXE LIST ADDR
                           00000008  0490  1156 RDA_FRAME	= 8				; FRAME NUMBER
                           0000000C  0490  1157 RDA_RLIST	= 12				; REPLY LIST
                           00000010  0490  1158 RDA_DATA	= 16				; DATA BUFFER
                           00000004  0490  1159 RDA_MINARGS	= 4				; MIN ARG COUNT
                                     0490  1160 
                               001C  0490  1161 	.ENTRY	CAM$RDATA,^M<R2,R3,R4>
                                     0492  1162 
                       04   6C   91  0492  1163 	CMPB	RDA_NARGS(AP),#RDA_MINARGS	; ARG COUNT RIGHT?
                            06   13  0495  1164 	BEQL	10$				; IF SO, CONTINUE
                  50   0114 8F   3C  0497  1165 	MOVZWL	#SS$_INSFARG,R0			; NOT ENOUGH ARGS
                                 04  049C  1166 	RET					; RETURN TO CALLER
                                     049D  1167 10$:
                    53   04 AC   D0  049D  1168 	MOVL	RDA_ELIST(AP),R3		; GET EXE LIST ADDR
                         08 A3   D5  04A1  1169 	TSTL	LIS_L_FIBL(R3)			; FIB ATTACHED?
                            1D   13  04A4  1170 	BEQL	20$				; IF SO, CONTINUE
                    51   08 BC   3C  04A6  1171 	MOVZWL	@RDA_FRAME(AP),R1		; GET FRAME NUMBER
                            17   13  04AA  1172 	BEQL	20$				; IF 0, ERROR
                    0C A3   51   B1  04AC  1173 	CMPW	R1,LIS_W_FRAME(R3)		; FRAME VALID?
                            11   14  04B0  1174 	BGTR	20$				; IF NOT, ERROR
                            51   D7  04B2  1175 	DECL	R1				; USE FRAME FOR FIBL INDEX
                  54   08 B341   7E  04B4  1176 	MOVAQ	@LIS_L_FIBL(R3)[R1],R4		; GET FIB ADDRESS
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  24
V02-003                         CAM$RDATA, READ DATA FROM REPLY LIST      5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     04B9  1177 	IFCAMRE	FIB_B_F(R4),40$			; CONTINUE IF CAMAC READ FRAME
                                     04C3  1178 20$:
                       50   14   3C  04C3  1179 	MOVZWL	#SS$_BADPARAM,R0		; SET ERROR STATUS
                          001C   31  04C6  1180 	BRW	90$				; ABORT CALL
                                     04C9  1181 40$:
                    51   04 A4   3C  04C9  1182 	MOVZWL	FIB_W_DNDX(R4),R1		; GET DATA INDEX(0-RELATIVE)
                  51   0C BC41   3E  04CD  1183 	MOVAW	@RDA_RLIST(AP)[R1],R1		; START WORD ADDRESS ON REPLST
                    52   10 AC   D0  04D2  1184 	MOVL	RDA_DATA(AP),R2			; AND READ BUFFER ADDRESS
                    50   06 A4   3C  04D6  1185 	MOVZWL	FIB_W_DSIZE(R4),R0		; AND DATA SIZE(IN WORDS)
                            06   13  04DA  1186 	BEQL	60$				; IF SIZE 0, EXIT HERE
                                     04DC  1187 50$:
                       82   81   B0  04DC  1188 	MOVW	(R1)+,(R2)+			; TRANSFER DATA WORD
                         FA 50   F5  04DF  1189 	SOBGTR	R0,50$				; CONTINUE UNTIL 0
                                     04E2  1190 60$:
                       50   01   9A  04E2  1191 	MOVZBL	#SS$_NORMAL,R0			; NORMAL STATUS
                                     04E5  1192 90$:
                                 04  04E5  1193 	RET					; RETURN TO CALLER
                                     04E6  1194 	.DSABL	LSB
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  25
V02-003                         CAM$WDATA, WRITE DATA TO EXECUTE LIST     5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     04E6  1196 	.SBTTL	CAM$WDATA, WRITE DATA TO EXECUTE LIST
                                     04E6  1197 	.ENABL	LSB
                                     04E6  1198 
                                     04E6  1199 ;+++
                                     04E6  1200 ;
                                     04E6  1201 ;	Procedure:
                                     04E6  1202 ;	CAM$WDATA(EXELST,FRAME,WRITE_DATA)
                                     04E6  1203 ;
                                     04E6  1204 ;	Description:
                                     04E6  1205 ;	This procedure provides a means of updating CAMAC write data
                                     04E6  1206 ;	in a CAMAC command list. The key for referencing the CAMAC read data is
                                     04E6  1207 ;	the execute list frame number(FRAME). Successful use of this procedure
                                     04E6  1208 ;	requires that a Frame Information Block List(FIBL) be associated with
                                     04E6  1209 ;	the specified execute list(EXELST). The procedure verifies that the
                                     04E6  1210 ;	specified frame in the execute list intends to perform a CAMAC write
                                     04E6  1211 ;	operation and if so, transfers the data from the specified write data
                                     04E6  1212 ;	buffer(WRITE_DATA) into the execute list to update the write data for 
                                     04E6  1213 ;	the specified frame. The number of words transfered is determined
                                     04E6  1214 ;	from the FIB for the specified frame.
                                     04E6  1215 ;
                                     04E6  1216 ;	Parameters:
                                     04E6  1217 ;	EXELST- address of an execute list buffer(assumed to have been
                                     04E6  1218 ;		executed prior to this call),
                                     04E6  1219 ;	FRAME- address of a word specifying the desired frame to be returned,
                                     04E6  1220 ;	WRITE_DATA- address of a buffer to containing the data to be written
                                     04E6  1221 ;		into the specified frame of the execute list.
                                     04E6  1222 ;
                                     04E6  1223 ;---
                                     04E6  1224 ;
                                     04E6  1225 ;	PROCEDURE LOCAL DATA
                                     04E6  1226 ;
                           00000000  04E6  1227 WDA_NARGS	= 0				; ARGUMENT COUNT
                           00000004  04E6  1228 WDA_ELIST	= 4				; EXE LIST ADDR
                           00000008  04E6  1229 WDA_FRAME	= 8				; FRAME NUMBER
                           0000000C  04E6  1230 WDA_DATA	= 12				; DATA BUFFER
                           00000003  04E6  1231 WDA_MINARGS	= 3				; MIN ARG COUNT
                                     04E6  1232 
                               001C  04E6  1233 	.ENTRY	CAM$WDATA,^M<R2,R3,R4>
                                     04E8  1234 
                       03   6C   91  04E8  1235 	CMPB	WDA_NARGS(AP),#WDA_MINARGS	; ARG COUNT RIGHT?
                            06   13  04EB  1236 	BEQL	10$				; IF SO, CONTINUE
                  50   0114 8F   3C  04ED  1237 	MOVZWL	#SS$_INSFARG,R0			; NOT ENOUGH ARGS
                                 04  04F2  1238 	RET					; RETURN TO CALLER
                                     04F3  1239 10$:
                    53   04 AC   D0  04F3  1240 	MOVL	WDA_ELIST(AP),R3		; GET EXE LIST ADDR
                         08 A3   D5  04F7  1241 	TSTL	LIS_L_FIBL(R3)			; FIB ATTACHED?
                            1D   13  04FA  1242 	BEQL	20$				; IF SO, CONTINUE
                    51   08 BC   3C  04FC  1243 	MOVZWL	@WDA_FRAME(AP),R1		; GET FRAME NUMBER
                            17   13  0500  1244 	BEQL	20$				; IF 0, ERROR
                    0C A3   51   B1  0502  1245 	CMPW	R1,LIS_W_FRAME(R3)		; FRAME VALID?
                            11   14  0506  1246 	BGTR	20$				; IF NOT, ERROR
                            51   D7  0508  1247 	DECL	R1				; USE FRAME FOR FIBL INDEX
                  54   08 B341   7E  050A  1248 	MOVAQ	@LIS_L_FIBL(R3)[R1],R4		; GET FIB ADDRESS
                                     050F  1249 	IFCAMWR	FIB_B_F(R4),40$			; CONTINUE IF CAMAC WRITE FRAME
                                     0519  1250 20$:
                       50   14   3C  0519  1251 	MOVZWL	#SS$_BADPARAM,R0		; SET ERROR STATUS
                          001B   31  051C  1252 	BRW	90$				; ABORT CALL
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  26
V02-003                         CAM$WDATA, WRITE DATA TO EXECUTE LIST     5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     051F  1253 40$:
                    51   04 A4   3C  051F  1254 	MOVZWL	FIB_W_DNDX(R4),R1		; GET DATA INDEX(0-RELATIVE)
                     51   6341   3E  0523  1255 	MOVAW	(R3)[R1],R1			; START WORD ADDRESS ON EXELST
                    52   0C AC   D0  0527  1256 	MOVL	WDA_DATA(AP),R2			; AND WRITE BUFFER ADDRESS
                    50   06 A4   3C  052B  1257 	MOVZWL	FIB_W_DSIZE(R4),R0		; AND DATA SIZE(IN WORDS)
                            06   13  052F  1258 	BEQL	60$				; IF SIZE 0, EXIT HERE
                                     0531  1259 50$:
                       81   82   B0  0531  1260 	MOVW	(R2)+,(R1)+			; TRANSFER DATA WORD
                         FA 50   F5  0534  1261 	SOBGTR	R0,50$				; CONTINUE UNTIL 0
                                     0537  1262 60$:
                       50   01   9A  0537  1263 	MOVZBL	#SS$_NORMAL,R0			; NORMAL STATUS
                                     053A  1264 90$:
                                 04  053A  1265 	RET					; RETURN TO CALLER
                                     053B  1266 	.DSABL	LSB
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  27
V02-003                         CAM_VERFRAME, VERIFY LIST FRAME UPDATE    5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     053B  1268 	.SBTTL	CAM_VERFRAME, VERIFY LIST FRAME UPDATE
                                     053B  1269 	.ENABL	LSB
                                     053B  1270 
                                     053B  1271 ;++
                                     053B  1272 ;
                                     053B  1273 ; CAM_VERFRAME: VERIFY RANDOM LIST FRAME UPDATE.
                                     053B  1274 ;
                                     053B  1275 ; Inputs:
                                     053B  1276 ;	R2	- frame number to update,
                                     053B  1277 ;	R5	- address of local FIB,
                                     053B  1278 ;	R9	- address of execute list buffer,
                                     053B  1279 ;	R10	- address of CAMAC request packet.
                                     053B  1280 ;
                                     053B  1281 ; Outputs:
                                     053B  1282 ;	R0	- status of request.
                                     053B  1283 ;	R1-R2 are destroyed by this call.
                                     053B  1284 ;
                                     053B  1285 ;--
                                     053B  1286 
                                     053B  1287 CAM_VERFRAME:
                                     053B  1288 
                       50   01   9A  053B  1289 	MOVZBL	#SS$_NORMAL,R0			; ASSUME SUCCESS
                    51   0C A9   3C  053E  1290 	MOVZWL	LIS_W_FRAME(R9),R1		; GET CURRENT FRAME COUNT
                       51   52   B1  0542  1291 	CMPW	R2,R1				; COMPARE W/SPECIFIED FRAME
                            09   15  0545  1292 	BLEQ	10$				; IF LESS OR EQUAL, OK
                            51   B6  0547  1293 	INCW	R1				; BUMP CURRENT TO NEXT
                       51   52   B1  0549  1294 	CMPW	R2,R1				; SPECIFIED NEXT FRAME?
                            5A   13  054C  1295 	BEQL	90$				; IF NEXT FRAME, ALLOW IT
                            55   11  054E  1296 	BRB	100$				; IF NOT, DECLARE ERROR
                                     0550  1297 10$:
                            52   B7  0550  1298 	DECW	R2				; USE FRAME AS INDEX
                            51   19  0552  1299 	BLSS	100$				; IF NEG, INVALID
                  51   08 B942   7E  0554  1300 	MOVAQ	@LIS_L_FIBL(R9)[R2],-		; GET ADDRESS OF FIB ENTRY
                                     0559  1301 		R1
                         03 A5   91  0559  1302 	CMPB	FIB_B_CSIZE(R5),-		; COMMAND FRAME SIZE SAME?
                         03 A1       055C  1303 		FIB_B_CSIZE(R1)
                            45   12  055E  1304 	BNEQ	100$				; NOT SAME, DECLARE ERROR
          50   02 A5   02   03   EF  0560  1305 	EXTZV	#3,#2,FIB_B_F(R5),R0		; GET FUNCTION CLASS
                  03   00   50   8F  0566  1306 	CASEB	R0,#0,#3			; CHECK BY CASE
                                     056A  1307 40$:
                               0008' 056A  1308 	.WORD	VER_CAMREAD-40$			; CAMAC READ
                               001C' 056C  1309 	.WORD	VER_CAMCTL-40$			; CAMAC CONTROL
                               0012' 056E  1310 	.WORD	VER_CAMWRITE-40$		; CAMAC WRITE
                               001C' 0570  1311 	.WORD	VER_CAMCTL-40$			; CAMAC CONTROL
                                     0572  1312 
                                     0572  1313 VER_CAMREAD:
          50   02 A1   02   03   ED  0572  1314 	CMPZV	#3,#2,FIB_B_F(R1),R0		; FIB LIST FRAME ALSO READ?
                            13   13  0578  1315 	BEQL	50$				; IF READ FRAME, CONTINUE
                            29   11  057A  1316 	BRB	100$				; ELSE, ABORT
                                     057C  1317 VER_CAMWRITE:
          50   02 A1   02   03   ED  057C  1318 	CMPZV	#3,#2,FIB_B_F(R1),R0		; FIB LIST FRAME ALSO WRITE?
                            09   13  0582  1319 	BEQL	50$				; IF SO, CONTINUE
                            1F   11  0584  1320 	BRB	100$				; ELSE, ABORT
                                     0586  1321 VER_CAMCTL:
                 02 02 A1   03   E0  0586  1322 	BBS	#3,FIB_B_F(R1),50$		; FIB LIST FRAME ALSO CONTROL?
                                     058B  1323 						; IF SO, CONTINUE
                            18   11  058B  1324 	BRB	100$				; ELSE, ABORT
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  28
V02-003                         CAM_VERFRAME, VERIFY LIST FRAME UPDATE    5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     058D  1325 50$:
                         06 A5   B1  058D  1326 	CMPW	FIB_W_DSIZE(R5),-		; CHECK DATA FRAME SIZE 
                         06 A1       0590  1327 		FIB_W_DSIZE(R1)			; WITH FIBL ENTRY
                            11   12  0592  1328 	BNEQ	100$				; IF NOT SAME, ERROR
                            10   A8  0594  1329 	BISW	#CRPS_M_LRANUPD,-		; SET RANDOM UPDATE STATUS
                         02 AA       0596  1330 		CRP_W_STS(R10)			; IN CRP STATUS WORD
                            61   B0  0598  1331 	MOVW	FIB_W_CNDX(R1),-		; USE FIBL COMMAND NDX
                            65       059A  1332 		FIB_W_CNDX(R5)
                         04 A1   B0  059B  1333 	MOVW	FIB_W_DNDX(R1),-		; AND DATA NDX
                         04 A5       059E  1334 		FIB_W_DNDX(R5)
                       50   01   9A  05A0  1335 	MOVZBL	#SS$_NORMAL,R0			; SET NORMAL STATUS
                            03   11  05A3  1336 	BRB	90$				; EXIT ROUTINE
                                     05A5  1337 100$:
                       50   14   3C  05A5  1338 	MOVZWL	#SS$_BADPARAM,R0		; SET ERROR STATUS
                                     05A8  1339 90$:
                                 05  05A8  1340 	RSB					; RETURN TO CALLER
                                     05A9  1341 	.DSABL	LSB
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  29
V02-003                         CAM_LISMOD, LIST MODE MODULE DECODE       5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     05A9  1343 	.SBTTL	CAM_LISMOD, LIST MODE MODULE DECODE
                                     05A9  1344 	.ENABL	LSB
                                     05A9  1345 
                                     05A9  1346 ;++
                                     05A9  1347 ;
                                     05A9  1348 ; CAM_LISMOD: DECODE CAMAC MODULE FOR LIST MODE REFERENCE
                                     05A9  1349 ;
                                     05A9  1350 ; Inputs:
                                     05A9  1351 ;	R1	- address of module/key descriptor,
                                     05A9  1352 ;	R9	- address of execute list buffer,
                                     05A9  1353 ;	R10	- address of CAMAC request packet.
                                     05A9  1354 ;
                                     05A9  1355 ; Outputs:
                                     05A9  1356 ;	CAMAC module data in CAMAC request packet,
                                     05A9  1357 ;	List channel in execute list buffer,
                                     05A9  1358 ;	List controller ID in execute list buffer,
                                     05A9  1359 ;	R0	- status of the request.
                                     05A9  1360 ;
                                     05A9  1361 ;--
                                     05A9  1362 
                                     05A9  1363 CAM_LISMOD:
                                     05A9  1364 
                         0C A9   B5  05A9  1365 	TSTW	LIS_W_FRAME(R9)			; FIRST FRAME?
                            04   12  05AC  1366 	BNEQ	20$				; IF NOT, SKIP
                            04   A8  05AE  1367 	BISW	#CRPS_M_NOCHAN,-		; NO VMS CHANNEL REQUIRED
                         02 AA       05B0  1368 		CRP_W_STS(R10)
                                     05B2  1369 20$:
                   00000000'GF   16  05B2  1370 	JSB	G^CAM_MODULE			; GET MODULE PARAMETERS
                         03 50   E8  05B8  1371 	BLBS	R0,10$				; SUCCESS? CONTINUE IF SO.
                          0026   31  05BB  1372 	BRW	90$				; EXIT ROUTINE IF NOT
                                     05BE  1373 10$:
                       50   01   3C  05BE  1374 	MOVZWL	#SS$_NORMAL,R0			; ASSUME SUCCESS
                         0C A9   B5  05C1  1375 	TSTW	LIS_W_FRAME(R9)			; FIRST FRAME?
                            11   12  05C4  1376 	BNEQ	30$				; IF NOT 0, ASSUME NOT
                         48 AA   B0  05C6  1377 	MOVW	CRP_W_CHAN(R10),-		; SAVE VMS CHANNEL
                         0E A9       05C9  1378 		LIS_W_CHAN(R9)			; IN EXE LIST
                         4F AA   90  05CB  1379 	MOVB	CRP_B_CONT(R10),-		; SAVE CAMAC CONTROLLER ID
                         12 A9       05CE  1380 		LIS_B_CONT(R9)
                         4B AA   90  05D0  1381 	MOVB	CRP_B_C(R10),-			; SAVE CAMAC CRATE NUMBER
                         13 A9       05D3  1382 		LIS_B_CRATE(R9)			; IN EXE LIST
                            0D   11  05D5  1383 	BRB	90$				; CONTINUE
                                     05D7  1384 30$:
                         4F AA   91  05D7  1385 	CMPB	CRP_B_CONT(R10),-		; MODULE CID MATCH
                         12 A9       05DA  1386 		LIS_B_CONT(R9)			; LIST CID?
                            06   13  05DC  1387 	BEQL	90$				; IF SO, CONTINUE
                       50   14   3C  05DE  1388 	MOVZWL	#SS$_BADPARAM,R0		; SET ERROR STAUTS
                          0000   31  05E1  1389 	BRW	90$				; ABORT CALL
                                     05E4  1390 90$:
                                 05  05E4  1391 	RSB					; RETURN TO CALLER
                                     05E5  1392 	.DSABL	LSB
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  30
V02-003                         CAM_LFRAME, GENARATE EXECUTE LIST COMMAN  5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     05E5  1394 	.SBTTL	CAM_LFRAME, GENARATE EXECUTE LIST COMMAND FRAME
                                     05E5  1395 	.ENABL	LSB
                                     05E5  1396 ;++
                                     05E5  1397 ;
                                     05E5  1398 ; CAM_LFRAME: GENERATE EXECUTE LIST COMMAND FRAME FROM CRP DATA
                                     05E5  1399 ;
                                     05E5  1400 ; Inputs:
                                     05E5  1401 ;	R5	-address of working FIB,
                                     05E5  1402 ;	R9	- address of execute list buffer,
                                     05E5  1403 ;	R10	- address of CRP.
                                     05E5  1404 ;
                                     05E5  1405 ; Outputs:
                                     05E5  1406 ;	Command frame on execute list.
                                     05E5  1407 ;
                                     05E5  1408 ;--
                                     05E5  1409 ;
                                     05E5  1410 ; PROCEDURE LOCAL DATA
                                     05E5  1411 ;
                                     05E5  1412 	$DEFINI	LFM
                                     0000  1413 	$DEF	LFM_W_CMD			; COMMAND WORD 
                           00000002  0000  1414 		.BLKW	1
                                     0002  1415 	$DEF	LFM_W_CTY			; TYPE+CRATE WORD
                           00000004  0002  1416 		.BLKW	1
                                     0004  1417 	$DEF	LFM_W_WC			; WORD COUNT
                           00000006  0004  1418 		.BLKW	1
                                     0006  1419 	$DEFEND	LFM
                                     05E5  1420 
                                     05E5  1421 CAM_LFRAME:
                                     05E5  1422 
                            0C   BB  05E5  1423 	PUSHR	#^M<R2,R3>			; SAVE WORK REGS
                            04   E0  05E7  1424 	BBS	#CRPS_V_LRANUPD,-		; RANDOM LIST UPDATE?
                      27 02 AA       05E9  1425 		CRP_W_STS(R10),10$		; IF SO, SKIP SIZE CHECK
                         0C A5   B1  05EC  1426 	CMPW	FIB_W_EOF(R5),-			; FRAME OVERFLOW LIST?
                         04 A9       05EF  1427 		LIS_W_SIZE(R9)
                            08   15  05F1  1428 	BLEQ	20$				; IF LESS OR EQUAL, OK
                  50   0124 8F   3C  05F3  1429 	MOVZWL	#SS$_INSFMEM,R0			; SET INSUFFICIENT SIZE
                          00AC   31  05F8  1430 	BRW	90$				; EXIT PROCEDURE
                                     05FB  1431 20$:
                         0C A5   B0  05FB  1432 	MOVW	FIB_W_EOF(R5),-			; UPDATE EXE LIST INDEX
                            69       05FE  1433 		LIS_W_EXENDX(R9)
                         0C A9   B6  05FF  1434 	INCW	LIS_W_FRAME(R9)			; INC FRAME COUNT
                                     0602  1435 	IFCAMRE	FIB_B_F(R5),30$			; IF CAMAC READ, UPDATE REP INDEX
                            05   11  060C  1436 	BRB	10$				; ELSE, IGNORE
                                     060E  1437 30$:
                         06 A5   A0  060E  1438 	ADDW	FIB_W_DSIZE(R5),-		; UPDATE EXE LIST REP INDEX
                         02 A9       0611  1439 		LIS_W_REPNDX(R9)
                                     0613  1440 10$:
                       53   65   3C  0613  1441 	MOVZWL	FIB_W_CNDX(R5),R3		; GET COMMAND FRAME INDEX
                     53   6943   3E  0616  1442 	MOVAW	(R9)[R3],R3			; COMMAND FRAME BASE ADRESS
                    00   0E A5   8F  061A  1443 	CASEB	FIB_B_TYPE(R5),#0,-		; HANDLE LIST TYPES BY CASE
                            03       061E  1444 		#3
                                     061F  1445 100$:
                               0015' 061F  1446 	.WORD	PIO_LFRAME-100$			; LIST PIO FRAME
                               0008' 0621  1447 	.WORD	RTQ_LFRAME-100$			; REPEAT TILL Q FRAME
                               0010' 0623  1448 	.WORD	QSC_LFRAME-100$			; Q-SCAN FRAME
                               0010' 0625  1449 	.WORD	STP_LFRAME-100$			; STOP MODE FRAME
                                     0627  1450 RTQ_LFRAME:
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  31
V02-003                         CAM_LFRAME, GENARATE EXECUTE LIST COMMAN  5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                  50   0354 8F   3C  0627  1451 	MOVZWL	#SS$_IVMODE,R0			; REPEAT TILL Q NOT SUPPORTED
                          0078   31  062C  1452 	BRW	90$				; ABORT CALL W/STATUS
                                     062F  1453 QSC_LFRAME:
                                     062F  1454 STP_LFRAME:
                         06 A5   AE  062F  1455 	MNEGW	FIB_W_DSIZE(R5),-		; LOAD NEG WORD COUNT
                         04 A3       0632  1456 		LFM_W_WC(R3)			; TO EXE LIST
                                     0634  1457 PIO_LFRAME:
                       01   01   EF  0634  1458 	EXTZV	#CSTS_V_QNE,#CSTS_S_QNE,-
                       50   6A       0637  1459 		CRP_W_CSTS(R10),R0		; GET QNE STATE FROM LIST STATUS
                       01   02   EF  0639  1460 	EXTZV	#CSTS_V_XI,#CSTS_S_XI,-
                       51   6A       063C  1461 		CRP_W_CSTS(R10),R1		; GET XI STATE
                                     063E  1462 	LSTCMD	-				; BUILD LIST CMR TEMPLATE
                                     063E  1463 		QNEV=R0,XIV=R1,-		; QNE, XI IN R0,R1 RESP.
                                     063E  1464 		NV=CRP_B_N(R10),-		; CAMAC STATION
                                     063E  1465 		AV=CRP_B_A(R10),-		; SUBADDRESS
                                     063E  1466 		FV=CRP_B_F(R10),-		; FUNCTION CODE
                                     063E  1467 		LCMDV=LFM_W_CMD(R3)
                                     065C  1468 	LSTCTY	-				; BUILD CRATE+TYPE TEMPLATE
                                     065C  1469 		TYPV=FIB_B_TYPE(R5),-		; TYPE 
                                     065C  1470 		CV=CRP_B_C(R10),-		; CAMAC CRATE
                                     065C  1471 		LCTYV=LFM_W_CTY(R3)
                         08 A5   D5  066D  1472 	TSTL	FIB_L_DATA(R5)			; CHECK IF DATA SPECIFIED
                            22   13  0670  1473 	BEQL	50$				; IF NOT, SKIP
                                     0672  1474 	IFCAMWR	CRP_B_F(R10),60$		; IF CAMAC WRITE, CONTINUE
                            16   11  067C  1475 	BRB	50$				; ELSE, SKIP
                                     067E  1476 60$:
                    50   06 A5   3C  067E  1477 	MOVZWL	FIB_W_DSIZE(R5),R0		; GET DATA FRAME SIZE
                    51   08 A5   D0  0682  1478 	MOVL	FIB_L_DATA(R5),R1		; GET DATA ADDRESS
                    52   04 A5   3C  0686  1479 	MOVZWL	FIB_W_DNDX(R5),R2		; GET DATA INDEX
                     52   6942   3E  068A  1480 	MOVAW	(R9)[R2],R2			; GET EXE LIST WORD ADDRESS
                                     068E  1481 70$:
                       82   81   B0  068E  1482 	MOVW	(R1)+,(R2)+			; MOVE DATA WORD AND INC ADDRESSES
                         FA 50   F5  0691  1483 	SOBGTR	R0,70$				; DEC DATA WORD COUNT AND
                                     0694  1484 						; CONTINUE UNTIL 0
                                     0694  1485 50$:
                         08 A9   D5  0694  1486 	TSTL	LIS_L_FIBL(R9)			; FIB LIST ATTACHED?
                            0B   13  0697  1487 	BEQL	80$				; IF 0, ASSUME NOT
                    50   0C A9   3C  0699  1488 	MOVZWL	LIS_W_FRAME(R9),R0		; GET FRAME COUNT
                            50   B7  069D  1489 	DECW	R0				; USE FOR INDEX
                            65   7D  069F  1490 	MOVQ	(R5),-				; SAVE FIB IN FIB LIST
                       08 B940       06A1  1491 		@LIS_L_FIBL(R9)[R0]
                                     06A4  1492 80$:
                       50   01   9A  06A4  1493 	MOVZBL	#SS$_NORMAL,R0			; RETURN NORMAL STATUS
                                     06A7  1494 90$:
                            0C   BA  06A7  1495 	POPR	#^M<R2,R3>			; RESTORE WORK REGS
                                 05  06A9  1496 	RSB					; RETURN TO CALLER
                                     06AA  1497 	.DSABL	LSB
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  32
V02-003                         CAM_LFRAME, GENARATE EXECUTE LIST COMMAN  5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

                                     06AA  1499 	.END
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  33
Symbol table                                                              5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

$$ARGS         = 0000000C               CMR_V_A        = 00000005               CRP_K_UIC      = 00000008               
$$T1           = 00000034               CMR_V_F        = 00000000               CRP_L_GRP        00000040               
BIT...         = 00000020               CMR_V_N        = 00000009               CRP_L_MEM        00000044               
CAM$DCLST        00000000 RG    04      CMR_V_QNE      = 0000000F               CRP_L_QIOL       00000004               
CAM$EXECUTE      00000376 RG    04      CMR_V_XI       = 0000000E               CRP_Q_FIB        00000004               
CAM$EXECUTEW     0000036F RG    04      CONT_M_CID     = 00000007               CRP_Q_RTB        00000038               
CAM$LPIO         000000DD RG    04      CONT_M_SER     = 00000008               CRP_W_CDH        0000003E               
CAM$LQSCAN       000001AD RG    04      CONT_S_CID     = 00000003               CRP_W_CHAN       00000048               
CAM$LSTATE       00000082 RG    04      CONT_S_SER     = 00000001               CRP_W_CMR        0000003A               
CAM$LSTOP        0000028E RG    04      CONT_V_CID     = 00000000               CRP_W_CSTS       00000000               
CAM$RDATA        00000490 RG    04      CONT_V_SER     = 00000003               CRP_W_CTR        00000038               
CAM$WDATA        000004E6 RG    04      CRPS_M_CSUV    = 00000020               CRP_W_DLR        0000003C               
CAM_CIB          ********   X   04      CRPS_M_CV      = 00000080               CRP_W_STS        00000002               
CAM_EXECUTE      0000037A R     04      CRPS_M_KEYED   = 00000001               CSTS_M_M16     = 00000008               
CAM_GETJIB       ********   X   04      CRPS_M_LISM    = 00000008               CSTS_M_QDC     = 00000001               
CAM_INITCRP      ********   X   04      CRPS_M_LRANUPD = 00000010               CSTS_M_QNE     = 00000002               
CAM_LFRAME       000005E5 R     04      CRPS_M_NOCHAN  = 00000004               CSTS_M_XI      = 00000004               
CAM_LISMOD       000005A9 R     04      CRPS_M_NV      = 00000100               CSTS_S_M16     = 00000001               
CAM_MODULE       ********   X   04      CRPS_M_UICV    = 00000040               CSTS_S_QDC     = 00000001               
CAM_VERFRAME     0000053B R     04      CRPS_M_WAIT    = 00000002               CSTS_S_QNE     = 00000001               
CDH_M_16       = 00004000               CRPS_S_CSUV    = 00000001               CSTS_S_XI      = 00000001               
CDH_M_BCF      = 00003800               CRPS_S_CV      = 00000001               CSTS_V_M16     = 00000003               
CDH_M_BCI      = 00000700               CRPS_S_KEYED   = 00000001               CSTS_V_QDC     = 00000000               
CDH_M_C        = 00003F00               CRPS_S_LISM    = 00000001               CSTS_V_QNE     = 00000001               
CDH_M_HSB      = 000000FF               CRPS_S_LRANUPD = 00000001               CSTS_V_XI      = 00000002               
CDH_S_16       = 00000001               CRPS_S_NOCHAN  = 00000001               DCL_ELEN       = 00000008               
CDH_S_BCF      = 00000003               CRPS_S_NV      = 00000001               DCL_ELIST      = 00000004               
CDH_S_BCI      = 00000003               CRPS_S_UICV    = 00000001               DCL_FIBL       = 00000010               
CDH_S_C        = 00000006               CRPS_S_WAIT    = 00000001               DCL_MAXARGS    = 00000004               
CDH_S_HSB      = 00000008               CRPS_V_CSUV    = 00000005               DCL_MEM        = 0000000C               
CDH_V_16       = 0000000E               CRPS_V_CV      = 00000007               DCL_MINARGS    = 00000002               
CDH_V_BCF      = 0000000B               CRPS_V_KEYED   = 00000000               DCL_NARGS      = 00000000               
CDH_V_BCI      = 00000008               CRPS_V_LISM    = 00000003               DCL_THRU_FIBL    00000058 R     04      
CDH_V_C        = 00000008               CRPS_V_LRANUPD = 00000004               DCL_THRU_LEN     0000007E R     04      
CDH_V_HSB      = 00000000               CRPS_V_NOCHAN  = 00000002               DCL_THRU_MEM     0000005D R     04      
CIB_B_EFN        00000024               CRPS_V_NV      = 00000008               DCR_M_DFO      = 00004000               
CIB_K_LENGTH     00000025               CRPS_V_UICV    = 00000006               DCR_M_DR       = 00000080               
CIB_L_GRP        00000010               CRPS_V_WAIT    = 00000001               DCR_M_GOCO     = 00002000               
CIB_L_MEM        00000014               CRP_A_CSUID      000000B4               DCR_M_HDR      = 00008000               
CIB_L_PSTS       00000008               CRP_A_LMODID     00000054               DCR_M_SCA      = 0000003F               
CIB_L_WSQUOTA    00000020               CRP_A_PMODID     0000007C               DCR_M_SDIE     = 00000040               
CIB_Q_CPRIV      00000018               CRP_A_UICID      000000A4               DCR_M_SGL      = 00001F00               
CIB_Q_IOSB       00000000               CRP_B_A          0000004D               DCR_S_DFO      = 00000001               
CIB_W_CSTS       0000000E               CRP_B_C          0000004B               DCR_S_DR       = 00000001               
CIB_W_ISTS       0000000C               CRP_B_CHANX      00000051               DCR_S_GOCO     = 00000001               
CMAP_W_CHAN      00000000               CRP_B_CONT       0000004F               DCR_S_HDR      = 00000001               
CMAP_W_MAPID     00000002               CRP_B_DSBMSK     00000052               DCR_S_SCA      = 00000006               
CMR_M_A        = 000001E0               CRP_B_F          0000004E               DCR_S_SDIE     = 00000001               
CMR_M_F        = 0000001F               CRP_B_MODE       0000004A               DCR_S_SGL      = 00000005               
CMR_M_N        = 00003E00               CRP_B_N          0000004C               DCR_V_DFO      = 0000000E               
CMR_M_QNE      = 00008000               CRP_B_RTAB       00000053               DCR_V_DR       = 00000007               
CMR_M_XI       = 00004000               CRP_B_UNIT       00000050               DCR_V_GOCO     = 0000000D               
CMR_S_A        = 00000004               CRP_K_CSU      = 00000008               DCR_V_HDR      = 0000000F               
CMR_S_F        = 00000005               CRP_K_EFN      = 00000000               DCR_V_SCA      = 00000000               
CMR_S_N        = 00000005               CRP_K_LENGTH     000000C4               DCR_V_SDIE     = 00000006               
CMR_S_QNE      = 00000001               CRP_K_LMOD     = 00000020               DCR_V_SGL      = 00000008               
CMR_S_XI       = 00000001               CRP_K_PMOD     = 00000020               DFR_M_DFE      = 00000040               
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  34
Symbol table                                                              5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

DFR_M_DFOR     = 00000080               DSC$K_DTYPE_CIT= 0000001F               DSC$L_LOGUNIT    FFFFFFFC               
DFR_M_HD       = 00008000               DSC$K_DTYPE_D  = 0000000B               DSC$L_M1         00000014               
DFR_M_SCA      = 0000003F               DSC$K_DTYPE_DC = 0000000D               DSC$L_M2         00000018               
DFR_M_SGL      = 00001F00               DSC$K_DTYPE_DPC= 000000B9               DSC$L_POS        00000008               
DFR_S_DFE      = 00000001               DSC$K_DTYPE_DSC= 00000018               DSC$L_S1         00000014               
DFR_S_DFOR     = 00000001               DSC$K_DTYPE_ENT= 000000B3               DSC$L_S2         00000018               
DFR_S_HD       = 00000001               DSC$K_DTYPE_EOM= 000000BD               DSC$L_V0         00000010               
DFR_S_SCA      = 00000006               DSC$K_DTYPE_EOR= 000000BF               DSC$V_FL_BOUNDS= 00000007               
DFR_S_SGL      = 00000005               DSC$K_DTYPE_EPT= 000000B5               DSC$V_FL_COEFF = 00000006               
DFR_V_DFE      = 00000006               DSC$K_DTYPE_F  = 0000000A               DSC$V_FL_COLUMN= 00000005               
DFR_V_DFOR     = 00000007               DSC$K_DTYPE_FC = 0000000C               DSC$V_FL_REDIM = 00000004               
DFR_V_HD       = 0000000F               DSC$K_DTYPE_FLD= 000000B7               DSC$W_LENGTH     00000000               
DFR_V_SCA      = 00000000               DSC$K_DTYPE_G  = 0000001B               DSC$W_MAXLEN     00000008               
DFR_V_SGL      = 00000008               DSC$K_DTYPE_GBL= 000000B4               DSC$W_MAXSTRLEN  00000000               
DSC$A_A0         00000010               DSC$K_DTYPE_GC = 0000001D               EXE_AST        = 00000018               
DSC$A_BASE       00000004               DSC$K_DTYPE_H  = 0000001C               EXE_ASTP       = 0000001C               
DSC$A_FRAME      00000008               DSC$K_DTYPE_HC = 0000001E               EXE_EFN        = 00000014               
DSC$A_HANDLE     FFFFFFF4               DSC$K_DTYPE_L  = 00000008               EXE_ELIST      = 00000004               
DSC$A_POINTER    00000004               DSC$K_DTYPE_LBL= 000000BA               EXE_IOSB       = 00000010               
DSC$B_AFLAGS     0000000A               DSC$K_DTYPE_LU = 00000004               EXE_MAXARGS    = 00000007               
DSC$B_CLASS      00000003               DSC$K_DTYPE_MOD= 000000BC               EXE_MINARGS    = 00000001               
DSC$B_DIGITS     00000009               DSC$K_DTYPE_NL = 00000010               EXE_NARGS      = 00000000               
DSC$B_DIMCT      0000000B               DSC$K_DTYPE_NLO= 00000011               EXE_RLEN       = 0000000C               
DSC$B_DTYPE      00000002               DSC$K_DTYPE_NR = 00000012               EXE_RLIST      = 00000008               
DSC$B_SCALE      00000008               DSC$K_DTYPE_NRO= 00000013               EXE_THRU_AST     00000402 R     04      
DSC$C_D_BLN      00000008               DSC$K_DTYPE_NU = 0000000F               EXE_THRU_ASTP    000003FD R     04      
DSC$C_JI_BLN     0000000C               DSC$K_DTYPE_NZ = 00000014               EXE_THRU_EFN     00000407 R     04      
DSC$C_J_BLN      00000008               DSC$K_DTYPE_O  = 0000001A               EXE_THRU_ELIST   00000436 R     04      
DSC$C_PI_BLN     0000000C               DSC$K_DTYPE_OU = 00000019               EXE_THRU_IOSB    0000040C R     04      
DSC$C_P_BLN      00000008               DSC$K_DTYPE_P  = 00000015               EXE_THRU_RLEN    00000416 R     04      
DSC$C_SD_BLN     0000000C               DSC$K_DTYPE_PCT= 000000B8               EXE_THRU_RLIST   00000430 R     04      
DSC$C_S_BLN      00000008               DSC$K_DTYPE_Q  = 00000009               FIB_B_CSIZE      00000003               
DSC$C_UBS_BLN    0000000C               DSC$K_DTYPE_QU = 00000005               FIB_B_F          00000002               
DSC$C_VS_BLN     00000008               DSC$K_DTYPE_R11= 000000B6               FIB_B_TYPE       0000000E               
DSC$C_Z_BLN      00000008               DSC$K_DTYPE_RTN= 000000BE               FIB_K_LENGTH     0000000F               
DSC$K_CLASS_A  = 00000004               DSC$K_DTYPE_SLB= 000000BB               FIB_L_DATA       00000008               
DSC$K_CLASS_BFA= 000000BF               DSC$K_DTYPE_T  = 0000000E               FIB_W_CNDX       00000000               
DSC$K_CLASS_D  = 00000002               DSC$K_DTYPE_V  = 00000001               FIB_W_DNDX       00000004               
DSC$K_CLASS_J  = 00000007               DSC$K_DTYPE_VT = 00000025               FIB_W_DSIZE      00000006               
DSC$K_CLASS_JI = 00000008               DSC$K_DTYPE_VU = 00000022               FIB_W_EOF        0000000C               
DSC$K_CLASS_NCA= 0000000A               DSC$K_DTYPE_W  = 00000007               GRP_M_WILDGRP  = 80000000               
DSC$K_CLASS_P  = 00000005               DSC$K_DTYPE_WU = 00000003               GRP_S_WILDGRP  = 00000001               
DSC$K_CLASS_PI = 00000006               DSC$K_DTYPE_Z  = 00000000               GRP_V_WILDGRP  = 0000001F               
DSC$K_CLASS_S  = 00000001               DSC$K_DTYPE_ZEM= 00000017               IO$K_LOOPTEST  = 0000E000               
DSC$K_CLASS_SD = 00000009               DSC$K_DTYPE_ZI = 00000016               IO$K_PTPBSC    = 00002000               
DSC$K_CLASS_UBA= 0000000E               DSC$K_D_BLN      00000008               IO$K_SRRUNOUT  = 00000000               
DSC$K_CLASS_UBS= 0000000D               DSC$K_JI_BLN     0000000C               IO$M_ABORT     = 00000100               
DSC$K_CLASS_V  = 00000003               DSC$K_J_BLN      00000008               IO$M_ACCEPT    = 00000080               
DSC$K_CLASS_VS = 0000000B               DSC$K_PI_BLN     0000000C               IO$M_ACCESS    = 00000040               
DSC$K_CLASS_VSA= 0000000C               DSC$K_P_BLN      00000008               IO$M_ATTNAST   = 00000100               
DSC$K_CLASS_Z  = 00000000               DSC$K_SD_BLN     0000000C               IO$M_BINARY    = 00000040               
DSC$K_DTYPE_ADT= 00000023               DSC$K_S_BLN      00000008               IO$M_CANCTRLO  = 00000040               
DSC$K_DTYPE_B  = 00000006               DSC$K_UBS_BLN    0000000C               IO$M_CANLAM    = 00000100               
DSC$K_DTYPE_BLV= 00000021               DSC$K_VS_BLN     00000008               IO$M_CECYL     = 00000400               
DSC$K_DTYPE_BPV= 00000020               DSC$K_Z_BLN      00000008               IO$M_CLEAR     = 00001000               
DSC$K_DTYPE_BU = 00000002               DSC$L_ARSIZE     0000000C               IO$M_CLR_COUNT = 00000400               
DSC$K_DTYPE_CAD= 000000B2               DSC$L_BYTEOFF    FFFFFFF8               IO$M_CNTRLENTRY= 00000080               
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  35
Symbol table                                                              5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

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               
IO$M_HANGUP    = 00000200               IO$M_SYNCH     = 00000200               IO$V_LOOP_EXT  = 0000000C               
IO$M_INCLUDE   = 00000800               IO$M_TIMED     = 00000080               IO$V_LPBEXT    = 0000000D               
IO$M_INHERLOG  = 00000800               IO$M_TRMNOECHO = 00001000               IO$V_LPBINT    = 0000000E               
IO$M_INHEXTGAP = 00001000               IO$M_TYPEAHDCNT= 00000040               IO$V_MAINT     = 00000006               
IO$M_INHRETRY  = 00008000               IO$M_UNLOOP    = 00000100               IO$V_MAINTLOOP = 00000009               
IO$M_INHSEEK   = 00001000               IO$M_WORD      = 00000040               IO$V_MORE      = 00000006               
IO$M_INTCLOCK  = 00001000               IO$M_WRTATTN   = 00000100               IO$V_MOUNT     = 00000009               
IO$M_INTERRUPT = 00000040               IO$S_FCODE     = 00000006               IO$V_MOVETRACKD= 00000007               
IO$M_INTSKIP   = 00000100               IO$V_ABORT     = 00000008               IO$V_MULTIPLE  = 00000008               
IO$M_LASTBLOCK = 00000400               IO$V_ACCEPT    = 00000007               IO$V_NOCTSWAIT = 00000006               
IO$M_LINE_OFF  = 00000200               IO$V_ACCESS    = 00000006               IO$V_NODSRWAIT = 00000008               
IO$M_LINE_ON   = 00000800               IO$V_ATTNAST   = 00000008               IO$V_NOECHO    = 00000006               
IO$M_LOOP      = 00000080               IO$V_BINARY    = 00000006               IO$V_NOFILTR   = 00000009               
IO$M_LOOP_EXT  = 00001000               IO$V_CANCTRLO  = 00000006               IO$V_NOFORMAT  = 00000008               
IO$M_LPBEXT    = 00002000               IO$V_CANLAM    = 00000008               IO$V_NOMRSP    = 00000006               
IO$M_LPBINT    = 00004000               IO$V_CECYL     = 0000000A               IO$V_NOW       = 00000006               
IO$M_MAINT     = 00000040               IO$V_CLEAR     = 0000000C               IO$V_NOWAIT    = 00000007               
IO$M_MAINTLOOP = 00000200               IO$V_CLR_COUNT = 0000000A               IO$V_OPPOSITE  = 00000009               
IO$M_MORE      = 00000040               IO$V_CNTRLENTRY= 00000007               IO$V_OUTBAND   = 0000000A               
IO$M_MOUNT     = 00000200               IO$V_COFFLINE  = 0000000A               IO$V_PACKED    = 00000007               
IO$M_MOVETRACKD= 00000080               IO$V_COMMOD    = 00000006               IO$V_PURGE     = 0000000B               
IO$M_MULTIPLE  = 00000100               IO$V_CONLINE   = 00000009               IO$V_QUALIFIED = 00000007               
IO$M_NOCTSWAIT = 00000040               IO$V_CREATE    = 00000007               IO$V_RD_COUNT  = 00000008               
IO$M_NODSRWAIT = 00000100               IO$V_CTRL      = 00000009               IO$V_RD_MEM    = 00000006               
IO$M_NOECHO    = 00000040               IO$V_CTRLCAST  = 00000008               IO$V_RD_MODEM  = 00000007               
IO$M_NOFILTR   = 00000200               IO$V_CTRLYAST  = 00000007               IO$V_READATTN  = 00000007               
IO$M_NOFORMAT  = 00000100               IO$V_CVTLOW    = 00000008               IO$V_READCSR   = 0000000F               
IO$M_NOMRSP    = 00000040               IO$V_CYCLE     = 0000000C               IO$V_REDIRECT  = 00000006               
IO$M_NOW       = 00000040               IO$V_DABLAMS   = 00000008               IO$V_REFRESH   = 0000000D               
IO$M_NOWAIT    = 00000080               IO$V_DATACHECK = 0000000E               IO$V_RESET     = 0000000B               
IO$M_OPPOSITE  = 00000200               IO$V_DATAPATH  = 0000000A               IO$V_REVERSE   = 00000006               
IO$M_OUTBAND   = 00000400               IO$V_DELDATA   = 00000006               IO$V_SETBSIZE  = 00000009               
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  36
Symbol table                                                              5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

IO$V_SETCUADR  = 00000008               IO$_READVBLK   = 00000031               JPI$_AUTHPRIV  = 00000412               
IO$V_SETENQCNT = 0000000B               IO$_RECAL      = 00000003               JPI$_BIOCNT    = 0000030F               
IO$V_SETEVF    = 00000006               IO$_RELEASE    = 00000005               JPI$_BIOLM     = 00000310               
IO$V_SETFNCT   = 00000009               IO$_REREADN    = 00000016               JPI$_BUFIO     = 0000040C               
IO$V_SETPOOLSZ = 0000000A               IO$_REREADP    = 00000017               JPI$_BYTCNT    = 00000311               
IO$V_SETPROT   = 00000009               IO$_RETCENTER  = 00000007               JPI$_BYTLM     = 0000031A               
IO$V_SET_MODEM = 0000000A               IO$_REWIND     = 00000024               JPI$_CPULIM    = 0000040D               
IO$V_SHUTDOWN  = 00000007               IO$_REWINDOFF  = 00000022               JPI$_CPUTIM    = 00000407               
IO$V_SKPSECINH = 00000009               IO$_SEARCH     = 00000009               JPI$_CURPRIV   = 00000400               
IO$V_SLAVLOOP  = 00000007               IO$_SEEK       = 00000002               JPI$_DFPFC     = 00000406               
IO$V_STARTUP   = 00000006               IO$_SENSECHAR  = 0000001B               JPI$_DFWSCNT   = 00000403               
IO$V_SWAP      = 0000000A               IO$_SENSEMODE  = 00000027               JPI$_DIOCNT    = 00000312               
IO$V_SYNCH     = 00000009               IO$_SETCHAR    = 0000001A               JPI$_DIOLM     = 00000313               
IO$V_TIMED     = 00000007               IO$_SETCLOCK   = 00000037               JPI$_DIRIO     = 0000040B               
IO$V_TRMNOECHO = 0000000C               IO$_SETCLOCKP  = 00000005               JPI$_EFCS      = 00000317               
IO$V_TYPEAHDCNT= 00000006               IO$_SETMODE    = 00000023               JPI$_EFCU      = 00000318               
IO$V_UNLOOP    = 00000008               IO$_SKIPFILE   = 00000025               JPI$_EFWM      = 00000316               
IO$V_WORD      = 00000006               IO$_SKIPRECORD = 00000026               JPI$_ENQCNT    = 0000031F               
IO$V_WRTATTN   = 00000008               IO$_SPACEFILE  = 00000002               JPI$_ENQLM     = 00000320               
IO$_ACCESS     = 00000032               IO$_SPACERECORD= 00000009               JPI$_EXCVEC    = 00000100               
IO$_ACPCONTROL = 00000038               IO$_STARTDATA  = 00000038               JPI$_FILCNT    = 00000314               
IO$_AVAILABLE  = 00000011               IO$_STARTDATAP = 00000006               JPI$_FILLM     = 0000040F               
IO$_CAMIO      = 00000032               IO$_STARTMPROC = 00000002               JPI$_FINALEXC  = 00000101               
IO$_CLEAN      = 0000001E               IO$_STARTSPNDL = 00000019               JPI$_FREP0VA   = 00000404               
IO$_CONINTREAD = 0000003C               IO$_STOP       = 00000003               JPI$_FREP1VA   = 00000405               
IO$_CONINTWRITE= 0000003D               IO$_TTYREADALL = 0000003A               JPI$_FREPTECNT = 00000415               
IO$_CREATE     = 00000033               IO$_TTYREADPALL= 0000003B               JPI$_GPGCNT    = 0000030C               
IO$_DEACCESS   = 00000034               IO$_UNLOAD     = 00000001               JPI$_GRP       = 00000308               
IO$_DELETE     = 00000035               IO$_VIRTUAL    = 0000003F               JPI$_IMAGECOUNT= 0000041A               
IO$_DIAGNOSE   = 0000001D               IO$_WRITECHECK = 0000000A               JPI$_IMAGNAME  = 00000207               
IO$_DRVCLR     = 00000004               IO$_WRITECHECKH= 00000018               JPI$_IMAGPRIV  = 00000413               
IO$_DSE        = 00000015               IO$_WRITEHEAD  = 0000000D               JPI$_JOBPRCCNT = 0000031E               
IO$_ENDRU1     = 0000003A               IO$_WRITELBLK  = 00000020               JPI$_LASTADR   = 00000102               
IO$_ENDRU2     = 0000003B               IO$_WRITEMARK  = 0000001C               JPI$_LASTCTL   = 00000209               
IO$_ERASETAPE  = 00000006               IO$_WRITEOF    = 00000028               JPI$_LASTPCB   = 00000322               
IO$_FORCE      = 00000037               IO$_WRITEPBLK  = 0000000B               JPI$_LASTPHD   = 0000041B               
IO$_FORMAT     = 0000001E               IO$_WRITERET   = 00000018               JPI$_LOGINTIM  = 00000206               
IO$_INITIALIZE = 00000004               IO$_WRITETRACKD= 0000000F               JPI$_MEM       = 00000307               
IO$_LAMAST     = 00000033               IO$_WRITEVBLK  = 00000030               JPI$_OWNER     = 00000303               
IO$_LOADMCODE  = 00000001               IO$_WRTTMKR    = 0000001D               JPI$_PAGEFLTS  = 0000040A               
IO$_LOGICAL    = 0000002F               IOSB_K_LENGTH    00000008               JPI$_PAGFILCNT = 00000414               
IO$_MODIFY     = 00000036               IOSB_W_BCNT      00000002               JPI$_PAGFILLOC = 00000419               
IO$_MOUNT      = 00000039               IOSB_W_CTR       00000000               JPI$_PGFLQUOTA = 0000040E               
IO$_NETCONTROL = 00000036               IOSB_W_ESR       00000004               JPI$_PID       = 00000319               
IO$_NOP        = 00000000               IOSB_W_RCNT      00000006               JPI$_PPGCNT    = 0000030D               
IO$_OFFSET     = 00000006               JPI$C_ADRTYPE  = 00000001               JPI$_PRCCNT    = 0000031B               
IO$_PACKACK    = 00000008               JPI$C_CTLTYPE  = 00000002               JPI$_PRCLM     = 00000408               
IO$_PHYSICAL   = 0000001F               JPI$C_LISTEND  = 00000000               JPI$_PRCNAM    = 0000031C               
IO$_QSTOP      = 00000007               JPI$C_PCBTYPE  = 00000003               JPI$_PRI       = 00000302               
IO$_RDSTATS    = 0000000D               JPI$C_PHDTYPE  = 00000004               JPI$_PRIB      = 00000309               
IO$_READHEAD   = 0000000E               JPI$_ACCOUNT   = 00000203               JPI$_PROCPRIV  = 00000204               
IO$_READINIT   = 0000003C               JPI$_APTCNT    = 0000030A               JPI$_SITESPEC  = 00000208               
IO$_READLBLK   = 00000021               JPI$_ASTACT    = 00000300               JPI$_STATE     = 00000306               
IO$_READPBLK   = 0000000C               JPI$_ASTCNT    = 0000030E               JPI$_STS       = 00000305               
IO$_READPRESET = 00000019               JPI$_ASTEN     = 00000301               JPI$_SWPFILLOC = 00000321               
IO$_READPROMPT = 00000037               JPI$_ASTLM     = 00000409               JPI$_TERMINAL  = 0000031D               
IO$_READTRACKD = 00000010               JPI$_AUTHPRI   = 00000418               JPI$_TMBU      = 0000030B               
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  37
Symbol table                                                              5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

JPI$_TQCNT     = 00000315               LCMD_V_N       = 00000009               LSTP_MAXARGS   = 00000007               
JPI$_TQLM      = 00000410               LCMD_V_QNE     = 0000000F               LSTP_MINARGS   = 00000005               
JPI$_UIC       = 00000304               LCMD_V_XI      = 0000000E               LSTP_MOD       = 00000008               
JPI$_USERNAME  = 00000202               LCTY_M_C       = 00003F00               LSTP_NARGS     = 00000000               
JPI$_VIRTPEAK  = 00000200               LCTY_M_TYP     = 0000C000               LSTP_THRU_COUNT  00000367 R     04      
JPI$_VOLUMES   = 00000205               LCTY_S_C       = 00000006               LSTP_THRU_DATA   00000362 R     04      
JPI$_WSAUTH    = 00000401               LCTY_S_TYP     = 00000002               LSTP_THRU_FRAME  0000034B R     04      
JPI$_WSAUTHEXT = 00000417               LCTY_V_C       = 00000008               LST_ELIST      = 00000004               
JPI$_WSEXTENT  = 00000416               LCTY_V_TYP     = 0000000E               LST_MAXARGS    = 00000004               
JPI$_WSPEAK    = 00000201               LFM_W_CMD        00000000               LST_MEM        = 00000010               
JPI$_WSQUOTA   = 00000402               LFM_W_CTY        00000002               LST_MINARGS    = 00000002               
JPI$_WSSIZE    = 00000411               LFM_W_WC         00000004               LST_NARGS      = 00000000               
KEY_K_LRCSEED  = 0000005A               LIS_B_CONT       00000012               LST_QSTATE     = 0000000C               
KEY_M_C        = 0000003F               LIS_B_CRATE      00000013               LST_THRU_MEM     000000A3 R     04      
KEY_M_CHANX    = 00FF0000               LIS_K_LENGTH     00000014               LST_THRU_QSTATE  000000C5 R     04      
KEY_M_CID      = 000001C0               LIS_L_FIBL       00000008               LST_THRU_XSTATE  000000CF R     04      
KEY_M_LRC      = FF000000               LIS_W_CHAN       0000000E               LST_W_CMD        00000000               
KEY_M_N        = 0000FC00               LIS_W_CSTS       00000006               LST_W_COUNT      00000004               
KEY_M_SER      = 00000200               LIS_W_EXENDX     00000000               LST_W_CTY        00000002               
KEY_S_C        = 00000006               LIS_W_FRAME      0000000C               LST_W_DHI        00000006               
KEY_S_CHANX    = 00000008               LIS_W_REPNDX     00000002               LST_W_DLOW       00000004               
KEY_S_CID      = 00000003               LIS_W_SIZE       00000004               LST_XSTATE     = 00000008               
KEY_S_LRC      = 00000008               LIS_W_STS        00000010               MAE_M_RMA      = 00003000               
KEY_S_N        = 00000006               LPIO_A         = 0000000C               MAE_M_TMA      = 0000C000               
KEY_S_SER      = 00000001               LPIO_CSIZE     = 00000002               MAE_S_RMA      = 00000002               
KEY_V_C        = 00000000               LPIO_DATA      = 00000014               MAE_S_TMA      = 00000002               
KEY_V_CHANX    = 00000010               LPIO_ELIST     = 00000004               MAE_V_RMA      = 0000000C               
KEY_V_CID      = 00000006               LPIO_F         = 00000010               MAE_V_TMA      = 0000000E               
KEY_V_LRC      = 00000018               LPIO_FRAME     = 00000018               MEM_M_WILDMEM  = 80000000               
KEY_V_N        = 0000000A               LPIO_MAXARGS   = 00000006               MEM_S_WILDMEM  = 00000001               
KEY_V_SER      = 00000009               LPIO_MINARGS   = 00000004               MEM_V_WILDMEM  = 0000001F               
KS_M_PH        = 00000100               LPIO_MOD       = 00000008               MID_M_CID      = 0000000F               
KS_V_PH        = 00000008               LPIO_NARGS     = 00000000               MID_M_REFC     = 0000FC00               
KS_W_CDH         00000008               LPIO_THRU_DATA   000001A0 R     04      MID_M_UNIT     = 000003F0               
KS_W_CMR         00000006               LPIO_THRU_F      000001A5 R     04      MID_S_CID      = 00000004               
KS_W_CTR         00000000               LPIO_THRU_FRAME  00000189 R     04      MID_S_REFC     = 00000006               
KS_W_DCR         0000000E               LQSC_A         = 0000000C               MID_S_UNIT     = 00000006               
KS_W_DFR         0000000C               LQSC_COUNT     = 00000014               MID_V_CID      = 00000000               
KS_W_DLR         0000000A               LQSC_CSIZE     = 00000003               MID_V_REFC     = 0000000A               
KS_W_MAE         00000018               LQSC_DATA      = 00000018               MID_V_UNIT     = 00000004               
KS_W_PES         00000004               LQSC_ELIST     = 00000004               PCT_M_BGL      = 00000100               
KS_W_RMA         0000001C               LQSC_F         = 00000010               PCT_M_DONE     = 00000080               
KS_W_SES         00000002               LQSC_FRAME     = 0000001C               PCT_M_ERR      = 00008000               
KS_W_TMA         0000001A               LQSC_MAXARGS   = 00000007               PCT_M_GO       = 00000001               
KS_W_WCR         0000001E               LQSC_MINARGS   = 00000005               PCT_M_IE       = 00000040               
LCMD_M_A       = 000001E0               LQSC_MOD       = 00000008               PCT_M_M        = 0000001E               
LCMD_M_F       = 0000001F               LQSC_NARGS     = 00000000               PCT_M_NXM      = 00000200               
LCMD_M_N       = 00003E00               LQSC_THRU_COUNT  00000286 R     04      PCT_M_QDC      = 00000400               
LCMD_M_QNE     = 00008000               LQSC_THRU_DATA   00000281 R     04      PCT_M_RESET    = 00000800               
LCMD_M_XI      = 00004000               LQSC_THRU_FRAME  0000026A R     04      PCT_M_SSP      = 00000020               
LCMD_S_A       = 00000004               LSTP_A         = 0000000C               PCT_S_DONE     = 00000001               
LCMD_S_F       = 00000005               LSTP_COUNT     = 00000014               PCT_S_ERR      = 00000001               
LCMD_S_N       = 00000005               LSTP_CSIZE     = 00000003               PCT_S_GO       = 00000001               
LCMD_S_QNE     = 00000001               LSTP_DATA      = 00000018               PCT_S_IE       = 00000001               
LCMD_S_XI      = 00000001               LSTP_ELIST     = 00000004               PCT_S_M        = 00000004               
LCMD_V_A       = 00000005               LSTP_F         = 00000010               PCT_S_QDC      = 00000001               
LCMD_V_F       = 00000000               LSTP_FRAME     = 0000001C               PCT_S_RESET    = 00000001               
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  38
Symbol table                                                              5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

PCT_S_SSP      = 00000001               RDA_NARGS      = 00000000               SES_S_PH       = 00000001               
PCT_V_BGL      = 00000008               RDA_RLIST      = 0000000C               SES_S_REN      = 00000001               
PCT_V_DONE     = 00000007               RTB_K_LENGTH     00000008               SES_S_SQ       = 00000001               
PCT_V_ERR      = 0000000F               RTB_W_CDH        00000006               SES_S_STE      = 00000001               
PCT_V_GO       = 00000000               RTB_W_CMR        00000002               SES_S_SX       = 00000001               
PCT_V_IE       = 00000006               RTB_W_CTR        00000000               SES_S_SYNC     = 00000001               
PCT_V_M        = 00000001               RTB_W_DLR        00000004               SES_S_TMO      = 00000001               
PCT_V_NXM      = 00000009               RTQ_LFRAME       00000627 R     04      SES_S_TPE      = 00000001               
PCT_V_QDC      = 0000000A               SCT_M_BGL      = 00000100               SES_V_DERR     = 0000000B               
PCT_V_RESET    = 0000000B               SCT_M_DONE     = 00000080               SES_V_ERC      = 00000000               
PCT_V_SSP      = 00000005               SCT_M_ERR      = 00008000               SES_V_ERR      = 0000000C               
PES_M_BC       = 0000007F               SCT_M_GO       = 00000001               SES_V_LPE      = 0000000A               
PES_M_BD       = 00000080               SCT_M_IE       = 00000040               SES_V_LSYN     = 00000004               
PES_M_BDIE     = 00000400               SCT_M_M        = 0000001E               SES_V_PH       = 00000008               
PES_M_BQ       = 00004000               SCT_M_NXM      = 00000200               SES_V_REN      = 00000003               
PES_M_BTO      = 00008000               SCT_M_QDC      = 00000400               SES_V_SQ       = 0000000E               
PES_M_BX       = 00002000               SCT_M_RESET    = 00000800               SES_V_STE      = 0000000F               
PES_M_ENAGL    = 00000200               SCT_M_SDR      = 00007000               SES_V_SX       = 0000000D               
PES_M_NEXTBD   = 00000100               SCT_M_SSP      = 00000020               SES_V_SYNC     = 00000005               
PES_S_BC       = 00000007               SCT_S_DONE     = 00000001               SES_V_TMO      = 00000006               
PES_S_BD       = 00000001               SCT_S_ERR      = 00000001               SES_V_TPE      = 00000009               
PES_S_BDIE     = 00000001               SCT_S_GO       = 00000001               SIZ...         = 00000008               
PES_S_BQ       = 00000001               SCT_S_IE       = 00000001               SS$_ABORT      = 0000002C               
PES_S_BTO      = 00000001               SCT_S_M        = 00000004               SS$_ACCONFLICT = 00000800               
PES_S_BX       = 00000001               SCT_S_QDC      = 00000001               SS$_ACCVIO     = 0000000C               
PES_S_ENAGL    = 00000001               SCT_S_RESET    = 00000001               SS$_ACPVAFUL   = 000002FC               
PES_S_NEXTBD   = 00000001               SCT_S_SDR      = 00000003               SS$_ALRDYCLOSED= 000006A9               
PES_V_BC       = 00000000               SCT_S_SSP      = 00000001               SS$_ARTRES     = 00000474               
PES_V_BD       = 00000007               SCT_V_BGL      = 00000008               SS$_ASTFLT     = 0000040C               
PES_V_BDIE     = 0000000A               SCT_V_DONE     = 00000007               SS$_BADATTRIB  = 00000034               
PES_V_BQ       = 0000000E               SCT_V_ERR      = 0000000F               SS$_BADCHKSUM  = 00000808               
PES_V_BTO      = 0000000F               SCT_V_GO       = 00000000               SS$_BADESCAPE  = 0000003C               
PES_V_BX       = 0000000D               SCT_V_IE       = 00000006               SS$_BADFILEHDR = 00000810               
PES_V_ENAGL    = 00000009               SCT_V_M        = 00000001               SS$_BADFILENAME= 00000818               
PES_V_NEXTBD   = 00000008               SCT_V_NXM      = 00000009               SS$_BADFILEVER = 00000820               
PIO_LFRAME       00000634 R     04      SCT_V_QDC      = 0000000A               SS$_BADIMGHDR  = 00000044               
PSTS_M_JIBV    = 00000001               SCT_V_RESET    = 0000000B               SS$_BADIRECTORY= 00000828               
PSTS_S_JIBV    = 00000001               SCT_V_SDR      = 0000000C               SS$_BADISD     = 00002004               
PSTS_V_JIBV    = 00000000               SCT_V_SSP      = 00000005               SS$_BADPARAM   = 00000014               
QIO$_ASTADR    = 00000014               SES_M_DERR     = 00000800               SS$_BADQFILE   = 000003BC               
QIO$_ASTPRM    = 00000018               SES_M_ERC      = 00000007               SS$_BADQUEUEHDR= 00000394               
QIO$_CHAN      = 00000008               SES_M_ERR      = 00001000               SS$_BADRCT     = 0000216C               
QIO$_EFN       = 00000004               SES_M_LPE      = 00000400               SS$_BADSTACK   = 000002B4               
QIO$_FUNC      = 0000000C               SES_M_LSYN     = 00000010               SS$_BADVEC     = 00002064               
QIO$_IOSB      = 00000010               SES_M_PH       = 00000100               SS$_BEGOFFILE  = 00000938               
QIO$_NARGS     = 0000000C               SES_M_REN      = 00000008               SS$_BLOCKCNTERR= 00000940               
QIO$_P1        = 0000001C               SES_M_SQ       = 00004000               SS$_BREAK      = 00000414               
QIO$_P2        = 00000020               SES_M_STE      = 00008000               SS$_BUFBYTALI  = 0000030C               
QIO$_P3        = 00000024               SES_M_SX       = 00002000               SS$_BUFFEROVF  = 00000601               
QIO$_P4        = 00000028               SES_M_SYNC     = 00000020               SS$_BUFNOTALIGN= 00000324               
QIO$_P5        = 0000002C               SES_M_TMO      = 00000040               SS$_BUGCHECK   = 000002A4               
QIO$_P6        = 00000030               SES_M_TPE      = 00000200               SS$_CANCEL     = 00000830               
QSC_LFRAME       0000062F R     04      SES_S_DERR     = 00000001               SS$_CHAINW     = 00000C0B               
RDA_DATA       = 00000010               SES_S_ERC      = 00000003               SS$_CHANINTLK  = 0000004C               
RDA_ELIST      = 00000004               SES_S_ERR      = 00000001               SS$_CLEARED    = 00002104               
RDA_FRAME      = 00000008               SES_S_LPE      = 00000001               SS$_CLIFRCEXT  = 00000980               
RDA_MINARGS    = 00000004               SES_S_LSYN     = 00000001               SS$_CMODSUPR   = 0000041C               
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  39
Symbol table                                                              5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

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               
SS$_CVTUNGRANT = 0000213C               SS$_FCPREPSTN  = 00000988               SS$_IVADDR     = 00000134               
SS$_DATACHECK  = 0000005C               SS$_FCPREWNDERR= 00000890               SS$_IVBUFLEN   = 0000034C               
SS$_DATAOVERUN = 00000838               SS$_FCPSPACERR = 00000898               SS$_IVCHAN     = 0000013C               
SS$_DBGOPCREQ  = 000006A1               SS$_FCPWRITERR = 000008A0               SS$_IVCHAR     = 000020CC               
SS$_DEADLOCK   = 00000E0A               SS$_FILACCERR  = 0000009C               SS$_IVCHNLSEC  = 0000026C               
SS$_DEBUG      = 0000046C               SS$_FILALRACC  = 000000A4               SS$_IVDEVNAM   = 00000144               
SS$_DECOVF     = 000004A4               SS$_FILELOCKED = 000008A8               SS$_IVGSDNAM   = 0000014C               
SS$_DEVACTIVE  = 000002C4               SS$_FILENUMCHK = 000008B0               SS$_IVLOCKID   = 00002124               
SS$_DEVALLOC   = 00000840               SS$_FILEPURGED = 00000679               SS$_IVLOGNAM   = 00000154               
SS$_DEVALRALLOC= 00000641               SS$_FILESEQCHK = 000008B8               SS$_IVLOGTAB   = 0000015C               
SS$_DEVASSIGN  = 00000848               SS$_FILESTRUCT = 000008C0               SS$_IVLVEC     = 0000203C               
SS$_DEVCMDERR  = 0000032C               SS$_FILNOTACC  = 000000AC               SS$_IVMODE     = 00000354               
SS$_DEVFOREIGN = 00000064               SS$_FILNOTCNTG = 000002AC               SS$_IVPROTECT  = 000002F4               
SS$_DEVICEFULL = 00000850               SS$_FILNOTEXP  = 000000B4               SS$_IVQUOTAL   = 00000164               
SS$_DEVINACT   = 000020D4               SS$_FLTDIV     = 00000494               SS$_IVSECFLG   = 0000016C               
SS$_DEVMOUNT   = 0000006C               SS$_FLTDIV_F   = 000004BC               SS$_IVSECIDCTL = 000002E4               
SS$_DEVNOTALLOC= 00000858               SS$_FLTOVF     = 0000048C               SS$_IVSSRQ     = 00000174               
SS$_DEVNOTDISM = 000021B4               SS$_FLTOVF_F   = 000004B4               SS$_IVSTSFLG   = 0000017C               
SS$_DEVNOTMBX  = 00000074               SS$_FLTUND     = 0000049C               SS$_IVTIME     = 00000184               
SS$_DEVNOTMOUNT= 0000007C               SS$_FLTUND_F   = 000004C4               SS$_JBCERROR   = 0000218C               
SS$_DEVOFFLINE = 00000084               SS$_FORCEDERROR= 00002144               SS$_LCKPAGFUL  = 000000D4               
SS$_DEVREQERR  = 00000334               SS$_FORCEDEXIT = 0000217C               SS$_LENVIO     = 0000018C               
SS$_DGQINCOMP  = 000009C0               SS$_FORMAT     = 000000BC               SS$_LINEABRT   = 00000E02               
SS$_DIRALLOC   = 000009C8               SS$_GPTFULL    = 000000C4               SS$_LINKABORT  = 000020E4               
SS$_DIRFULL    = 00000860               SS$_GSDFULL    = 000000CC               SS$_LINKDISCON = 000020EC               
SS$_DIRNOTEMPTY= 00002174               SS$_HANGUP     = 000002CC               SS$_LINKEXIT   = 000020F4               
SS$_DISCONNECT = 0000204C               SS$_HEADERFULL = 000008C8               SS$_LKWSETFUL  = 00000194               
SS$_DRVERR     = 0000008C               SS$_IDMISMATCH = 000003F4               SS$_MBFULL     = 000008D8               
SS$_DUPDSKQUOTA= 000003DC               SS$_IDXFILEFULL= 000008D0               SS$_MBTOOSML   = 0000019C               
SS$_DUPFILENAME= 00000868               SS$_ILLBLKNUM  = 000000DC               SS$_MCHECK     = 000002BC               
SS$_DUPLNAM    = 00000094               SS$_ILLCDTST   = 00002154               SS$_MCNOTVALID = 0000035C               
SS$_DUPUNIT    = 000021C4               SS$_ILLCNTRFUNC= 000000E4               SS$_MEDOFL     = 000001A4               
SS$_ENDOFFILE  = 00000870               SS$_ILLEFC     = 000000EC               SS$_MSGNOTFND  = 00000621               
SS$_ENDOFTAPE  = 00000878               SS$_ILLIOFUNC  = 000000F4               SS$_MTLBLLONG  = 00000304               
SS$_ENDOFUSRLBL= 00000970               SS$_ILLLBLAST  = 00000968               SS$_MULTRMS    = 0000202C               
SS$_ENDOFVOLUME= 000009A0               SS$_ILLPAGCNT  = 000000FC               SS$_MUSTCLOSEFL= 00000948               
SS$_EOTIN      = 00000C03               SS$_ILLSELF    = 0000214C               SS$_NOACNT     = 0000284C               
SS$_EXASTLM    = 00002A04               SS$_ILLSEQOP   = 000002DC               SS$_NOALLSPOOL = 00002824               
SS$_EXBIOLM    = 00002A0C               SS$_ILLSER     = 00000104               SS$_NOALTPRI   = 0000286C               
SS$_EXBYTLM    = 00002A14               SS$_ILLUSRLBLRD= 00000958               SS$_NOAQB      = 00000314               
SS$_EXCPUTIM   = 000020AC               SS$_ILLUSRLBLWT= 00000960               SS$_NOBUGCHK   = 000028BC               
SS$_EXDEPTH    = 00000E1A               SS$_INCOMPAT   = 00000699               SS$_NOBYPASS   = 000028EC               
SS$_EXDIOLM    = 00002A1C               SS$_INCVOLLABEL= 0000010C               SS$_NOCMEXEC   = 0000280C               
SS$_EXDISKQUOTA= 000003EC               SS$_INHCHME    = 000004D4               SS$_NOCMKRNL   = 00002804               
SS$_EXENQLM    = 00002A44               SS$_INHCHMK    = 000004CC               SS$_NODATA     = 000001AC               
SS$_EXFILLM    = 00002A24               SS$_INSFARG    = 00000114               SS$_NODETACH   = 0000282C               
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  40
Symbol table                                                              5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)

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               
SS$_NOLISTENER = 0000215C               SS$_NOVOLPRO   = 000028AC               SS$_UNSAFE     = 0000023C               
SS$_NOLOCKID   = 00000E12               SS$_NOWORLD    = 00002884               SS$_UNSOLICIT  = 00002114               
SS$_NOLOGNAM   = 000001BC               SS$_NOWRT      = 000003FC               SS$_UNWIND     = 00000920               
SS$_NOLOG_IO   = 0000283C               SS$_OPCCUS     = 00000434               SS$_UNWINDING  = 00000928               
SS$_NOMBX      = 00000274               SS$_OPCDEC     = 0000043C               SS$_VASFULL    = 00000244               
SS$_NOMOREFILES= 00000930               SS$_OPINCOMPL  = 000002D4               SS$_VCBROKEN   = 0000219C               
SS$_NOMOREPROC = 000009A8               SS$_OPRABORT   = 000020B4               SS$_VCCLOSED   = 000021A4               
SS$_NOMOUNT    = 0000288C               SS$_OVRDSKQUOTA= 00000669               SS$_VECFULL    = 00002034               
SS$_NONETMBX   = 000028A4               SS$_PAGOWNVIO  = 000001EC               SS$_VECINUSE   = 0000024C               
SS$_NONEXDRV   = 000001C4               SS$_PAGRDERR   = 00000444               SS$_VOLINV     = 00000254               
SS$_NONEXPR    = 000008E8               SS$_PARITY     = 000001F4               SS$_WAITUSRLBL = 00000950               
SS$_NONLOCAL   = 000008F0               SS$_PARNOTGRANT= 00002134               SS$_WASCLR     = 00000001               
SS$_NOOPER     = 00002894               SS$_PARTESCAPE = 000001FC               SS$_WASECC     = 00000639               
SS$_NOP1VA     = 00002024               SS$_PARTMAPPED = 00000E22               SS$_WASSET     = 00000009               
SS$_NOPFNMAP   = 000028D4               SS$_PATHLOST   = 000020FC               SS$_WRITLCK    = 0000025C               
SS$_NOPHY_IO   = 000028B4               SS$_PFMBSY     = 00000204               SS$_WRONGACP   = 0000031C               
SS$_NOPRIV     = 00000024               SS$_PLHLDR     = 00000404               STP_LFRAME       0000062F R     04      
SS$_NOPRIVEND  = 000029FF               SS$_POWERFAIL  = 00000364               SYS$QIO          ********  GX   04      
SS$_NOPRIVSTRT = 00002800               SS$_PRIVINSTALL= 00002054               SYS$QIOW         ********  GX   04      
SS$_NOPRMCEB   = 00002854               SS$_PROTINSTALL= 0000205C               VER_CAMCTL       00000586 R     04      
SS$_NOPRMGBL   = 000028C4               SS$_PROTOCOL   = 00002074               VER_CAMREAD      00000572 R     04      
SS$_NOPRMMBX   = 0000285C               SS$_PSTFULL    = 0000020C               VER_CAMWRITE     0000057C R     04      
SS$_NOPSWAPM   = 00002864               SS$_QFACTIVE   = 000003CC               WDA_DATA       = 0000000C               
SS$_NOQFILE    = 000003C4               SS$_QFNOTACT   = 000003D4               WDA_ELIST      = 00000004               
SS$_NORMAL     = 00000001               SS$_RADRMOD    = 0000044C               WDA_FRAME      = 00000008               
SS$_NOSETPRV   = 00002874               SS$_RDDELDATA  = 00000661               WDA_MINARGS    = 00000003               
SS$_NOSHMBLOCK = 000003B4               SS$_REJECT     = 00000294               WDA_NARGS      = 00000000               
SS$_NOSHMEM    = 000028DC               SS$_RELINK     = 0000200C               
SS$_NOSHRIMG   = 000021BC               SS$_REMOTE     = 00000649               
SS$_NOSIGNAL   = 00000900               SS$_REMRSRC    = 0000206C               
SS$_NOSLOT     = 0000039C               SS$_RESET      = 0000210C               
SS$_NOSOLICIT  = 00000284               SS$_RESIGNAL   = 00000918               
SS$_NOSUCHDEV  = 00000908               SS$_RESULTOVF  = 00000214               
SS$_NOSUCHFILE = 00000910               SS$_ROPRAND    = 00000454               
SS$_NOSUCHNODE = 0000028C               SS$_SECTBLFUL  = 0000021C               
SS$_NOSUCHOBJ  = 000020A4               SS$_SHARTOOBIG = 0000201C               
SS$_NOSUCHSEC  = 00000978               SS$_SHMGSNOTMAP= 0000036C               
SS$_NOSUCHUSER = 00002084               SS$_SHMNOTCNCT = 0000037C               
SS$_NOSYSGBL   = 000028CC               SS$_SHRIDMISMAT= 000020BC               
SS$_NOSYSLCK   = 000028F4               SS$_SHUT       = 0000208C               
SS$_NOSYSNAM   = 00002814               SS$_SSFAIL     = 0000045C               
SS$_NOSYSPRV   = 000028E4               SS$_SUBLOCKS   = 0000212C               
SS$_NOTALLPRIV = 00000681               SS$_SUBRNG     = 000004AC               
SS$_NOTAPEOP   = 00000264               SS$_SUPERSEDE  = 00000631               
SS$_NOTCREATOR = 00000384               SS$_SUSPENDED  = 000003A4               
SS$_NOTFILEDEV = 000001CC               SS$_SYNCH      = 00000689               
CAM$LLIB                        CAMAC LIST MODE PROCEDURE LIBRARY         6-JAN-1983 11:06:10  VAX-11 Macro V03-00         Page  41
Psect synopsis                                                            5-JAN-1983 17:16:46  SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1)


                                                +----------------+
                                                ! 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$                           FFFFFFFC  (    0.)  02 (  2.)  NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT NOVEC BYTE  
CAM$VEC                         00000030  (   48.)  03 (  3.)    PIC   USR   CON   REL   LCL   SHR   EXE   RD  NOWRT NOVEC BYTE  
CAM$CODE                        000006AA  ( 1706.)  04 (  4.)    PIC   USR   CON   REL   LCL   SHR   EXE   RD  NOWRT NOVEC BYTE  

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

Phase                    Page faults    CPU Time       Elapsed Time   
-----                    -----------    --------       ------------   
Initialization                   27     00:00:00.06    00:00:00.14
Command processing               30     00:00:00.19    00:00:00.48
Pass 1                          835     00:00:19.01    00:00:19.98
Symbol table sort                13     00:00:02.13    00:00:02.13
Pass 2                          534     00:00:04.51    00:00:04.61
Symbol table output              70     00:00:00.73    00:00:00.74
Psect synopsis output             3     00:00:00.03    00:00:00.02
Cross-reference output            0     00:00:00.00    00:00:00.00
Assembler run totals           1517     00:00:26.67    00:00:28.12

The working set limit was 750 pages.
102446 bytes (201 pages) of virtual memory were used to buffer the intermediate code.
There were 70 pages of symbol table space allocated to hold 1349 non-local and 82 local symbols.
1499 source lines were read in Pass 1, producing 44 object records in Pass 2.
44 pages of virtual memory were used to define 39 macros.

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

Macro library name                           Macros defined      
------------------                           --------------      
SYS$SYSROOT:[CAMAC.SOURCE.KS30202]CAMDEF.MLB;          20        
SYS$SYSROOT:[SYSLIB]LIB.MLB;1                           0        
SYS$SYSROOT:[SYSLIB]STARLET.MLB;1                      13        
TOTALS (all libraries)                                 33        

1656 GETS were required to define 33 macros.

There were no errors, warnings or information messages.

/LIS CAMLLIB
