CAM$CIB CAMAC IMAGE BLOCK MODULE 6-JAN-1983 11:05:37 VAX-11 Macro V03-00 Page 0 Table of contents (1) 5 CAMAC ACCESS LIBRARY HEADER (1) 48 SYSTEM AND CAMAC DEFS (1) 52 CAMAC IMAGE CONTROL BLOCK (1) 83 INTERNAL MODULE DATA (1) 106 CAM_GETJIB, SAMPLE PROCESS/JIB INFORMATI CAM$CIB CAMAC IMAGE BLOCK MODULE 6-JAN-1983 11:05:37 VAX-11 Macro V03-00 Page 1 V01-003 5-JAN-1983 17:16:43 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) 0000 1 .TITLE CAM$CIB CAMAC IMAGE BLOCK MODULE 0000 2 .IDENT 'V01-003' 0000 3 0000 4 .LIBRARY /CAMDEF/ ; CAMAC MACRO LIBRARY 0000 5 .SBTTL CAMAC ACCESS LIBRARY HEADER 0000 6 0000 7 ;************************************************************************ 0000 8 ; 0000 9 ; CAMAC ACCESS PROCEDURE LIBRARY FOR THE VAX-11/780 0000 10 ; CAMAC SYSTEM 0000 11 ; 0000 12 ;*************************************************************** 0000 13 0000 14 ;++ 0000 15 ; 0000 16 ; FACILITY 0000 17 ; OAK RIDGE NATIONAL LABORATORY 0000 18 ; FUSION ENERGY DIVISION 0000 19 ; TOKAMAK SECTION 0000 20 ; 0000 21 ; ABSTRACT 0000 22 ; 0000 23 ; This module contains the CAMAC Image Block(CIB) data structure, 0000 24 ; a non-sharable data storage area owned by each image resolving 0000 25 ; aganist the CAMAC access procedures. The CIB is referenced by most 0000 26 ; of the access procedures and contains image unique status and 0000 27 ; state information. The module also contains internal routines 0000 28 ; used to initialize CIB fields that are process dependent. 0000 29 ; 0000 30 ; AUTHOR 0000 31 ; E. T. Blair 0000 32 ; 0000 33 ; REVISION HISTORY 0000 34 ; V01-001, E.T. Blair,17_AUG-1982 0000 35 ; Move internal routine CAM_GETJIB from module CAM$SUBS to this 0000 36 ; module to decouple CAM$SUBS from referencing the CIB externally. 0000 37 ; With this change, CAM$SUBS has no external references required 0000 38 ; to be resolved at link time. 0000 39 ; 0000 40 ; V01-002, E.T. Blair,13-OCT-1982 0000 41 ; Change default memory format in the CIB from 16-bit mode to 24-bit 0000 42 ; mode. 0000 43 ; 0000 44 ; V01-003, E.T. Blair, 5-JAN-1983 0000 45 ; Added .LIBRARY directives for MACRO libraries required to assemble this 0000 46 ; module. 0000 47 ;-- 0000 48 .SBTTL SYSTEM AND CAMAC DEFS 0000 49 0000 50 $CIBDEF ; CAMAC IMAGE BLOCK STRUC CAM$CIB CAMAC IMAGE BLOCK MODULE 6-JAN-1983 11:05:37 VAX-11 Macro V03-00 Page 2 V01-003 CAMAC IMAGE CONTROL BLOCK 5-JAN-1983 17:16:43 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) 0000 52 .SBTTL CAMAC IMAGE CONTROL BLOCK 0000 53 .ENABL LSB 00000000 54 .PSECT CAM$DATA,NOSHR,NOEXE 0000 55 0000 56 ;++ 0000 57 ; 0000 58 ; CAMAC IMAGE CONTROL BLOCK PROG SECTION 0000 59 ; 0000 60 ;-- 0000 61 0000 62 CAM_CIB:: 0000 63 BASE CAM_CIB ; DEFINE BASE FOR DATA MACRO 0000 64 DATA CIB_Q_IOSB,QUAD,0 ; I/O STATUS BLOCK 0008 65 DATA CIB_L_PSTS,LONG,0 ; CIB PRIVATE STATUS LONGWORD 000C 66 DATA CIB_W_ISTS,WORD,0 ; IMAGE STATUS WORD 000E 67 DATA CIB_W_CSTS,WORD,- ; CAMAC STATUS WORD 000E 68 ; X IGNORE 0010 71 DATA CIB_L_GRP,- ; GROUP BUFFER 0010 72 LONG,0 0014 73 DATA CIB_L_MEM,- ; MEMBER BUFFER 0014 74 LONG,0 0018 75 DATA CIB_Q_CPRIV,- ; CURRENT PRIVILEGES 0018 76 QUAD,0 0020 77 DATA CIB_L_WSQUOTA,- ; WORK SET QUOTA BUFFER 0020 78 LONG,0 0024 79 DATA CIB_B_EFN,BYTE,0 ; CAMAC DEFAULT EVENT FLAG 0025 80 ASSUME <.-CAM_CIB>,EQ,CIB_K_LENGTH 0025 81 .DSABL LSB CAM$CIB CAMAC IMAGE BLOCK MODULE 6-JAN-1983 11:05:37 VAX-11 Macro V03-00 Page 3 V01-003 INTERNAL MODULE DATA 5-JAN-1983 17:16:43 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) 0025 83 .SBTTL INTERNAL MODULE DATA 0025 84 0025 85 ; 0025 86 ; JPI ITEMS FOR PROCESS 0025 87 ; 0025 88 CIB_L_ITMLST: 0025 89 0025 90 JPI_ITEM - ; GROUP NUMBER ITEM 0025 91 4,JPI$_GRP,CAM_CIB+CIB_L_GRP 0031 92 0031 93 JPI_ITEM - ; MEMBER NUMBER ITEM 0031 94 4,JPI$_MEM,CAM_CIB+CIB_L_MEM 003D 95 003D 96 JPI_ITEM - ; CURRENT PROCESS PRIVILEGES 003D 97 8,JPI$_CURPRIV,CAM_CIB+CIB_Q_CPRIV 0049 98 0049 99 JPI_ITEM - ; CURRENT WORK SET SIZE 0049 100 4,JPI$_WSQUOTA,CAM_CIB+CIB_L_WSQUOTA 0055 101 0055 102 JPI_ITEM ; END OF ITEM LIST 0059 103 CAM$CIB CAMAC IMAGE BLOCK MODULE 6-JAN-1983 11:05:37 VAX-11 Macro V03-00 Page 4 V01-003 INTERNAL MODULE DATA 5-JAN-1983 17:16:43 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) 00000000 105 .PSECT CAM$CODE,SHR,PIC,NOWRT 0000 106 .SBTTL CAM_GETJIB, SAMPLE PROCESS/JIB INFORMATION FOR CIB 0000 107 .ENABL LSB 0000 108 0000 109 ;++ 0000 110 ; 0000 111 ; CAM_GETJIB: ISSUE GET JPI SYSTEM SERVICE REQUEST TO OBTAIN 0000 112 ; JIB/PCB ITEMS SPECIFIED IN THE ITEM LIST 0000 113 ; SPECIFIED IN THE CAMAC IMAGE BLOCK. 0000 114 ; 0000 115 ; Inputs: 0000 116 ; R11 - address of the CAMAC image block. 0000 117 ; 0000 118 ; Outputs: 0000 119 ; Contents of the JIB in the CAMAC image block, 0000 120 ; JIBV status set in the image status word(CIB_L_PSTS), 0000 121 ; R0 - status of the request. 0000 122 ; 0000 123 ;-- 0000 124 0000 125 CAM_GETJIB:: ; GET JIB/PCB ITEMS FOR CIB 0000 126 56 DD 0000 127 PUSHL R6 ; SAVE FRAME ENTRY FRAME PNTR 56 5E D0 0002 128 MOVL SP,R6 ; SAVE CURRENT STACK LEVEL 0005 129 $GETJPI_S - ; GET JIB/PCB INFO 0005 130 ITMLST=CIB_L_ITMLST ; USE CIB ITEM LIST 04 50 E9 001C 131 BLBC R0,90$ ; IF FAILURE, RETURN AS IS 01 C8 001F 132 BISL #PSTS_M_JIBV,- ; SET JIB VALID STATUS 08 AB 0021 133 CIB_L_PSTS(R11) ; IN PRIVATE STATUS WORD 0023 134 90$: 5E 56 D0 0023 135 MOVL R6,SP ; RESTORE ENTRY STACK LEVEL 56 8ED0 0026 136 POPL R6 ; RESTORE ENTRY FRAME PNTR 05 0029 137 RSB ; RETURN TO CALLER 002A 138 .DSABL LSB CAM$CIB CAMAC IMAGE BLOCK MODULE 6-JAN-1983 11:05:37 VAX-11 Macro V03-00 Page 5 V01-003 CAM_GETJIB, SAMPLE PROCESS/JIB INFORMATI 5-JAN-1983 17:16:43 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) 002A 140 .END CAM$CIB CAMAC IMAGE BLOCK MODULE 6-JAN-1983 11:05:37 VAX-11 Macro V03-00 Page 6 Symbol table 5-JAN-1983 17:16:43 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) $$T1 = 00000001 ...BASE = 00000000 R 03 BIT... = 00000004 CAM_CIB 00000000 RG 03 CAM_GETJIB 00000000 RG 04 CIB_B_EFN 00000024 CIB_K_LENGTH 00000025 CIB_L_GRP 00000010 CIB_L_ITMLST 00000025 R 03 CIB_L_MEM 00000014 CIB_L_PSTS 00000008 CIB_L_WSQUOTA 00000020 CIB_Q_CPRIV 00000018 CIB_Q_IOSB 00000000 CIB_W_CSTS 0000000E CIB_W_ISTS 0000000C CSTS_M_M16 = 00000008 CSTS_M_QDC = 00000001 CSTS_M_QNE = 00000002 CSTS_M_XI = 00000004 CSTS_S_M16 = 00000001 CSTS_S_QDC = 00000001 CSTS_S_QNE = 00000001 CSTS_S_XI = 00000001 CSTS_V_M16 = 00000003 CSTS_V_QDC = 00000000 CSTS_V_QNE = 00000001 CSTS_V_XI = 00000002 JPI$_CURPRIV ******** X 03 JPI$_GRP ******** X 03 JPI$_MEM ******** X 03 JPI$_WSQUOTA ******** X 03 PSTS_M_JIBV = 00000001 PSTS_S_JIBV = 00000001 PSTS_V_JIBV = 00000000 SIZ... = 00000001 SYS$GETJPI ******** GX 04 +----------------+ ! 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$ 00000025 ( 37.) 02 ( 2.) NOPIC USR CON ABS LCL NOSHR EXE RD WRT NOVEC BYTE CAM$DATA 00000059 ( 89.) 03 ( 3.) NOPIC USR CON REL LCL NOSHR NOEXE RD WRT NOVEC BYTE CAM$CODE 0000002A ( 42.) 04 ( 4.) PIC USR CON REL LCL SHR EXE RD NOWRT NOVEC BYTE CAM$CIB CAMAC IMAGE BLOCK MODULE 6-JAN-1983 11:05:37 VAX-11 Macro V03-00 Page 7 VAX-11 Macro Run Statistics 5-JAN-1983 17:16:43 SYS$SYSROOT:[CAMAC.SOURCE.KS30202](1) +------------------------+ ! Performance indicators ! +------------------------+ Phase Page faults CPU Time Elapsed Time ----- ----------- -------- ------------ Initialization 28 00:00:00.05 00:00:00.14 Command processing 28 00:00:00.20 00:00:00.44 Pass 1 222 00:00:01.65 00:00:02.21 Symbol table sort 0 00:00:00.02 00:00:00.02 Pass 2 63 00:00:00.40 00:00:00.45 Symbol table output 6 00:00:00.03 00:00:00.03 Psect synopsis output 4 00:00:00.03 00:00:00.03 Cross-reference output 0 00:00:00.00 00:00:00.00 Assembler run totals 356 00:00:02.40 00:00:03.34 The working set limit was 450 pages. 5969 bytes (12 pages) of virtual memory were used to buffer the intermediate code. There were 10 pages of symbol table space allocated to hold 37 non-local and 1 local symbols. 140 source lines were read in Pass 1, producing 16 object records in Pass 2. 16 pages of virtual memory were used to define 15 macros. +--------------------------+ ! Macro library statistics ! +--------------------------+ Macro library name Macros defined ------------------ -------------- SYS$SYSROOT:[CAMAC.SOURCE.KS30202]CAMDEF.MLB; 4 SYS$SYSROOT:[SYSLIB]STARLET.MLB;1 8 TOTALS (all libraries) 12 172 GETS were required to define 12 macros. There were no errors, warnings or information messages. /LIS CAMCIB