RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (1)      46  DECLARATIONS

   (1)      80  RM1GETINT  -  INTERNAL GET/FIND SEQUENTIAL ALL 

   (1)     125  RM$GET_UNIT_REC  -  UNIT RECORD GET ROUTINE

   (2)     221  RM$GET_BLK_DEV  -  BLOCK DEVICE GET ROUTINE

   (3)     490  INTERNAL UTILITY ROUTINES

   (6)     686  GTMVRC - SUBROUTINE TO MOVE A RECORD

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page   1

027                                                                                                                              (1)



                                     0000     1 	$BEGIN	RM1GETINT,027,$RMS1,<INTERNAL GET SEQUENTIAL>,<QUAD,NOWRT>

                                     0000     2 

                                     0000     3 

                                     0000     4 ;

                                     0000     5 ; COPYRIGHT (C) 1977, 1978

                                     0000     6 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754

                                     0000     7 ;

                                     0000     8 ; THIS SOFTWARE IS FURNISHED  UNDER A LICENSE FOR USE ONLY ON A SINGLE

                                     0000     9 ; COMPUTER  SYSTEM AND  MAY BE  COPIED ONLY WITH  THE INCLUSION OF THE

                                     0000    10 ; ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE, OR ANY OTHER COPIES THEREOF,

                                     0000    11 ; MAY NOT BE PROVIDED OR  OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON

                                     0000    12 ; EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE

                                     0000    13 ; TERMS.  TITLE TO AND  OWNERSHIP OF THE  SOFTWARE  SHALL AT ALL TIMES

                                     0000    14 ; REMAIN IN DEC.

                                     0000    15 ;

                                     0000    16 ; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE

                                     0000    17 ; AND SHOULD  NOT BE CONSTRUED  AS A COMMITMENT  BY DIGITAL  EQUIPMENT

                                     0000    18 ; CORPORATION.

                                     0000    19 ;

                                     0000    20 ; DEC ASSUMES  NO  RESPONSIBILITY  FOR  THE USE OR  RELIABILITY OF ITS

                                     0000    21 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.

                                     0000    22 ;

                                     0000    23 ;++

                                     0000    24 ; FACILITY: RMS32

                                     0000    25 ;

                                     0000    26 ; ABSTRACT:

                                     0000    27 ;		THIS MODULE PERFORMS $GET /$FIND RECORD

                                     0000    28 ;		PROCESSING FOR THE SEQUENTIAL FILE ORGANIZATION.

                                     0000    29 ;

                                     0000    30 ;

                                     0000    31 ; ENVIRONMENT:

                                     0000    32 ;		STAR PROCESSOR RUNNING STARLET EXEC.

                                     0000    33 ;

                                     0000    34 ; AUTHOR: L F LAVERDURE,	 CREATION DATE: 3-FEB-77

                                     0000    35 ;

                                     0000    36 ; MODIFIED BY:

                                     0000    37 ;

                                     0000    38 ;	J A KRYCKA,	    19-AUG-78  20:15    ; FIX NETWORK VFC BUG

                                     0000    39 ;	L F LAVERDURE,      18-AUG-78  17:07	; FIX 0 LEN PROBE BUG

                                     0000    40 ;	L F LAVERDURE,      18-AUG-78  11:28	; FIX PROBE BUG

                                     0000    41 ;	L F LAVERDURE,      14-AUG-78  14:44	; INCLUDE LONG PROBING FIX

                                     0000    42 ;	L F LAVERDURE,   9-JUN-78  11:26

                                     0000    43 ; 01	- 

                                     0000    44 ;--

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page   2

027             DECLARATIONS                                                                                                     (1)



                                     0000    46 	.SBTTL	DECLARATIONS

                                     0000    47 ;

                                     0000    48 ; INCLUDE FILES:

                                     0000    49 ;

                                     0000    50 

                                     0000    51 ;

                                     0000    52 ; MACROS:

                                     0000    53 ;

                                     0000    54 	$RABDEF

                                     0000    55 	$FABDEF

                                     0000    56 	$IRBDEF

                                     0000    57 	$IFBDEF

                                     0000    58 	$DEVDEF

                                     0000    59 	$BDBDEF

                                     0000    60 	$PIODEF

                                     0000    61 	$RMSDEF

                                     0000    62 	.LIST MEB

                                     0000    63 

                                     0000    64 ;

                                     0000    65 ; EQUATED SYMBOLS:

                                     0000    66 ;

                           00000020  0000    67 	ROP=RAB$L_ROP*8		; BIT OFFSET TO ROP

                           0000000A  0000    68 	LF=10			; LINE FEED

                           0000000B  0000    69 	VT=11			; VERTICAL TAB

                           0000000C  0000    70 	FF=12			; FORM FEED

                           0000000D  0000    71 	CR=13			; CARRIAGE RETURN

                           0000001A  0000    72 	CTRLZ=26		; CONTROL Z

                                     0000    73 

                                     0000    74 ;

                                     0000    75 ;

                                     0000    76 ; OWN STORAGE:

                                     0000    77 ;

                                     0000    78 

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page   3

027             RM1GETINT  -  INTERNAL GET/FIND SEQUENTIAL ALL                                                                   (1)



                                     0000    80 	.SBTTL RM1GETINT  -  INTERNAL GET/FIND SEQUENTIAL ALL DEVICES

                                     0000    81 ;++

                                     0000    82 ; FUNCTIONAL DESCRIPTION:

                                     0000    83 ;

                                     0000    84 ;	THIS MODULE INCLUDES TWO ROUTINES TO PERFORM GET/FIND

                                     0000    85 ;	RECORD PROCESSING FOR THE SEQUENTIAL FILE ORGANIZATION.

                                     0000    86 ;

                                     0000    87 ; CALLING SEQUENCE:

                                     0000    88 ;

                                     0000    89 ;	BSBW	RM$GET_UNIT_REC	; FOR UNIT RECORD DEVICE

                                     0000    90 ;	BSBW	RM$GET_BLK_DEV	; FOR BLOCK-ORIENTED DEVICE

                                     0000    91 ;

                                     0000    92 ; INPUT PARAMETERS:

                                     0000    93 ;

                                     0000    94 ;	R11	IMPURE AREA ADDR

                                     0000    95 ;	R10	IFAB ADDR

                                     0000    96 ;	R9	IRAB ADDR

                                     0000    97 ;	R8	RAB ADDR

                                     0000    98 ;

                                     0000    99 ; IMPLICIT INPUTS:

                                     0000   100 ;

                                     0000   101 ;	THE CONTENTS OF THE VARIOUS STRUCTURES.

                                     0000   102 ;

                                     0000   103 ; OUTPUT PARAMETERS:

                                     0000   104 ;

                                     0000   105 ;	R0	STATUS CODE

                                     0000   106 ;	R1-R7	DESTROYED

                                     0000   107 ;

                                     0000   108 ; IMPLICIT OUTPUTS:

                                     0000   109 ;

                                     0000   110 ;	THE INTERNAL STRUCTURES ARE UPDATED TO REFLECT THE

                                     0000   111 ;	RESULTS OF THE GET OR FIND. THE RAB FIELDS

                                     0000   112 ;	ARE UPDATED TO CORRESPOND TO THE FOUND OR GOTTEN

                                     0000   113 ;	RECORD (SEE FUNCTIONAL SPEC FOR LIST).

                                     0000   114 ;

                                     0000   115 ; COMPLETION CODES:

                                     0000   116 ;

                                     0000   117 ;	STANDARD RMS.

                                     0000   118 ;

                                     0000   119 ; SIDE EFFECTS:

                                     0000   120 ;

                                     0000   121 ;	NONE

                                     0000   122 ;

                                     0000   123 ;--

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page   4

027             RM$GET_UNIT_REC  -  UNIT RECORD GET ROUTINE                                                                      (1)



                                     0000   125 	.SBTTL	RM$GET_UNIT_REC  -  UNIT RECORD GET ROUTINE

                                     0000   126 ;

                                     0000   127 RM$GET_UNIT_REC::

            54         20 A9     D0  0000   128 	MOVL	IRB$L_CURBDB(R9),R4		; GET CURRENT BDB ADDR

                          16     13  0004   129 	BEQL	20$				; BRANCH IF NONE EXISTS

                                     0006   130 ;

                                     0006   131 ; IF LAST OPERATION WAS A $FIND AND THIS IS A $GET,

                                     0006   132 ; RETURN THE CURRENT RECORD, OTHERWISE JUST SKIP

                                     0006   133 ; THE CURRENT (NOW OLD) RECORD

                                     0006   134 ;

            69            25     E1  0006   135 	BBC	#IRB$V_FIND_LAST,(R9),10$	; BRANCH IF PREVIOUS

                          09         0009       

                                     000A   136 						; OPERATION WAS NOT $FIND

            69            29     E0  000A   137 	BBS	#IRB$V_FIND,(R9),10$		; BRANCH IF DOING $FIND

                          05         000D       

                          FFEF'  30  000E   138 	BSBW	RM$MAPBLK1			; JUST SET UP RECORD POINTERS

                          23     11  0011   139 	BRB	GETLST

                                     0013   140 ;

                                     0013   141 ; RELEASE CURRENT BDB

                                     0013   142 ;

                       10 A4     B4  0013   143 10$:	CLRW	BDB$W_NUMB(R4)			; SAY BUFFER EMPTY

                          FFE7'  30  0016   144 	BSBW	RM$RLNERR			; RELEASE BDB

                       20 A9     D4  0019   145 	CLRL	IRB$L_CURBDB(R9)		; NO CURRENT BDB

            69            21     E0  001C   146 20$:	BBS	#IRB$V_EOF,(R9),GETEOF		; EXIT IF AT EOF

                          28         001F       

                                     0020   147 ;

                                     0020   148 ; GET NEXT RECORD

                                     0020   149 ;

            52         38 AA     3C  0020   150 	MOVZWL	IFB$W_DEVBUFSIZ(R10),R2		; SIZE OF BUFFER

                          53     D4  0024   151 	CLRL	R3				; READ REQUIRED

                          FFD7'  30  0026   152 	BSBW	RM$GETBLK1ALT			; GET THE RECORD

            15            50     E9  0029   153 	BLBC	R0,ZERO_RFA1			; EXIT ON ERROR

                                     002C   154 ;

                                     002C   155 ; CHECK FOR ^Z TERMINATOR

                                     002C   156 ; IF FOUND IMPLIES THERE WAS SOME DATA ON THE SAME LINE.

                                     002C   157 ; IT WILL BE RETURNED OK THIS TIME BUT SET THE EOF FLAG

                                     002C   158 ; FOR NEXT TRY.

                                     002C   159 ;

            1A         0C A8     91  002C   160 	CMPB	RAB$L_STV(R8),#CTRLZ		; RECORD TERMINATE WITH ^Z?

                          04     12  0030   161 	BNEQ	GETLST				; BRANCH IF NOT

                                     0032   162 	SSB	#IRB$V_EOF,(R9)			; SET EOF FLAG

            69            21     E2  0032       		BBSS	#IRB$V_EOF,(R9),30000$

                          00         0035       

                                     0036       30000$:

                                     0036   163 ;

                                     0036   164 ;  RETURN THE RECORD

                                     0036   165 ;

                                     0036   166 GETLST:

            56         10 A4     3C  0036   167 	MOVZWL	BDB$W_NUMB(R4),R6		; GET RECORD LENGTH

            6A            3E     E0  003A   168 	BBS	#IFB$V_DAP,(R10),NTVFC		; BRANCH IF NETWORK OPERATION

                          07         003D       

                          00FF   30  003E   169 GETLST1:BSBW	RETREC				; RETURN THE RECORD

                                     0041   170 ZERO_RFA1:

                       10 A8     7C  0041   171 	CLRQ	RAB$W_RFA(R8)			; ZERO RFA

                                 05  0044   172 	RSB					; RETURN TO CALLER

                                     0045   173 ;++

                                     0045   174 ;

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page   5

027             RM$GET_UNIT_REC  -  UNIT RECORD GET ROUTINE                                                                      (1)



                                     0045   175 ; NETWORK SPECIFIC CODE TO UPDATE RHB IF RECORD IN VFC FORMAT

                                     0045   176 ;

                                     0045   177 ;--

                                     0045   178 NTVFC:	$PSECT_BR	NF$NETWORK

                          FFB8'  31  0045       		BRW	NF$NETWORK0

                                     0048       		.SAVE

                                 00000000       		.PSECT	NF$NETWORK,GBL,NOWRT

                                     0000       NF$NETWORK0:

            03         3C AA     91  0000   179 	CMPB	IFB$B_RFMORG(R10),#FAB$C_VFC	; VFC FORMAT?

                          1E     12  0004   180 	BNEQ	20$				; BRANCH IF NOT

            52         4B AA     9A  0006   181 	MOVZBL	IFB$B_FSZ(R10),R2		; PICK UP FIXED HEADER SIZE

         42 A9            52     A0  000A   182 	ADDW2	R2,IRB$W_CSIZ(R9)		; ADJUST TOTAL RECORD SIZE

            56            52     C2  000E   183 	SUBL2	R2,R6				; ADJUST REMAINING REC SIZE

            53         2C A8     D0  0011   184 	MOVL	RAB$L_RHB(R8),R3		; GET USER'S HEADER BUFFER

                          0A     13  0015   185 	BEQL	10$				; AND BRANCH IF NONE

                                     0017   186 ;

                                     0017   187 ;  MOVE VFC HEADER TO USER

                                     0017   188 ;

            69            29     E0  0017   189 	BBS	#IRB$V_FIND,(R9),10$		; BRANCH IF THIS IS A FIND

                          06         001A       

                          01A2'  30  001B   190 	BSBW	GTMVRC				; MOVE JUST LIKE RECORD

            06            50     E9  001E   191 	BLBC	R0,30$				; BRANCH ON ERROR

                                     0021   192 ;

                                     0021   193 ;  SKIP OVER UNWANTED RHB

                                     0021   194 ;

            51            52     C0  0021   195 10$:	ADDL2	R2,R1				; BUMP SOURCE POINTER

                          0017'  31  0024   196 20$:	BRW	GETLST1				; REJOIN MAINLINE

                          00FF'  31  0027   197 30$:	BRW	ERRRHB				; BRANCH AID

                                     002A   198 	$PSECT_RESTORE

                                 00000048       		.RESTORE

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page   6

027             RM$GET_UNIT_REC  -  UNIT RECORD GET ROUTINE                                                                      (1)



                                     0048   200 ;++

                                     0048   201 ;

                                     0048   202 ;  EOF ERROR

                                     0048   203 ;

                                     0048   204 ;--

                                     0048   205 GETEOF:	$PSECT_BR	L$RMS1GET

                          FFB5'  31  0048       		BRW	L$RMS1GET1

                                     004B       		.SAVE

                                 00000000       		.PSECT	L$RMS1GET,GBL,NOWRT

                                     0000       L$RMS1GET1:

                                     0000   206 	RMSERR	EOF	

            50       827A 8F     3C  0000       		MOVZWL	#<RMS$_EOF&^XFFFF>,R0

                                     0005   207 ;

                                     0005   208 ;  IF DEVICE IS A TERMINAL RESET EOF FLAG SO THAT EOF ERROR IS GIVEN ONLY ONCE

                                     0005   209 ;

            6A            02     E1  0005   210 	BBC	#DEV$V_TRM,IFB$L_PRIM_DEV(R10),10$ ;BRANCH UNLESS TERMINAL

                          04         0008       

            69            21     E4  0009   211 	BBSC	#IRB$V_EOF,(R9),ZERO_RFA	;RESET EOF FLAG AND BRANCH

                          30         000C       

                                     000D   212 ;

                                     000D   213 ;  IF THIS IS SYS$INPUT (ON OTHER THAN A TERMINAL) RESET END OF DATA SCAN STRING

                                     000D   214 ;

            6A            2E     E1  000D   215 10$:	BBC	#IFB$V_PPF_INPUT,(R10),ZERO_RFA	; BRANCH IF NOT SYS$INPUT

                          2C         0010       

   00000000'9F            02     8A  0011   216 	BICB2	#1@PIO$V_EOD,@#PIO$GW_STATUS	; CLEAR "$EOD" FLAG

   00000000'9F       2401 8F     B0  0018   217 	MOVW	#1+<^A/$/ @ 8>,@#PIO$GT_ENDSTR	; RESET EOD STRING TO SINGLE "$"

                          1A     11  0021   218 	BRB	ZERO_RFA

                                     0023   219 	$PSECT_RESTORE

                                 0000004B       		.RESTORE

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page   7

027             RM$GET_BLK_DEV  -  BLOCK DEVICE GET ROUTINE                                                                      (2)



                                     004B   221 	.SBTTL	RM$GET_BLK_DEV  -  BLOCK DEVICE GET ROUTINE

                                     004B   222 ;++

                                     004B   223 ;

                                     004B   224 ;  PERFORM GET FROM A BLOCK DEVICE.

                                     004B   225 ;

                                     004B   226 ;--

                                     004B   227 

                                     004B   228 ;++

                                     004B   229 ;

                                     004B   230 ;  MAKE LONGER VERSION OF EOF CHECK.

                                     004B   231 ;	(NOTE: THIS LABEL IS NOT A GLOBAL ENTRY POINT)

                                     004B   232 ;--

                                     004B   233 CHKEOF1:

                          FFB2'  30  004B   234 	BSBW	RM$CHKEOF1			;SET/CLEAR EOF BIT

            69            21     E1  004E   235 	BBC	#IRB$V_EOF,(R9),GETNRP		;BRANCH IF NOT EOF

                          1D         0051       

                          F4     11  0052   236 	BRB	GETEOF				;REPORT ERROR

                                     0054   237 	$QUAD_ALIGN	.+6			;ALIGN RM$GET_BLK_DEV FOR PERFORMANCE

                                 01  0054       		NOP

                                 01  0055       		NOP

                                 01  0056       		NOP

                                 01  0057       		NOP

                                 01  0058       		NOP

                                 01  0059       		NOP

                                     005A   238 ;++

                                     005A   239 ;

                                     005A   240 ;  GET NEXT BLOCK  (NOTE: THIS LABEL IS NOT A GLOBAL ENTRY POINT)

                                     005A   241 ;

                                     005A   242 ;--

                          01C3   30  005A   243 GET00:	BSBW	NXTBLK

            E1            50     E9  005D   244 	BLBC	R0,ZERO_RFA1			;GET OUT ON ERROR

                                     0060   245 ;++

                                     0060   246 ;

                                     0060   247 ;  ENTRY POINT TO READ A FULL BUFFER (I.E., MBC+1 BLOCKS)

                                     0060   248 ;

                                     0060   249 ;--

                                     0060   250 RM$GET_BLK_DEV::

                          53     D4  0060   251 	CLRL	R3				;FLAG FULL READ REQUIRED

                                     0062   252 ;++

                                     0062   253 ;

                                     0062   254 ;  ENTRY POINT FOR RANDOM READS TO TRANSFER LESS THAN MBC+1 BLOCKS

                                     0062   255 ;	R3=SHORT READ FLAG (#2) AND R2=# BLOCKS TO READ MINUS 1

                                     0062   256 ;

                                     0062   257 ;--

                                     0062   258 RM$GETRANDOM::

                                     0062   259 	$TSTPT	GETBLKD

                 00000200'9F     D6  0062       		INCL	@#PIO$GL_FMLH+512+TPT$L_GETBLKD

         44 AA         2C A9     D1  0068   260 	CMPL	IRB$L_NRP_VBN(R9),IFB$L_EBK(R10) ;AT OR PAST EOF BLOCK?

                          DC     1E  006D   261 	BGEQU	CHKEOF1				 ;YES - MAKE LONG CHECK

                                     006F   262 ;

                                     006F   263 ;  MUST GET THE BLOCK SPECIFIED BY NRP

                                     006F   264 ;

                          FF8E'  30  006F   265 GETNRP:	BSBW	RM$GETBLKNRP			;GET THE BLOCK

                                     0072   266 ZERO_RFA_BR:

            CC            50     E9  0072   267 	BLBC	R0,ZERO_RFA1			;GET OUT ON ERROR

            51         30 A9     C0  0075   268 	ADDL2	IRB$L_NRP_OFF(R9),R1		;MAKE OFFSET INTO ADDRESS

         34 A9         2C A9     7D  0079   269 	MOVQ	IRB$L_NRP_VBN(R9),IRB$L_RP_VBN(R9)	;SET RP FROM NRP

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page   8

027             RM$GET_BLK_DEV  -  BLOCK DEVICE GET ROUTINE                                                                      (2)



                                     007E   271 ;++

                                     007E   272 ;

                                     007E   273 ;  DETERMINE RECORD LENGTH BASED ON RECORD FORMAT

                                     007E   274 ;

                                     007E   275 ;--

                                     007E   276 ;

                                     007E   277 ;  IF RECORD FORMAT IS FIXED, THERE IS NO SIZE FIELD; IF EITHER VAR OR VFC,

                                     007E   278 ;  THE TOTAL SIZE FIELD IS, BY DEFINITION (I.E., $PUT), CONTAINED IN A SINGLE

                                     007E   279 ;  BLOCK, THUS IT CAN BE ACCESSED WITHOUT REGARD FOR CROSSING BLOCK BOUNDARIES.

                                     007E   280 ;

                                     007E   281 ;  THE SIZE FIELD IS IN ONE OF THE FOLLOWING TWO FORMATS:

                                     007E   282 ;

                                     007E   283 ;	BINARY  -  WORD-ALIGNED SIGNED 15-BIT INTEGER (SIZE OF DATA)

                                     007E   284 ;		-  -1 = END OF BLOCK

                                     007E   285 ;		-  -N ILLEGAL

                                     007E   286 ;

                                     007E   287 ;	ANSI D  -  BYTE-ALIGNED 4 DECIMAL ASCII CHAR COUNT (SIZE OF DATA + 4)

                                     007E   288 ;		-  "^" = END OF BLOCK

                                     007E   289 ;		-  ALL OTHER CHARS ILLEGAL (RMS$_ANI)

                                     007E   290 ;

                                     007E   291 ;--

            01         3C AA     91  007E   292 	CMPB	IFB$B_RFMORG(R10),#FAB$C_FIX	;FIXED RECORD FORMAT?

                          26     13  0082   293 	BEQL	FIXSIZ				;BRANCH IF YES

            6A            26     E0  0084   294 	BBS	#IFB$V_ANSI_D,(R10),GET_ANSI_D	;BRANCH IF ANSI D

                          30         0087       

                                     0088   295 ;

                                     0088   296 ;  BINARY SIZE FIELD

                                     0088   297 ;

                                     0088   298 GET_BIN_SIZ:

         42 A9            02     B0  0088   299 	MOVW	#2,IRB$W_CSIZ(R9)		;NOTE OVERHEAD FOR SIZE FIELD

            56            81     32  008C   300 	CVTWL	(R1)+,R6			;GET REC LENGTH

                          21     19  008F   301 	BLSS	GET_CHKMINUS			;BRANCH IF NEGATIVE

                                     0091   302 ;++

                                     0091   303 ;

                                     0091   304 ;  IF RECORDS ARE NOT ALLOWED TO CROSS BLOCK BOUNDARIES, SEE IF IT

                                     0091   305 ;  DOES AND IS THEREFORE ILLEGAL.

                                     0091   306 ;

                                     0091   307 ;--

         3D AA            03     E1  0091   308 CHKBLK:	BBC	#FAB$V_BLK,IFB$B_RAT(R10),GET_CHKVFC	;BRANCH IF CROSSING BLK O.K.

                          2A         0095       

                          00FE   30  0096   309 	BSBW	CROSSBLK			;DOES RECORD CROSS?

                          25     1B  0099   310 	BLEQU	GET_CHKVFC			;BRANCH IF NOT

            01         3C AA     91  009B   311 	CMPB	IFB$B_RFMORG(R10),#FAB$C_FIX	;FIXED LENGTH RECORDS?

                          06     12  009F   312 	BNEQ	ERRIRC				;BRANCH IF NOT

                                     00A1   313 ;

                                     00A1   314 ;  FIXED LENGTH RECORD FORMAT, NO CROSSING BLOCK BOUNDARIES ALLOWED.

                                     00A1   315 ;  IF SIZE NOT LARGER THAN A BLOCK THEN GO BACK AND GET NEXT BLOCK.

                                     00A1   316 ;

         38 AA            56     B1  00A1   317 	CMPW	R6,IFB$W_DEVBUFSIZ(R10)		;RECORD LEN > 1 BLOCK?

                          B3     1B  00A5   318 	BLEQU	GET00				;BRANCH IF YES

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page   9

027             RM$GET_BLK_DEV  -  BLOCK DEVICE GET ROUTINE                                                                      (2)



                                     00A7   320 ;++

                                     00A7   321 ;

                                     00A7   322 ;  ILLEGAL RECORD FORMAT

                                     00A7   323 ;

                                     00A7   324 ;--

                                     00A7   325 ERRIRC:	$PSECT_BR	L$RMS1

                          FF56'  31  00A7       		BRW	L$RMS12

                                     00AA       		.SAVE

                                 00000000       		.PSECT	L$RMS1,GBL,NOWRT

                                     0000       L$RMS12:

                                     0000   326 	RMSERR	IRC

            50       857C 8F     3C  0000       		MOVZWL	#<RMS$_IRC&^XFFFF>,R0

         0C A8         2C A9     D0  0005   327 	MOVL	IRB$L_NRP_VBN(R9),RAB$L_STV(R8)	;INDICATE VBN HAVING BAD RECORD

                          0030'  31  000A   328 	BRW	ZERO_RFA

                                     000D   329 	$PSECT_RESTORE

                                 000000AA       		.RESTORE

                                     00AA   330 

                                     00AA   331 

                                     00AA   332 ;++

                                     00AA   333 ;

                                     00AA   334 ;  FIXED SIZE RECORD  - PICK UP THE RECORD LENGTH

                                     00AA   335 ;

                                     00AA   336 ;--

            56         3E AA     32  00AA   337 FIXSIZ:	CVTWL	IFB$W_LRL(R10),R6		;GET FIXED REC LENGTH

                                     00AE   338 GET_CHKSIZ:

                          E1     18  00AE   339 	BGEQ	CHKBLK				;BRANCH IF SIZE REASONABLE

                          F5     11  00B0   340 	BRB	ERRIRC				;HANDLE ERROR

                                     00B2   341 

                                     00B2   342 ;++

                                     00B2   343 ;

                                     00B2   344 ;  CHECK FOR SIZE = -1 (END OF BLOCK FLAG)

                                     00B2   345 ;

                                     00B2   346 ;--

                                     00B2   347 GET_CHKMINUS:

                          56     D6  00B2   348 	INCL	R6				;SIZE = -1?

                          A4     13  00B4   349 	BEQL	GET00				;BRANCH IF YES -

                                     00B6   350 						; SAYS GET NEXT BLOCK

                          EF     11  00B6   351 	BRB	ERRIRC				;HANDLE ERROR

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page  10

027             RM$GET_BLK_DEV  -  BLOCK DEVICE GET ROUTINE                                                                      (2)



                                     00B8   353 ;++

                                     00B8   354 ;

                                     00B8   355 ;  THIS IS A GET OF A VARIABLE (OR VFC) ANSI MAGTAPE RECORD.

                                     00B8   356 ;

                                     00B8   357 ;  INTERPRET THE FIRST FOUR BYTES OF THE RECORD AS THE LENGTH IN DECIMAL ASCII.

                                     00B8   358 ;

                                     00B8   359 ;--

                                     00B8   360 GET_ANSI_D:	$PSECT_BR	$RMS1ANSID

                          FF45'  31  00B8       		BRW	$RMS1ANSID3

                                     00BB       		.SAVE

                                 00000000       		.PSECT	$RMS1ANSID,GBL,NOWRT

                                     0000       $RMS1ANSID3:

         42 A9            04     B0  0000   361 	MOVW	#4,IRB$W_CSIZ(R9)		; NOTE OVERHEAD

            52            04     D0  0004   362 	MOVL	#4,R2				; PICK UP 4 BYTES

                          56     D4  0007   363 	CLRL	R6				; BUILD RESULTANT REC. LEN. HERE

                          50     D4  0009   364 	CLRL	R0				; CLEAR HIGH ORDER BITS OF R0

            81            30     83  000B   365 10$:	SUBB3	#^A/0/,(R1)+,R0			; PICK UP DIGIT & REMOVE BIAS

                          50         000E       

                          1C     19  000F   366 	BLSS	ERRANI				; BRANCH IF BAD

            09            50     91  0011   367 	CMPB	R0,#9				; IS IT A DIGIT?

                          0F     1A  0014   368 	BGTRU	20$				; BRANCH IF NOT

            56            0A     A4  0016   369 	MULW2	#10,R6				; SHIFT PREVIOUS PARTIAL RESULT

            56            50     A0  0019   370 	ADDW2	R0,R6				; ADD IN NEW DIGIT

            EC            52     F5  001C   371 	SOBGTR	R2,10$				; CONTINUE IF MORE DIGITS

            56            04     C2  001F   372 	SUBL2	#4,R6				; ADJUST FOR SIZE FIELD ITSELF

                          0089'  31  0022   373 	BRW	GET_CHKSIZ			; CONTINUE

                                     0025   374 ;

                                     0025   375 ;  CHARACTER WAS > 9.  CHECK FOR '^' IMPLYING END OF BLOCK.

                                     0025   376 ;

            2E            50     91  0025   377 20$:	CMPB	R0,#<^A/^/ - ^A/0/>		; WAS INVALID CHARACTER '^'?

                          03     12  0028   378 	BNEQ	ERRANI				; BRANCH IF NOT

                          002D'  31  002A   379 	BRW	GET00				; YES - GO READ NEXT BLOCK

                                     002D   380 ;

                                     002D   381 ;  INVALID ANSI D FORMAT.

                                     002D   382 ;

                                     002D   383 ERRANI:	RMSERR	ANI

            50       840C 8F     3C  002D       		MOVZWL	#<RMS$_ANI&^XFFFF>,R0

                          0008'  31  0032   384 	BRW	ZERO_RFA			; GET OUT ON ERROR

                                     0035   385 	$PSECT_RESTORE

                                 000000BB       		.RESTORE

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page  11

027             RM$GET_BLK_DEV  -  BLOCK DEVICE GET ROUTINE                                                                      (2)



                                     00BB   387 ;++

                                     00BB   388 ;

                                     00BB   389 ;  IF VFC, PROCESS FIXED HEADER

                                     00BB   390 ;

                                     00BB   391 ;--

                                     00BB   392 	.ALIGN	QUAD

                                     00C0   393 GET_CHKVFC:

            03         3C AA     91  00C0   394 	CMPB	IFB$B_RFMORG(R10),#FAB$C_VFC	;VFC FORMAT?

                          35     12  00C4   395 	BNEQ	GET_RETREC			;BRANCH IF NOT

            52         4B AA     9A  00C6   396 	MOVZBL	IFB$B_FSZ(R10),R2		;PICK UP FIXED HEADER SIZE

         42 A9            52     A0  00CA   397 	ADDW2	R2,IRB$W_CSIZ(R9)		;ADJUST TOTAL RECORD SIZE

            56            52     C2  00CE   398 	SUBL2	R2,R6				;ADJUST REMAINING REC SIZE

            53         2C A8     D0  00D1   399 	MOVL	RAB$L_RHB(R8),R3		;GET USER'S HEADER BUFFER

                          1A     12  00D5   400 	BNEQ	20$				;AND BRANCH IF THERE IS ONE

                                     00D7   401 ;

                                     00D7   402 ;  SKIP OVER UNWANTED RHB

                                     00D7   403 ;

            57            51     C3  00D7   404 2$:	SUBL3	R1,R7,R0			;GET # BYTES LEFT IN BUFFER

                          50         00DA       

            52            50     D1  00DB   405 	CMPL	R0,R2				;LESS THAN FSZ?

                          0C     1E  00DE   406 	BGEQU	10$				;BRANCH IF NOT

            52            50     C3  00E0   407 	SUBL3	R0,R2,-(SP)			;GET REMAINING COUNT

                          7E         00E3       

                          0139   30  00E4   408 	BSBW	NXTBLK				;GET NEW BUFFER

                          04     BA  00E7   409 	POPR	#^M<R2>				;RESTORE REMAINING COUNT

            86            50     E9  00E9   410 	BLBC	R0,ZERO_RFA_BR			;GET OUT ON ERROR

                                     00EC   411 						;(FSZ DEFINITELY IN THIS BLOCK)

            51            52     C0  00EC   412 10$:	ADDL2	R2,R1				;BUMP SOURCE POINTER

                          0A     11  00EF   413 	BRB	GET_RETREC			;REJOIN VAR LINE

                                     00F1   414 ;

                                     00F1   415 ;  MOVE VFC HEADER TO USER

                                     00F1   416 ;

            69            29     E0  00F1   417 20$:	BBS	#IRB$V_FIND,(R9),2$		;BRANCH IF THIS IS A FIND

                          E2         00F4       

                          00C8   30  00F5   418 	BSBW	GTMVRC				;MOVE JUST LIKE RECORD

            2E            50     E9  00F8   419 	BLBC	R0,ERRRHB			;GET OUT ON ERROR

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page  12

027             RM$GET_BLK_DEV  -  BLOCK DEVICE GET ROUTINE                                                                      (2)



                                     00FB   421 ;++

                                     00FB   422 ;

                                     00FB   423 ;  NOW RETURN RECORD TO USER

                                     00FB   424 ;

                                     00FB   425 ;--

                                     00FB   426 GET_RETREC:

                          43     10  00FB   427 	BSBB	RETREC				;RETURN RECORD TO USER

            26            50     E9  00FD   428 	BLBC	R0,CHKRTB			;GET OUT ON ERROR

                                     0100   429 ;

                                     0100   430 ;  AT THIS POINT GET HAS BEEN DONE FOR USER.

                                     0100   431 ;  NOW JUST ROUND UP NRP_OFF TO A WORD BOUNDARY UNLESS ANSI D FORMAT.

                                     0100   432 ;

            6A            26     E0  0100   433 CHKANI:	BBS	#IFB$V_ANSI_D,(R10),10$		;BRANCH IF ANSI D

                          05         0103       

                          51     D6  0104   434 	INCL	R1				;WORD ALIGN NEXT BYTE POINTER

            51            01     8A  0106   435 	BICB2	#1,R1				;  "

                                     0109   436 10$:

            54         20 A9     D0  0109   437 	MOVL	IRB$L_CURBDB(R9),R4		;GET CURRENT BDB ADDRESS

            51         24 A4     C3  010D   438 	SUBL3	BDB$L_CURBUFADR(R4),R1,IRB$L_NRP_OFF(R9) ;MAKE BYTE POINTER RELATIVE

                       30 A9         0111       

            57            51     B1  0113   439 	CMPW	R1,R7				;CHECK FOR AT END OF BLOCK

                          06     13  0116   440 	BEQL	20$				;BRANCH IF YES

         10 A8         34 A9     7D  0118   441 15$:	MOVQ	IRB$L_RP_VBN(R9),RAB$W_RFA(R8)	;SET RFA

                                 05  011D   442 	RSB					;AND RETURN

                                     011E   443 ;

                                     011E   444 ;  AT END OF BLOCK  -  BUMP VBN AND CLEAR OFFSET IN BLOCK

                                     011E   445 ;

                       2C A9     D6  011E   446 20$:	INCL	IRB$L_NRP_VBN(R9)

                       30 A9     B4  0121   447 	CLRW	IRB$W_NRP_OFF(R9)

                          F2     11  0124   448 	BRB	15$

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page  13

027             RM$GET_BLK_DEV  -  BLOCK DEVICE GET ROUTINE                                                                      (2)



                                     0126   450 ;++

                                     0126   451 ;

                                     0126   452 ;  HANDLE ERRORS

                                     0126   453 ;

                                     0126   454 ;--

                                     0126   455 ;

                                     0126   456 ;  RECEIVED ERROR FROM RETREC.

                                     0126   457 ;  CHECK FOR SPECIAL ERROR CODE OF 10000(HEX) ON SYS$INPUT, INDICATING RE-READ

                                     0126   458 ;  OF BUFFER, ELSE IF ERROR IS RTB, CONTINUE ANYWAY, ELSE GET OUT.

                                     0126   459 ;

                                     0126   460 ;--

                                     0126   461 CHKRTB:	$PSECT_BR	L$RMS1GET

                          FEFA'  31  0126       		BRW	L$RMS1GET4

                                     0129       		.SAVE

                                 00000023       		.PSECT	L$RMS1GET,GBL,NOWRT

                                     0023       L$RMS1GET4:

            6A            2E     E1  0023   462 	BBC	#IFB$V_PPF_INPUT,(R10),10$	;BRANCH IF NOT SYS$INPUT

                          0C         0026       

   00010000 8F            50     D1  0027   463 	CMPL	R0,#^X10000			;IS THIS SYS$INPUT RE-READ?

                          03     12  002E   464 	BNEQ	10$				;BRANCH IF NOT

                          003C'  31  0030   465 	BRW	GETNRP				;YES - GO RE-READ BUFFER

       81A8 8F            50     B1  0033   466 10$:	CMPW	R0,#RMS$_RTB&^XFFFF		;IS THIS THE RTB ERROR?

                          03     12  0038   467 	BNEQ	ZERO_RFA			;BRANCH IF NOT

                          00C3'  31  003A   468 	BRW	CHKANI				;BRANCH IF YES

                                     003D   469 ;++

                                     003D   470 ;

                                     003D   471 ;  ERROR EXIT FOR BLOCK DEVICE

                                     003D   472 ;

                                     003D   473 ;--

                                     003D   474 ZERO_RFA:

                       10 A8     7C  003D   475 	CLRQ	RAB$W_RFA(R8)			; ZERO RFA

                                 05  0040   476 	RSB

                                     0041   477 	$PSECT_RESTORE

                                 00000129       		.RESTORE

                                     0129   478 ;++

                                     0129   479 ;

                                     0129   480 ;  HANDLE INVALID RECORD HEADER BUFFER

                                     0129   481 ;

                                     0129   482 ;--

                                     0129   483 ERRRHB:	$PSECT_BR	L$RMS1

                          FEE1'  31  0129       		BRW	L$RMS15

                                     012C       		.SAVE

                                 0000000D       		.PSECT	L$RMS1,GBL,NOWRT

                                     000D       L$RMS15:

       86EC 8F            50     B1  000D   484 	CMPW	R0,#RMS$_UBF&^XFFFF		;WAS ERROR BAD UBF?

                          05     12  0012   485 	BNEQ	10$				;BRANCH IF NOT

                                     0014   486 	RMSERR	RHB				;SWITCH ERROR CODE TO BAD RHB

            50       866C 8F     3C  0014       		MOVZWL	#<RMS$_RHB&^XFFFF>,R0

                          0021'  31  0019   487 10$:	BRW	ZERO_RFA

                                     001C   488 	$PSECT_RESTORE

                                 0000012C       		.RESTORE

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page  14

027             INTERNAL UTILITY ROUTINES                                                                                        (3)



                                     012C   490 	.SBTTL	INTERNAL UTILITY ROUTINES

                                     012C   491 ;++

                                     012C   492 ; FUNCTIONAL DESCRIPTION

                                     012C   493 ;

                                     012C   494 ; RETREC ROUTINE TO RETURN RECORD DATA TO USER.

                                     012C   495 ; HANDLES CROSSING BLOCK BOUNDARIES AND LOCATE MODE.

                                     012C   496 ;

                                     012C   497 ; INPUT PARAMETERS:

                                     012C   498 ;

                                     012C   499 ;	R11	IMPURE AREA ADDR

                                     012C   500 ;	R10	IFAB ADDR

                                     012C   501 ;	R9	IRAB ADDR

                                     012C   502 ;	R8	RAB ADDR

                                     012C   503 ;	R7	ADDR OF END OF BUFFER+1

                                     012C   504 ;	R6	SIZE OF RECORD IN BYTES

                                     012C   505 ;	R1	ADDR OF RECORD IN THE BUFFER

                                     012C   506 ;

                                     012C   507 ; IMPLICIT INPUTS:

                                     012C   508 ;

                                     012C   509 ; THE CONTENTS OF THE VARIOUS STRUCTURES.

                                     012C   510 ;

                                     012C   511 ; OUTPUTS:

                                     012C   512 ;

                                     012C   513 ;	R7	END ADDR OF CURRENT I/O BUFFER+1 (UPDATED)

                                     012C   514 ;	R2-R6	DESTROYED

                                     012C   515 ;	R1	POINTER TO NEXT BYTE IN BLOCK

                                     012C   516 ;	R0	STATUS CODE

                                     012C   517 ;

                                     012C   518 ; IMPLICIT OUTPUTS:

                                     012C   519 ;

                                     012C   520 ;	IRB$L_CURBDB	MAY BE UPDATED

                                     012C   521 ;	IRB$W_CURSIZ=IRB$W_CURSIZ+RECORD SIZE

                                     012C   522 ;	RAB$L_RBF

                                     012C   523 ;	RAB$W_RSZ

                                     012C   524 ;	RAB$L_STV	=TOTAL RECORD SIZE IF RTB ERROR

                                     012C   525 ;	RAB$L_UBF	RECORD MOVED HERE IF MOVE MODE

                                     012C   526 ;

                                     012C   527 ; COMPLETION CODE:

                                     012C   528 ;

                                     012C   529 ;	STANDARD RMS.	UPON AN ERROR IRB$L_IOS AND IRB$L_IOS4

                                     012C   530 ;	MAY HAVE ADDITIONAL INFORMATION.

                                     012C   531 ;

                                     012C   532 ; SIDE EFFECTS:

                                     012C   533 ;

                                     012C   534 ;	MAY CAUSE I/O IF RECORD CROSSES BLOCK BOUNDARY.

                                     012C   535 ;

                                     012C   536 ;--

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page  15

027             INTERNAL UTILITY ROUTINES                                                                                        (3)



                                     012C   538 ;++

                                     012C   539 ;

                                     012C   540 ;  THIS IS GET FROM SYS$INPUT  -  MAKE ADDITIONAL LOGICAL EOF CHECKS

                                     012C   541 ;  (NOTE: THIS IS NOT THE ENTRY POINT TO THE RETREC SUBROUTINE)

                                     012C   542 ;

                                     012C   543 ;--

            69            22     E1  012C   544 CHKEOD:	BBC	#IFB$V_PPF_IMAGE,(R9),RETREC1		;BRANCH IF NOT INDIRECT

                          14         012F       

            6A            02     E0  0130   545 	BBS	#DEV$V_TRM,IFB$L_PRIM_DEV(R10),RETREC1	;BRANCH IF TERMINAL

                          10         0133       

                          FEC9'  30  0134   546 	BSBW	RM$INPUT_SCAN				;COMPARE STRING FOR

                                     0137   547 							;MATCH WITH EOD STRING

                                     0137   548 							;OR '$DECK' OR '$EOD'

            0A            50     E8  0137   549 	BLBS	R0,RETREC1				;CONTINUE ON SUCCESS

                                 05  013A   550 	RSB

                                     013B   551 ;++

                                     013B   552 ;

                                     013B   553 ;  ENTRY POINT FOR RETREC SUBROUTINE

                                     013B   554 ;

                                     013B   555 ;--

                                     013B   556 	.ALIGN	QUAD					; ALIGN FOR PERFORMANCE

                                     0140   557 RETREC:

            6A            2E     E0  0140   558 	BBS	#IFB$V_PPF_INPUT,(R10),CHKEOD		; BRANCH IF 'SYS$INPUT'

                          E8         0143       

                                     0144   559 RETREC1:

         42 A9            56     A0  0144   560 	ADDW2	R6,IRB$W_CSIZ(R9)			; ADD INTO TOTAL RECORD SIZE

            68            30     E1  0148   561 	BBC	#RAB$V_LOC+ROP,(R8),MOVEMODE		; BRANCH IF MOVE MODE

                          1D         014B       

                                     014C   562 ;

                                     014C   563 ; USER WANTS LOCATE MODE

                                     014C   564 ;	-ALLOW ONLY IF RECORD DOES NOT CROSS BLOCK BOUNDARY

                                     014C   565 ;	AND FILE IS NOT UPDATE ACCESSED

                                     014C   566 ;

         22 AA            03     E0  014C   567 	BBS	#IFB$V_UPD,IFB$B_FAC(R10),MOVEMODE	; IF UPDATE ACCESS, MOVE MODE

                          18         0150       

            57            51     C3  0151   568 	SUBL3	R1,R7,R0				; GET END ADDRESS OF BUFFER

                          50         0154       

            50            56     D1  0155   569 	CMPL	R6,R0					; PAST END OF BLOCK?

                          0F     1A  0158   570 	BGTRU	MOVEMODE				; IF SO, MUST MOVE RECORD

                                     015A   571 ;

                                     015A   572 ; O.K. FOR LOCATE MODE

                                     015A   573 ;

         22 A8            56     B0  015A   574 	MOVW	R6,RAB$W_RSZ(R8)			; SET RECORD SIZE

         28 A8            51     D0  015E   575 	MOVL	R1,RAB$L_RBF(R8)			; AND RECORD ADDRESS

                                     0162   576 SUCXIT:	RMSSUC

            50            01     D0  0162       		MOVL	#1,R0

            51            56     C0  0165   577 UPDSRC:	ADDL2	R6,R1					; ADJUST R1 TO POINT PAST

                                     0168   578 							; RECORD IN BUFFER

                                 05  0168   579 	RSB

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page  16

027             INTERNAL UTILITY ROUTINES                                                                                        (3)



                                     0169   581 ;++

                                     0169   582 ;

                                     0169   583 ; MOVE MODE  -  MOVE RECORD TO USER'S BUFFER

                                     0169   584 ;

                                     0169   585 ;--

                                     0169   586 MOVEMODE:

            69            29     E0  0169   587 	BBS	#IRB$V_FIND,(R9),SKPREC		; BRANCH IF FIND, SKIPPING RECORD

                          3A         016C       

            53         24 A8     D0  016D   588 	MOVL	RAB$L_UBF(R8),R3		; GET USER BUFFER ADDR

            54         20 A8     3C  0171   589 	MOVZWL	RAB$W_USZ(R8),R4		; AND LENGTH

                          28     13  0175   590 	BEQL	ERRUSZ				; BRANCH IF ZERO

            52            56     D0  0177   591 CHKUSZ:	MOVL	R6,R2				; COPY RECORD SIZE

            52            54     D1  017A   592 	CMPL	R4,R2				; USER BUFFER LONG ENOUGH?

                          15     1F  017D   593 	BLSSU	ERRRTB				; BRANCH IF NOT

                                     017F   594 ;

                                     017F   595 ; STORE THE RECORD'S ADDRESS AND SIZE AND MOVE THE DATA

                                     017F   596 ;

         22 A8            52     B0  017F   597 SETRSZ:	MOVW	R2,RAB$W_RSZ(R8)		; SET RSZ

         28 A8            53     D0  0183   598 	MOVL	R3,RAB$L_RBF(R8)		; SET RBF FROM UBF ADDR

            56            52     C2  0187   599 	SUBL2	R2,R6				; COMPUTE REMAINING BYTE COUNT

                          34     10  018A   600 	BSBB	GTMVRC				; MOVE THE RECORD

            04            50     E9  018C   601 	BLBC	R0,100$				; GET OUT ON ERROR

                          56     D5  018F   602 	TSTL	R6				; PART OF RECORD YET TO BE MOVED?

                          14     12  0191   603 	BNEQ	SKPREC				; BRANCH IF YES

                                 05  0193   604 100$:	RSB					; RETURN TO RETREC CALLER

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page  17

027             INTERNAL UTILITY ROUTINES                                                                                        (5)



                                     0194   606 

                                     0194   607 ;++

                                     0194   608 ;

                                     0194   609 ; USER BUFFER NOT LONG ENOUGH

                                     0194   610 ; READJUST COUNT TO FILL IT AND ADVISE OF DIFFERENCE

                                     0194   611 ;

                                     0194   612 ;--

                                     0194   613 ERRRTB:	$PSECT_BR	L$RMS1

                          FE85'  31  0194       		BRW	L$RMS16

                                     0197       		.SAVE

                                 0000001C       		.PSECT	L$RMS1,GBL,NOWRT

                                     001C       L$RMS16:

         0C A8            52     B0  001C   614 	MOVW	R2,RAB$L_STV(R8)	; INDICATE TOTAL RECORD SIZE

            52            54     D0  0020   615 	MOVL	R4,R2			; JUST USE USER BUFFER SIZE

                          0159'  31  0023   616 	BRW	SETRSZ			; REGAIN MAIN LINE (ERROR STATUS

                                     0026   617 					; CODE GENERATED LATER)

                                     0026   618 	$PSECT_RESTORE

                                 00000197       		.RESTORE

                                     0197   619 

                                     0197   620 ;++

                                     0197   621 ; CROSSBLK ROUTINE TO CHECK FOR RECORD CROSSING BLOCK BOUNDARY

                                     0197   622 ;

                                     0197   623 ; INPUTS:

                                     0197   624 ;

                                     0197   625 ;	R7	END ADDR OF BLOCK BUFFER (+1)

                                     0197   626 ;	R6	SIZE OF RECORD

                                     0197   627 ;	R1	ADDR OF RECORD IN BUFFER

                                     0197   628 ;

                                     0197   629 ; OUTPUTS:

                                     0197   630 ;

                                     0197   631 ;	R0	#BYTES LEFT IN BUFFER

                                     0197   632 ;

                                     0197   633 ; CONDITION CODES:

                                     0197   634 ;

                                     0197   635 ;	SET SUCH THAT A BGTRU BRANCH WILL BE TAKEN

                                     0197   636 ;	IF THE RECORD CROSSES THE BLOCK BOUNDARY.

                                     0197   637 ;

                                     0197   638 ;--

                                     0197   639 CROSSBLK:

            57            51     C3  0197   640 	SUBL3	R1,R7,R0		; #BYTES LEFT=END-START

                          50         019A       

            50            56     D1  019B   641 	CMPL	R6,R0			; REC LEN > # LEFT?

                                     019E   642 					; SETS CONDITION CODES

                                 05  019E   643 	RSB

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page  18

027             INTERNAL UTILITY ROUTINES                                                                                        (5)



                                     019F   645 ;++

                                     019F   646 ;

                                     019F   647 ; USER BUFFER ERRORS

                                     019F   648 ;

                                     019F   649 ;--

                                     019F   650 ERRUSZ:	$PSECT_BR	L$RMS1

                          FE84'  31  019F       		BRW	L$RMS17

                                     01A2       		.SAVE

                                 00000026       		.PSECT	L$RMS1,GBL,NOWRT

                                     0026       L$RMS17:

                                     0026   651 	RMSERR	USZ			; USER BUFFER SIZE = 0

            50       86F4 8F     3C  0026       		MOVZWL	#<RMS$_USZ&^XFFFF>,R0

                                 05  002B   652 	RSB

                                     002C   653 	$PSECT_RESTORE

                                 000001A2       		.RESTORE

                                     01A2   654 ;

                                     01A2   655 ;  USER BUFFER NOT WRITEABLE FROM CALLER'S MODE.

                                     01A2   656 ;

                          18     BA  01A2   657 ERRUBF:	POPR	#^M<R3,R4>		; CLEAN UP STACK

                                     01A4   658 ERRUBF1:

                                     01A4   659 	$PSECT_BR	L$RMS1

                          FE85'  31  01A4       		BRW	L$RMS18

                                     01A7       		.SAVE

                                 0000002C       		.PSECT	L$RMS1,GBL,NOWRT

                                     002C       L$RMS18:

                                     002C   660 	RMSERR	UBF			; NO ACCESS TO USER BUFFER

            50       86EC 8F     3C  002C       		MOVZWL	#<RMS$_UBF&^XFFFF>,R0

                                 05  0031   661 	RSB

                                     0032   662 	$PSECT_RESTORE

                                 000001A7       		.RESTORE

                                     01A7   663 ;++

                                     01A7   664 ;

                                     01A7   665 ; MUST SKIP OVER THAT PART OF RECORD NOT MOVED

                                     01A7   666 ; DUE TO SHORT USER RECORD BUFFER OR DOING FIND

                                     01A7   667 ;

                                     01A7   668 ;--

                          EE     10  01A7   669 SKPREC:	BSBB	CROSSBLK		; DOES RECORD CROSS BLOCK BOUND?

                          0A     1B  01A9   670 	BLEQU	60$			; BRANCH IF NOT

            56            50     C2  01AB   671 	SUBL2	R0,R6			; COMPUTE REMAINING RECORDSIZE

                                     01AE   672 					; =OLD SIZE - PART IN BUFFER

                          006F   30  01AE   673 	BSBW	NXTBLK			; GET ANOTHER BUFFER FULL

            F3            50     E8  01B1   674 	BLBS	R0,SKPREC		; AND LOOP IF NO ERROR

                                 05  01B4   675 	RSB				; GET OUT ON ERROR

                                     01B5   676 ;

                                     01B5   677 ; RETURN RECORD TOO BIG ERROR

                                     01B5   678 ;

            69            29     E1  01B5   679 60$:	BBC	#IRB$V_FIND,(R9),70$	; BRANCH IF NOT DOING FIND

                          03         01B8       

                          FFA6   31  01B9   680 	BRW	SUCXIT			; BRANCH IF FIND

                                     01BC   681 70$:	$PSECT_BR	L$RMS1

                          FE73'  31  01BC       		BRW	L$RMS19

                                     01BF       		.SAVE

                                 00000032       		.PSECT	L$RMS1,GBL,NOWRT

                                     0032       L$RMS19:

                                     0032   682 	RMSERR	RTB	

            50       81A8 8F     3C  0032       		MOVZWL	#<RMS$_RTB&^XFFFF>,R0

                          012B'  31  0037   683 	BRW	UPDSRC			; REJOIN MAIN LINE

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page  19

027             INTERNAL UTILITY ROUTINES                                                                                        (5)



                                     003A   684 	$PSECT_RESTORE

                                 000001BF       		.RESTORE

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page  20

027             GTMVRC - SUBROUTINE TO MOVE A RECORD                                                                             (6)



                                     01BF   686 	.SBTTL GTMVRC - SUBROUTINE TO MOVE A RECORD

                                     01BF   687 ;++

                                     01BF   688 ; FUNCTIONAL DESCRIPTION:

                                     01BF   689 ;

                                     01BF   690 ;	THIS SUBROUTINE MOVES A RECORD FROM RMS I/O BUFFER

                                     01BF   691 ;	TO USER'S RECORD BUFFER, CROSSING BLOCK BOUNDARIES

                                     01BF   692 ;	AS NEEDED.

                                     01BF   693 ;

                                     01BF   694 ; CALLING SEQUENCE:

                                     01BF   695 ;

                                     01BF   696 ;	BSBW	GTMVRC

                                     01BF   697 ;

                                     01BF   698 ; INPUT PARAMETERS:

                                     01BF   699 ;

                                     01BF   700 ;	R7	END ADDR OF BLOCK BUFFER

                                     01BF   701 ;	R3	DESTINATION ADDR

                                     01BF   702 ;	R2	SIZE OF RECORD IN BYTES

                                     01BF   703 ;	R1	SOURCE ADDR (IN BLOCK BUFFER)

                                     01BF   704 ;

                                     01BF   705 ; IMPLICIT INPUTS:

                                     01BF   706 ;

                                     01BF   707 ;	NONE

                                     01BF   708 ;

                                     01BF   709 ; OUTPUTS:

                                     01BF   710 ;

                                     01BF   711 ;	R1		ADDRESS OF NEXT RECORD IN BLOCK BUFFER

                                     01BF   712 ;	R0		STATUS CODE

                                     01BF   713 ;	R2-R5,AP	DESTROYED

                                     01BF   714 ;

                                     01BF   715 ; IMPLICIT OUTPUTS:

                                     01BF   716 ;

                                     01BF   717 ; THE NEXT BLOCK WILL BE IN THE I/O BUFFER IF

                                     01BF   718 ; THE RECORD CROSSED THE BLOCK BOUNDARY

                                     01BF   719 ;

                                     01BF   720 ; SIDE EFFECTS:

                                     01BF   721 ;

                                     01BF   722 ;	MAY HAVE SWITCHED TO RUNNING AT AST LEVEL.

                                     01BF   723 ;--

                                     01BF   724 	.ALIGN	QUAD				; ALIGN FOR PERFORMANCE

                                     01C0   725 GTMVRC:

            57            51     C3  01C0   726 	SUBL3	R1,R7,R0			; GET # BYTES LEFT IN BLOCK

                          50         01C3       

                          49     13  01C4   727 	BEQL	40$				; READ ANOTHER BLOCK IF NONE LEFT

            52            50     D1  01C6   728 	CMPL	R0,R2				; LESS THAN MOVE COUNT?

                          05     1F  01C9   729 	BLSSU	10$				; BRANCH IF YES (USE # LEFT)

            50            52     D0  01CB   730 	MOVL	R2,R0				; NO - USE THE MOVE COUNT

                          1B     13  01CE   731 	BEQL	25$				; BRANCH IF ZERO LENGTH RECORD

       0200 8F            50     B1  01D0   732 10$:	CMPW	R0,#512				; BUFFER REQUIRE LONG PROBE?

                          18     1A  01D5   733 	BGTRU	30$				; BRANCH IF YES

                                     01D7   734 20$:	IFNOWRT	R0,(R3),ERRUBF1,IRB$B_MODE(R9)	; PROBE THIS PART OF BUFFER,

            50         0A A9     0D  01D7       		PROBEW	IRB$B_MODE(R9),R0,(R3)

                          63         01DB       

                          C6     13  01DC       		BEQL	ERRUBF1

                                     01DE   735 						; BRANCHING IF BAD

            52            50     C3  01DE   736 	SUBL3	R0,R2,AP			; ADJUST REMAINING COUNT

                          5C         01E1       

            61            50     28  01E2   737 	MOVC3	R0,(R1),(R3)			; MOVE THE RECORD

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page  21

027             GTMVRC - SUBROUTINE TO MOVE A RECORD                                                                             (6)



                          63         01E5       

            52            5C     D0  01E6   738 	MOVL	AP,R2				; ANY REMAINING BYTES?

                          24     12  01E9   739 	BNEQ	40$				; BRANCH IF YES

                                     01EB   740 25$:	RMSSUC

            50            01     D0  01EB       		MOVL	#1,R0

                                 05  01EE   741 	RSB

                                     01EF   742 ;

                                     01EF   743 ;  LONG PROBE FOR DEVICES WITH A DEFAULT BUFFER SIZE GREATER THAN 512

                                     01EF   744 ;

                          09     BB  01EF   745 30$:	PUSHR	#^M<R0,R3>			; SAVE BYTE COUNT AND ADDRESS

            54       FE00 8F     32  01F1   746 	CVTWL	#-512,R4			; ADDRESS COMPUTATION CONSTANT

                                     01F6   747 35$:	IFNOWRT	R0,(R3),ERRUBF,IRB$B_MODE(R9)	; BRANCH IF NOT WRITEABLE

            50         0A A9     0D  01F6       		PROBEW	IRB$B_MODE(R9),R0,(R3)

                          63         01FA       

                          A5     13  01FB       		BEQL	ERRUBF

            53            54     C2  01FD   748 	SUBL2	R4,R3				; GET ADDRESS NEXT PAGE

            50            6044   3E  0200   749 	MOVAW	(R0)[R4],R0			; ADJUST COUNT (- 2 PAGES)

                          F0     14  0204   750 	BGTR	35$				; BRANCH IF MORE TO PROBE

            50            54     C2  0206   751 	SUBL2	R4,R0				; 'ADD' BACK IN 1 PAGE

                          EB     14  0209   752 	BGTR	35$				; BRANCH IF MORE TO PROBE

                          09     BA  020B   753 	POPR	#^M<R0,R3>			; RESTORE BYTE COUNT AND ADDRESS

                          C8     11  020D   754 	BRB	20$				; REJOIN MAIN LINE

                                     020F   755 ;++

                                     020F   756 ;

                                     020F   757 ;  MOVE NEXT PART OF RECORD

                                     020F   758 ;

                                     020F   759 ;--

                          0C     BB  020F   760 40$:	PUSHR	#^M<R2,R3>			; SAVE REMAINING BYTE COUNT

                                     0211   761 						; AND DESTINATION ADDRESS

                          0D     10  0211   762 	BSBB	NXTBLK				; READ NEXT BLOCK

                          0C     BA  0213   763 	POPR	#^M<R2,R3>			; RESTORE REMAINING COUNT AND ADDR

                                     0215   764 

            A8            50     E8  0215   765 	BLBS	R0,GTMVRC			; AND GO AGAIN

                                 05  0218   766 	RSB

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page  22

027             GTMVRC - SUBROUTINE TO MOVE A RECORD                                                                             (6)



                                     0219   768 ;++

                                     0219   769 ; NXTBLK SUBROUTINE - CHANGE BUFFER/BLOCKS

                                     0219   770 ;

                                     0219   771 ;

                                     0219   772 ; INPUTS:

                                     0219   773 ;	R11	IMPURE AREA ADDR

                                     0219   774 ;	R10	IFAB ADDR

                                     0219   775 ;	R9	IRAB ADDR

                                     0219   776 ;	R8	RAB ADDR

                                     0219   777 ;

                                     0219   778 ; IMPLICIT INPUTS:

                                     0219   779 ;

                                     0219   780 ;	IRB$L_CURBDB

                                     0219   781 ;	IRB$L_NRP_VBN

                                     0219   782 ;	IRB$V_FIND

                                     0219   783 ;

                                     0219   784 ; OUTPUTS:

                                     0219   785 ;

                                     0219   786 ; IF LAST OPERATION WAS A FIND,THEN:

                                     0219   787 ;	R0	SUCCESS CODE

                                     0219   788 ;	IRB$L_NRP_VBN = IRB$L_NRP_VBN+1

                                     0219   789 ;	IRB$W_NRP_OFF = 0

                                     0219   790 ;

                                     0219   791 ; IF LAST OPERATION WAS NOT A FIND, THEN:

                                     0219   792 ;

                                     0219   793 ;	R7	END OF BUFFER ADDR+1

                                     0219   794 ;	R4	BDB ADDR OF NEW BLOCK

                                     0219   795 ;	R1	BLOCK BUFFER ADDR OF NEW BLOCK

                                     0219   796 ;	R0	STATUS CODE

                                     0219   797 ;	R2-R3	DESTROYED

                                     0219   798 ;

                                     0219   799 ;--

                                     0219   800 	.ALIGN	QUAD				; ALIGN FOR PERFORMANCE

            6A            2E     E0  0220   801 NXTBLK:	BBS	#IFB$V_PPF_INPUT,(R10),NXTBLK1	; BRANCH IF THIS IS SYS$INPUT

                          04         0223       

            69            29     E0  0224   802 	BBS	#IRB$V_FIND,(R9),NXTFND		; BRANCH IF FIND 

                          05         0227       

                                     0228   803 RM$NEXT_BLK::

                                     0228   804 NXTBLK1:

                          53     D4  0228   805 	CLRL	R3				; FLAG READ REQUIRED

                          FDD3'  31  022A   806 	BRW	RM$NXTBLK1			; GO TO NEXT BLOCK ROUTINE

                                     022D   807 ;

                                     022D   808 ; THIS IS A FIND CALL FOR DISK SO JUST BUMP NRP DATA AND RESET BUFFER POINTER

                                     022D   809 ;

                       2C A9     D6  022D   810 NXTFND:	INCL	IRB$L_NRP_VBN (R9)

                       30 A9     B4  0230   811 	CLRW	IRB$W_NRP_OFF(R9)

            51       FE00 C7     DE  0233   812 	MOVAL	-512(R7),R1			; RESET START OF BUFFER ADDR

                                     0238   813 SUCRET:	RMSSUC

            50            01     D0  0238       		MOVL	#1,R0

                                 05  023B   814 	RSB

                                     023C   815 

                                     023C   816 

                                     023C   817 	.END

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page  23

SYMBOL TABLE                                                                                                                     (6)



$$.PSECT_EP    = 0000000A            DEV$M_DIR      = 00000008            FAB$B_DNS        00000035            

$$RMSTEST      = 0000001A            DEV$M_DMT      = 00200000            FAB$B_FAC        00000016            

$$RMS_PBUGCHK  = 00000010            DEV$M_ELG      = 00400000            FAB$B_FNS        00000034            

$$RMS_TBUGCHK  = 00000008            DEV$M_FOD      = 00004000            FAB$B_FSZ        0000003F            

$$RMS_UMODE    = 00000004            DEV$M_FOR      = 01000000            FAB$B_ORG        0000001D            

$RMS1ANSID3      00000000 R     07   DEV$M_GEN      = 00020000            FAB$B_RAT        0000001E            

BDB$B_BID        00000008            DEV$M_IDV      = 04000000            FAB$B_RFM        0000001F            

BDB$B_BLN        00000009            DEV$M_MBX      = 00100000            FAB$B_RTV        0000001C            

BDB$B_FLGS       0000000A            DEV$M_MNT      = 00080000            FAB$B_SHR        00000017            

BDB$B_POST_CCTL  00000023            DEV$M_NET      = 00002000            FAB$C_BID      = 00000003            

BDB$B_PRE_CCTL   00000022            DEV$M_ODV      = 08000000            FAB$C_BLN        00000050            

BDB$B_REL_VBN    00000020            DEV$M_RCK      = 40000000            FAB$C_FIX      = 00000001            

BDB$B_USECNT     0000000B            DEV$M_REC      = 00000001            FAB$C_HSH      = 00000030            

BDB$B_VAL_VBNS   00000021            DEV$M_RND      = 10000000            FAB$C_IDX      = 00000020            

BDB$C_BID      = 0000000C            DEV$M_RTM      = 20000000            FAB$C_MAXRFM   = 00000003            

BDB$C_BLN        00000028            DEV$M_SDI      = 00000010            FAB$C_REL      = 00000010            

BDB$K_BLN        00000028            DEV$M_SHR      = 00010000            FAB$C_RFM_DFLT = 00000002            

BDB$L_ADDR       00000014            DEV$M_SPL      = 00000040            FAB$C_SEQ      = 00000000            

BDB$L_BLINK      00000004            DEV$M_SQD      = 00000020            FAB$C_UDF      = 00000000            

BDB$L_CURBUFADR  00000024            DEV$M_SWL      = 02000000            FAB$C_VAR      = 00000002            

BDB$L_FLINK      00000000            DEV$M_TRM      = 00000004            FAB$C_VFC      = 00000003            

BDB$L_IOSB       00000020            DEV$M_WCK      = 80000000            FAB$K_BLN        00000050            

BDB$L_OWN        0000000C            DEV$V_ALL      = 00000017            FAB$L_ALQ        00000010            

BDB$L_VBN        00000018            DEV$V_AVL      = 00000012            FAB$L_CTX        00000018            

BDB$L_WAIT       0000001C            DEV$V_CCL      = 00000001            FAB$L_DEV        00000040            

BDB$L_WK1        00000020            DEV$V_DIR      = 00000003            FAB$L_DNA        00000030            

BDB$M_AST_DCL  = 00000040            DEV$V_DMT      = 00000015            FAB$L_FNA        0000002C            

BDB$M_DRT      = 00000002            DEV$V_ELG      = 00000016            FAB$L_FOP        00000004            

BDB$M_IOP      = 00000004            DEV$V_FOD      = 0000000E            FAB$L_JNL        00000020            

BDB$M_LKDINWS  = 00000080            DEV$V_FOR      = 00000018            FAB$L_MRN        00000038            

BDB$M_NOLOCATE = 00000010            DEV$V_GEN      = 00000011            FAB$L_NAM        00000028            

BDB$M_PRM      = 00000008            DEV$V_IDV      = 0000001A            FAB$L_SDC        00000044            

BDB$M_VAL      = 00000001            DEV$V_MBX      = 00000014            FAB$L_STS        00000008            

BDB$M_WFO      = 00000020            DEV$V_MNT      = 00000013            FAB$L_STV        0000000C            

BDB$V_AST_DCL  = 00000006            DEV$V_NET      = 0000000D            FAB$L_XAB        00000024            

BDB$V_DRT      = 00000001            DEV$V_ODV      = 0000001B            FAB$M_BIO      = 00000020            

BDB$V_IOP      = 00000002            DEV$V_RCK      = 0000001E            FAB$M_BLK      = 00000008            

BDB$V_LKDINWS  = 00000007            DEV$V_REC      = 00000000            FAB$M_BRO      = 00000040            

BDB$V_NOLOCATE = 00000004            DEV$V_RND      = 0000001C            FAB$M_CBT      = 00200000            

BDB$V_PRM      = 00000003            DEV$V_RTM      = 0000001D            FAB$M_CIF      = 02000000            

BDB$V_VAL      = 00000000            DEV$V_SDI      = 00000004            FAB$M_CR       = 00000002            

BDB$V_WFO      = 00000005            DEV$V_SHR      = 00000010            FAB$M_CTG      = 00100000            

BDB$W_NUMB       00000010            DEV$V_SPL      = 00000006            FAB$M_DEL      = 00000004            

BDB$W_SIZE       00000012            DEV$V_SQD      = 00000005            FAB$M_DFW      = 00000020            

BIT...         = 0001C134            DEV$V_SWL      = 00000019            FAB$M_DLT      = 00008000            

CHKANI           00000100 R     02   DEV$V_TRM      = 00000002            FAB$M_DMO      = 00001000            

CHKBLK           00000091 R     02   DEV$V_WCK      = 0000001F            FAB$M_ESC      = 08000000            

CHKEOD           0000012C R     02   ERRANI           0000002D R     07   FAB$M_EXE      = 00000080            

CHKEOF1          0000004B R     02   ERRIRC           000000A7 R     02   FAB$M_FTN      = 00000001            

CHKRTB           00000126 R     02   ERRRHB           00000129 R     02   FAB$M_GET      = 00000002            

CHKUSZ           00000177 R     02   ERRRTB           00000194 R     02   FAB$M_INP      = 00080000            

CR             = 0000000D            ERRUBF           000001A2 R     02   FAB$M_JNL      = 00400000            

CROSSBLK         00000197 R     02   ERRUBF1          000001A4 R     02   FAB$M_KFO      = 40000000            

CTRLZ          = 0000001A            ERRUSZ           0000019F R     02   FAB$M_MSE      = 00000010            

DEV$M_ALL      = 00800000            FAB$B_BID        00000000            FAB$M_MXV      = 00000002            

DEV$M_AVL      = 00040000            FAB$B_BKS        0000003E            FAB$M_NAM      = 01000000            

DEV$M_CCL      = 00000002            FAB$B_BLN        00000001            FAB$M_NEF      = 00000400            

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page  24

SYMBOL TABLE                                                                                                                     (6)



FAB$M_NFS      = 00010000            FAB$V_POS      = 00000008            IFB$B_ORGCASE    00000023            

FAB$M_NIL      = 00000020            FAB$V_PPF      = 00000012            IFB$B_RAT        0000003D            

FAB$M_OFP      = 20000000            FAB$V_PPF_IND  = 0000000E            IFB$B_RFMORG     0000003C            

FAB$M_POS      = 00000100            FAB$V_PPF_RAT  = 00000006            IFB$B_UBUFSZ     0000005B            

FAB$M_PPF      = 00040000            FAB$V_PRN      = 00000002            IFB$C_BID      = 0000000B            

FAB$M_PPF_IND  = 00004000            FAB$V_PUT      = 00000000            IFB$C_BLN        00000060            

FAB$M_PPF_RAT  = 00003FC0            FAB$V_RCK      = 00000017            IFB$C_BLN_IDX    00000060            

FAB$M_PRN      = 00000004            FAB$V_RWC      = 0000000B            IFB$C_BLN_REL    00000060            

FAB$M_PUT      = 00000001            FAB$V_RWO      = 00000007            IFB$C_BLN_SEQ    0000005C            

FAB$M_RCK      = 00800000            FAB$V_SCF      = 0000000E            IFB$C_DIR      = 00000003            

FAB$M_RWC      = 00000800            FAB$V_SHRDEL   = 00000002            IFB$C_FHAEND     00000050            

FAB$M_RWO      = 00000080            FAB$V_SHRGET   = 00000001            IFB$C_IDX      = 00000002            

FAB$M_SCF      = 00004000            FAB$V_SHRPUT   = 00000000            IFB$C_MAXORG   = 00000002            

FAB$M_SHRDEL   = 00000004            FAB$V_SHRUPD   = 00000003            IFB$C_REL      = 00000001            

FAB$M_SHRGET   = 00000002            FAB$V_SPL      = 0000000D            IFB$C_SEQ      = 00000000            

FAB$M_SHRPUT   = 00000001            FAB$V_SQO      = 00000006            IFB$K_BLN        00000060            

FAB$M_SHRUPD   = 00000008            FAB$V_SUP      = 00000002            IFB$K_BLN_IDX    00000060            

FAB$M_SPL      = 00002000            FAB$V_TEF      = 0000001C            IFB$K_BLN_REL    00000060            

FAB$M_SQO      = 00000040            FAB$V_TMD      = 00000004            IFB$K_BLN_SEQ    0000005C            

FAB$M_SUP      = 00000004            FAB$V_TMP      = 00000003            IFB$K_FHAEND     00000050            

FAB$M_TEF      = 10000000            FAB$V_TRN      = 00000004            IFB$L_ARGLST     00000018            

FAB$M_TMD      = 00000010            FAB$V_UFM      = 0000001A            IFB$L_ASBADDR    00000014            

FAB$M_TMP      = 00000008            FAB$V_UFO      = 00000011            IFB$L_AS_DEV     00000054            

FAB$M_TRN      = 00000010            FAB$V_UPD      = 00000003            IFB$L_BDB_BLNK   00000034            

FAB$M_UFM      = 04000000            FAB$V_UPI      = 00000006            IFB$L_BDB_FLNK   00000030            

FAB$M_UFO      = 00020000            FAB$V_WCK      = 00000009            IFB$L_BKPBITS    00000004            

FAB$M_UPD      = 00000008            FAB$W_BLS        0000003C            IFB$L_BWB        0000000C            

FAB$M_UPI      = 00000040            FAB$W_DEQ        00000014            IFB$L_DVBN       00000058            

FAB$M_WCK      = 00000200            FAB$W_IFI        00000002            IFB$L_EBK        00000044            

FAB$S_ORG      = 00000004            FAB$W_MRS        00000036            IFB$L_FRB_PTR    00000028            

FAB$S_PPF_RAT  = 00000008            FF             = 0000000C            IFB$L_FWA_BDB    00000050            

FAB$V_BIO      = 00000005            FIXSIZ           000000AA R     02   IFB$L_HBK        00000040            

FAB$V_BLK      = 00000003            GBL...         = 00000000            IFB$L_IDX_PTR    00000054            

FAB$V_BRO      = 00000006            GET00            0000005A R     02   IFB$L_IOS        0000000C            

FAB$V_CBT      = 00000015            GETEOF           00000048 R     02   IFB$L_IOS4       00000010            

FAB$V_CIF      = 00000019            GETLST           00000036 R     02   IFB$L_IRAB_LNK   0000001C            

FAB$V_CR       = 00000001            GETLST1          0000003E R     02   IFB$L_LAST_FAB   00000024            

FAB$V_CTG      = 00000014            GETNRP           0000006F R     02   IFB$L_LOCK_BDB   00000050            

FAB$V_DEL      = 00000002            GET_ANSI_D       000000B8 R     02   IFB$L_MRN        00000054            

FAB$V_DFW      = 00000005            GET_BIN_SIZ      00000088 R     02   IFB$L_NRP_LNK    00000050            

FAB$V_DLT      = 0000000F            GET_CHKMINUS     000000B2 R     02   IFB$L_NWA_PTR    00000028            

FAB$V_DMO      = 0000000C            GET_CHKSIZ       000000AE R     02   IFB$L_PRIM_DEV   00000000            

FAB$V_ESC      = 0000001B            GET_CHKVFC       000000C0 R     02   IFB$L_RLB_LNK    0000002C            

FAB$V_EXE      = 00000007            GET_RETREC       000000FB R     02   IFB$L_RNS_LEN    00000050            

FAB$V_FTN      = 00000000            GTMVRC           000001C0 R     02   IFB$M_BIO      = 00000020            

FAB$V_GET      = 00000001            IFB$B_AMAX       00000059            IFB$M_BRO      = 00000040            

FAB$V_INP      = 00000013            IFB$B_AVBN       00000058            IFB$M_DEL      = 00000004            

FAB$V_JNL      = 00000016            IFB$B_BID        00000008            IFB$M_EXE      = 00000080            

FAB$V_KFO      = 0000001E            IFB$B_BKS        0000004A            IFB$M_GET      = 00000002            

FAB$V_MSE      = 00000004            IFB$B_BLN        00000009            IFB$M_PUT      = 00000001            

FAB$V_MXV      = 00000001            IFB$B_EFN        0000000B            IFB$M_TRN      = 00000010            

FAB$V_NAM      = 00000018            IFB$B_EXTRABUF   0000005D            IFB$M_UPD      = 00000008            

FAB$V_NEF      = 0000000A            IFB$B_FAC        00000022            IFB$S_ORG      = 00000004            

FAB$V_NFS      = 00000010            IFB$B_FSZ        0000004B            IFB$S_RFM      = 00000004            

FAB$V_NIL      = 00000005            IFB$B_KBUFSZ     0000005C            IFB$V_ACCESSED = 00000025            

FAB$V_OFP      = 0000001D            IFB$B_MODE       0000000A            IFB$V_ANSI_D   = 00000026            

FAB$V_ORG      = 00000004            IFB$B_NUM_KEYS   0000005A            IFB$V_ASYNC    = 00000023            

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page  25

SYMBOL TABLE                                                                                                                     (6)



IFB$V_ASYNCWAIT= 00000024            IRB$B_PPF_ISI    0000003E            IRB$V_PPF_FNDSV= 00000030            

IFB$V_BIO      = 00000005            IRB$B_PRE_CCTL   00000044            IRB$V_PPF_IMAGE= 00000022            

IFB$V_BRO      = 00000006            IRB$B_RFA_ID     00000058            IRB$V_PPF_SKIP = 0000002F            

IFB$V_BUSY     = 00000020            IRB$B_RP_ID      00000038            IRB$V_PUTS_LAST= 00000026            

IFB$V_CREATE   = 00000032            IRB$B_RP_KREF    00000039            IRB$V_RAHWBH   = 0000002A            

IFB$V_DAP      = 0000003E            IRB$B_RRV_ID     00000050            IRB$V_SKIP_NEXT= 0000002B            

IFB$V_DAP_OPEN = 0000003D            IRB$B_SRCHFLAGS  00000043            IRB$V_SRCHGT   = 00000001            

IFB$V_DEL      = 00000002            IRB$B_STOPLEVEL  00000042            IRB$V_UNLOCK_RP= 0000002D            

IFB$V_DFW      = 0000002C            IRB$C_BID      = 0000000A            IRB$V_WRITE    = 00000029            

IFB$V_DLT      = 0000002B            IRB$C_BLN_IDX    0000006C            IRB$W_CSIZ       00000042            

IFB$V_DMO      = 00000028            IRB$C_BLN_REL    00000048            IRB$W_DUP_POS    00000032            

IFB$V_EOF      = 00000021            IRB$C_BLN_SEQ    0000004C            IRB$W_IOS2       0000000E            

IFB$V_EXE      = 00000007            IRB$K_BLN_IDX    0000006C            IRB$W_NRP_OFF    00000030            

IFB$V_GET      = 00000001            IRB$K_BLN_REL    00000048            IRB$W_OWN_ID     0000003C            

IFB$V_MSE      = 00000031            IRB$K_BLN_SEQ    0000004C            IRB$W_OWN_ISI    0000003E            

IFB$V_NORECLK  = 00000033            IRB$L_ARGLST     00000018            IRB$W_ROVHDSZ    00000044            

IFB$V_NSP      = 0000003F            IRB$L_ASBADDR    00000014            IRB$W_RP_OFF     00000038            

IFB$V_NWA      = 0000003C            IRB$L_BKPBITS    00000004            IRB$W_RTOTLSZ    00000046            

IFB$V_ORG      = 00000004            IRB$L_BWB        0000000C            IRB$W_SAVE_POS   00000052            

IFB$V_PPF_IMAGE= 00000022            IRB$L_CURBDB     00000020            L$RMS12          00000000 R     06   

IFB$V_PPF_INPUT= 0000002E            IRB$L_CURVBN     00000030            L$RMS15          0000000D R     06   

IFB$V_PUT      = 00000000            IRB$L_IFAB_LNK   00000000            L$RMS16          0000001C R     06   

IFB$V_RFM      = 00000000            IRB$L_IOS        0000000C            L$RMS17          00000026 R     06   

IFB$V_RWC      = 00000027            IRB$L_IOS4       00000010            L$RMS18          0000002C R     06   

IFB$V_RW_ATTR  = 00000034            IRB$L_IRAB_LNK   0000001C            L$RMS19          00000032 R     06   

IFB$V_SCF      = 0000002A            IRB$L_KEYBUF     00000048            L$RMS1GET1       00000000 R     05   

IFB$V_SPL      = 00000029            IRB$L_LAST_RAB   00000024            L$RMS1GET4       00000023 R     05   

IFB$V_SQO      = 0000002D            IRB$L_LOCK_BDB   0000005C            LF             = 0000000A            

IFB$V_TEF      = 00000036            IRB$L_NRP        0000002C            MOVEMODE         00000169 R     02   

IFB$V_TMP      = 00000035            IRB$L_NRP_OFF    00000030            NF$NETWORK0      00000000 R     04   

IFB$V_TRN      = 00000004            IRB$L_NRP_VBN    0000002C            NTVFC            00000045 R     02   

IFB$V_UPD      = 00000003            IRB$L_NXTBDB     00000028            NXTBLK           00000220 R     02   

IFB$V_WRTACC   = 00000030            IRB$L_OWNER_ID   0000003C            NXTBLK1          00000228 R     02   

IFB$W_ASDEVBSIZ  0000005A            IRB$L_RFA_VBN    00000054            NXTFND           0000022D R     02   

IFB$W_BKS_BYTES  0000005C            IRB$L_RLB_ADDR   00000044            PIO$GL_FMLH      ********   X   02   

IFB$W_BKS_RECS   0000005E            IRB$L_RP         00000034            PIO$GT_ENDSTR    ********   X   05   

IFB$W_CHNL       00000020            IRB$L_RP_OFF     00000038            PIO$GW_STATUS    ********   X   05   

IFB$W_DEQ        0000004E            IRB$L_RP_VBN     00000034            PIO$V_EOD      = 00000001            

IFB$W_DEVBUFSIZ  00000038            IRB$L_RRV_VBN    0000004C            PIO$V_INHAST   = 00000000            

IFB$W_EBK0       00000044            IRB$L_TEMP0      00000044            PIO$V_SYNC1    = 00000002            

IFB$W_EBK2       00000046            IRB$L_TEMP1      00000048            PIO$V_SYNC2    = 00000003            

IFB$W_FFB        00000048            IRB$V_ASYNC    = 00000023            RAB$B_BID        00000000            

IFB$W_IOS2       0000000E            IRB$V_ASYNCWAIT= 00000024            RAB$B_BLN        00000001            

IFB$W_LRL        0000003E            IRB$V_BIO_LAST = 00000027            RAB$B_KRF        00000035            

IFB$W_MRS        0000004C            IRB$V_BRO_SW   = 00000028            RAB$B_KSZ        00000034            

IFB$W_RTDEQ      0000003A            IRB$V_BUSY     = 00000020            RAB$B_MBC        00000037            

IRB$B_BCNT       00000040            IRB$V_DAP_CONN = 0000003E            RAB$B_MBF        00000036            

IRB$B_BID        00000008            IRB$V_DAP_FMODE= 0000003F            RAB$B_PSZ        00000034            

IRB$B_BLN        00000009            IRB$V_DUP      = 0000002C            RAB$B_RAC        0000001E            

IRB$B_EFN        0000000B            IRB$V_EOF      = 00000021            RAB$B_ROP1       00000005            

IRB$B_KEYSZ      00000051            IRB$V_FIND     = 00000029            RAB$B_ROP2       00000006            

IRB$B_MBC        00000041            IRB$V_FIND_LAST= 00000025            RAB$B_ROP3       00000007            

IRB$B_MODE       0000000A            IRB$V_IDX_ERR  = 00000031            RAB$B_TMO        0000001F            

IRB$B_NRP_ID     00000030            IRB$V_LOCKABOVE= 00000002            RAB$C_BID      = 00000001            

IRB$B_NRP_KREF   00000031            IRB$V_NEW_IDX  = 00000003            RAB$C_BLN        00000044            

IRB$B_NVBNS      00000048            IRB$V_POSINSERT= 00000000            RAB$C_KEY      = 00000001            

IRB$B_POST_CCTL  00000045            IRB$V_PPF_EOF  = 0000002E            RAB$C_RFA      = 00000002            

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page  26

SYMBOL TABLE                                                                                                                     (6)



RAB$C_SEQ      = 00000000            RAB$V_MAS      = 00000005            RMS$_BUG_XX6   = 0001846C            

RAB$K_BLN        00000044            RAB$V_NLK      = 00000014            RMS$_BUG_XX7   = 00018474            

RAB$L_BKT        00000038            RAB$V_NXR      = 00000017            RMS$_BUG_XX8   = 0001847C            

RAB$L_CTX        00000018            RAB$V_PMT      = 0000001E            RMS$_BUG_XX9   = 00018484            

RAB$L_DCT        00000038            RAB$V_PPF_IND  = 0000000E            RMS$_CAA       = 0001848C            

RAB$L_FAB        0000003C            RAB$V_PPF_RAT  = 00000006            RMS$_CCF       = 0001C0DC            

RAB$L_KBF        00000030            RAB$V_PTA      = 0000001D            RMS$_CCR       = 00018494            

RAB$L_PBF        00000030            RAB$V_RAH      = 00000009            RMS$_CDA       = 0001C0E4            

RAB$L_RBF        00000028            RAB$V_RLK      = 00000013            RMS$_CHG       = 0001849C            

RAB$L_RFA0       00000010            RAB$V_RNE      = 00000018            RMS$_CHK       = 000184A4            

RAB$L_RHB        0000002C            RAB$V_RNF      = 0000001B            RMS$_CHN       = 0001C0EC            

RAB$L_ROP        00000004            RAB$V_TMO      = 00000019            RMS$_COD       = 000184AC            

RAB$L_STS        00000008            RAB$V_TPT      = 00000001            RMS$_CONTROLC  = 00010651            

RAB$L_STV        0000000C            RAB$V_UIF      = 00000004            RMS$_CONTROLO  = 00010609            

RAB$L_UBF        00000024            RAB$V_ULK      = 00000012            RMS$_CONTROLY  = 00010611            

RAB$M_ASY      = 00000001            RAB$V_WAT      = 00000011            RMS$_CRE       = 0001C00A            

RAB$M_BIO      = 00000800            RAB$V_WBH      = 0000000A            RMS$_CREATED   = 00010619            

RAB$M_CCO      = 80000000            RAB$W_ISI        00000002            RMS$_CUR       = 000184B4            

RAB$M_CVT      = 04000000            RAB$W_RFA        00000010            RMS$_DAC       = 0001C012            

RAB$M_EOF      = 00000100            RAB$W_RFA4       00000014            RMS$_DAN       = 000184BC            

RAB$M_FDL      = 00000040            RAB$W_RSZ        00000022            RMS$_DEL       = 00018262            

RAB$M_HSH      = 00000080            RAB$W_USZ        00000020            RMS$_DEV       = 000184C4            

RAB$M_KGE      = 00200000            RETREC           00000140 R     02   RMS$_DIR       = 000184CC            

RAB$M_KGT      = 00400000            RETREC1          00000144 R     02   RMS$_DME       = 000184D4            

RAB$M_LIM      = 00004000            RM$CHKEOF1       ********   X   02   RMS$_DNA       = 000184DC            

RAB$M_LOA      = 00002000            RM$GETBLK1ALT    ********   X   02   RMS$_DNF       = 0001C04A            

RAB$M_LOC      = 00010000            RM$GETBLKNRP     ********   X   02   RMS$_DNR       = 00018272            

RAB$M_MAS      = 00000020            RM$GETRANDOM     00000062 RG    02   RMS$_DPE       = 0001C03A            

RAB$M_NLK      = 00100000            RM$GET_BLK_DEV   00000060 RG    02   RMS$_DTP       = 000184E4            

RAB$M_NXR      = 00800000            RM$GET_UNIT_REC  00000000 RG    02   RMS$_DUP       = 000184EC            

RAB$M_PMT      = 40000000            RM$INPUT_SCAN    ********   X   02   RMS$_DVI       = 000184F4            

RAB$M_PPF_IND  = 00004000            RM$MAPBLK1       ********   X   02   RMS$_ENT       = 0001C01A            

RAB$M_PPF_RAT  = 00003FC0            RM$NEXT_BLK      00000228 RG    02   RMS$_ENV       = 00018724            

RAB$M_PTA      = 20000000            RM$NXTBLK1       ********   X   02   RMS$_EOF       = 0001827A            

RAB$M_RAH      = 00000200            RM$RLNERR        ********   X   02   RMS$_ESA       = 000184FC            

RAB$M_RLK      = 00080000            RMS$V_STVSTATUS= 0000000E            RMS$_ESL       = 00018714            

RAB$M_RNE      = 01000000            RMS$_ABO       = 000183EC            RMS$_ESS       = 00018504            

RAB$M_RNF      = 08000000            RMS$_ACC       = 0001C002            RMS$_EXP       = 000182C2            

RAB$M_TMO      = 02000000            RMS$_ACT       = 0001825A            RMS$_EXT       = 0001C022            

RAB$M_TPT      = 00000002            RMS$_AID       = 000183F4            RMS$_FAB       = 0001850C            

RAB$M_UIF      = 00000010            RMS$_ALN       = 000183FC            RMS$_FAC       = 00018514            

RAB$M_ULK      = 00040000            RMS$_ALQ       = 00018404            RMS$_FEX       = 00018282            

RAB$M_WAT      = 00020000            RMS$_ANI       = 0001840C            RMS$_FLG       = 0001851C            

RAB$M_WBH      = 00000400            RMS$_AOP       = 00018414            RMS$_FLK       = 0001828A            

RAB$S_PPF_RAT  = 00000008            RMS$_ATR       = 0001C0CC            RMS$_FNA       = 00018524            

RAB$V_ASY      = 00000000            RMS$_ATW       = 0001C0D4            RMS$_FND       = 0001C02A            

RAB$V_BIO      = 0000000B            RMS$_BKS       = 0001841C            RMS$_FNF       = 00018292            

RAB$V_CCO      = 0000001F            RMS$_BKZ       = 00018424            RMS$_FNM       = 0001852C            

RAB$V_CVT      = 0000001A            RMS$_BLN       = 0001842C            RMS$_FOP       = 0001853C            

RAB$V_EOF      = 00000008            RMS$_BOF       = 00018198            RMS$_FSZ       = 00018534            

RAB$V_FDL      = 00000006            RMS$_BUG       = 00018434            RMS$_FUL       = 00018544            

RAB$V_HSH      = 00000007            RMS$_BUG_DAP   = 00018444            RMS$_IAL       = 0001854C            

RAB$V_KGE      = 00000015            RMS$_BUG_DDI   = 0001843C            RMS$_IAN       = 00018554            

RAB$V_KGT      = 00000016            RMS$_BUG_XX2   = 0001844C            RMS$_IBF       = 00018754            

RAB$V_LIM      = 0000000E            RMS$_BUG_XX3   = 00018454            RMS$_IDX       = 0001855C            

RAB$V_LOA      = 0000000D            RMS$_BUG_XX4   = 0001845C            RMS$_IFA       = 0001C124            

RAB$V_LOC      = 00000010            RMS$_BUG_XX5   = 00018464            RMS$_IFI       = 00018564            

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page  27

SYMBOL TABLE                                                                                                                     (6)



RMS$_IMX       = 0001856C            RMS$_ROP       = 0001867C            

RMS$_IOP       = 00018574            RMS$_RPL       = 0001C104            

RMS$_IRC       = 0001857C            RMS$_RRV       = 00018684            

RMS$_ISI       = 00018584            RMS$_RSA       = 000182DA            

RMS$_KBF       = 0001858C            RMS$_RSL       = 0001873C            

RMS$_KEY       = 00018594            RMS$_RSS       = 00018694            

RMS$_KFF       = 00018031            RMS$_RST       = 0001869C            

RMS$_KRF       = 0001859C            RMS$_RSZ       = 000186A4            

RMS$_KSZ       = 000185A4            RMS$_RTB       = 000181A8            

RMS$_LAN       = 000185AC            RMS$_SEQ       = 000186AC            

RMS$_LBL       = 000185B4            RMS$_SHR       = 000186B4            

RMS$_LNE       = 000185BC            RMS$_SIZ       = 000186BC            

RMS$_LOC       = 000185C4            RMS$_SPL       = 0001C042            

RMS$_MBC       = 00018734            RMS$_SQO       = 000186C4            

RMS$_MKD       = 0001C032            RMS$_STALL     = 00018001            

RMS$_MRN       = 000185CC            RMS$_STK       = 000186CC            

RMS$_MRS       = 000185D4            RMS$_SUC       = 00010001            

RMS$_NAM       = 000185DC            RMS$_SUP       = 000182D2            

RMS$_NEF       = 000185E4            RMS$_SUPERSEDE = 00010631            

RMS$_NET       = 0001874C            RMS$_SYN       = 000186D4            

RMS$_NID       = 000185EC            RMS$_SYS       = 0001C10C            

RMS$_NMF       = 000182CA            RMS$_TEMP1     = 0001826A            

RMS$_NOD       = 000185F4            RMS$_TEMP2     = 0001868C            

RMS$_NORMAL    = 00010001            RMS$_TMO       = 000181B0            

RMS$_NPK       = 000185FC            RMS$_TRE       = 000186DC            

RMS$_OK_ALK    = 00018039            RMS$_TYP       = 000186E4            

RMS$_OK_DEL    = 00018041            RMS$_UBF       = 000186EC            

RMS$_OK_DUP    = 00018011            RMS$_USZ       = 000186F4            

RMS$_OK_IDX    = 00018019            RMS$_VER       = 000186FC            

RMS$_OK_LIM    = 00018051            RMS$_VOL       = 00018704            

RMS$_OK_RLK    = 00018021            RMS$_WBE       = 0001C12C            

RMS$_OK_RNF    = 00018049            RMS$_WER       = 0001C114            

RMS$_OK_RRV    = 00018029            RMS$_WLD       = 00018744            

RMS$_ORD       = 00018604            RMS$_WLK       = 000182BA            

RMS$_ORG       = 0001860C            RMS$_WPL       = 0001C11C            

RMS$_PBF       = 00018614            RMS$_WSF       = 0001871C            

RMS$_PENDING   = 00018009            RMS$_XAB       = 0001870C            

RMS$_PLG       = 0001861C            ROP            = 00000020            

RMS$_PLV       = 0001872C            SETRSZ           0000017F R     02   

RMS$_POS       = 00018624            SKPREC           000001A7 R     02   

RMS$_PRM       = 0001862C            SUCRET           00000238 R     02   

RMS$_PRV       = 0001829A            SUCXIT           00000162 R     02   

RMS$_QUO       = 00018634            TPT$L_GETBLKD    ********   X   02   

RMS$_RAB       = 0001863C            UPDSRC           00000165 R     02   

RMS$_RAC       = 00018644            VT             = 0000000B            

RMS$_RAT       = 0001864C            ZERO_RFA         0000003D R     05   

RMS$_RBF       = 00018654            ZERO_RFA1        00000041 R     02   

RMS$_RER       = 0001C0F4            ZERO_RFA_BR      00000072 R     02   

RMS$_REX       = 000182A2            

RMS$_RFA       = 0001865C            

RMS$_RFM       = 00018664            

RMS$_RHB       = 0001866C            

RMS$_RLF       = 00018674            

RMS$_RLK       = 000182AA            

RMS$_RMV       = 0001C0FC            

RMS$_RNF       = 000182B2            

RMS$_RNL       = 000181A0            

RM1GETINT       INTERNAL GET SEQUENTIAL                          21-AUG-1978 21:40:38   VAX-11 MACRO X0.3-11               Page  28

PROGRAM SECTION SYNOPSIS                                                                                                         (6)







PROGRAM SECTION SYNOPSIS



.  ABS  .        00000000      00     NOPIC   USR   CON   ABS   LCL NOSHR NOEXE NORD  NOWRT BYTE  

. BLANK .        00000000      01     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD    WRT BYTE  

$RMS1            0000023C      02     NOPIC   USR   CON   REL   GBL NOSHR   EXE   RD  NOWRT QUAD  

$ABS$            0000006C      03     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

NF$NETWORK       0000002A      04     NOPIC   USR   CON   REL   GBL NOSHR   EXE   RD  NOWRT BYTE  

L$RMS1GET        00000041      05     NOPIC   USR   CON   REL   GBL NOSHR   EXE   RD  NOWRT BYTE  

L$RMS1           0000003A      06     NOPIC   USR   CON   REL   GBL NOSHR   EXE   RD  NOWRT BYTE  

$RMS1ANSID       00000035      07     NOPIC   USR   CON   REL   GBL NOSHR   EXE   RD  NOWRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

7158. BYTES LEFT IN FREE MEMORY POOL.

1448. BYTES OF RECLAIMED MEMORY.

OBJ$:RM1GETINT,LIS$:RM1GETINT/-SP=EXECML$/ML,LIB$:R/ML,SRC$:RM1GETINT

26 MLB DIR RDS - 1161 GETS TO DEFINE 28 MACROS. 97 INTER. FILE WRITES. 

