RSXSTART        - RSX INITIALIZATION, LOAD AND GO ROUTINE        22-AUG-1978 05:11:46   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (2)      68  RSX-11M EMULATOR TRANSFER VECTORS

   (3)      82  RSX$RUNIMAGE - RUN RSX-11M IMAGE

   (10)    531  MAP_LIBRARY - MAP RESIDENT LIBRARY

RSXSTART        - RSX INITIALIZATION, LOAD AND GO ROUTINE        22-AUG-1978 05:11:46   VAX-11 MACRO X0.3-11               Page   1

V06.0                                                                                                                            (1)



                                     0000     1 	.TITLE	RSXSTART - RSX INITIALIZATION, LOAD AND GO ROUTINE

                                     0000     2 	.IDENT	/V06.0/		;

                                     0000     3 ;

                                     0000     4 ; COPYRIGHT (C) 1978

                                     0000     5 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASSACHUSETTS 01754

                                     0000     6 ;

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

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

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

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

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

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

                                     0000    13 ; REMAIN IN DEC.

                                     0000    14 ;

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

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

                                     0000    17 ; CORPORATION.

                                     0000    18 ;

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

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

                                     0000    21 

                                     0000    22 ;++

                                     0000    23 ; FACILITY:

                                     0000    24 ;

                                     0000    25 ;	VAX/VMS RSX-11M AME

                                     0000    26 ;

                                     0000    27 ; ABSTRACT:

                                     0000    28 ;

                                     0000    29 ;	RSX INITIALIZATION, LOADER AND IMAGE INITAILIZATION.

                                     0000    30 ;

                                     0000    31 ; AUTHOR:

                                     0000    32 ;

                                     0000    33 ; 	 R. HEINEN 2-NOV-76 

                                     0000    34 ;--

                                     0000    35 ;

                                     0000    36 ; EXTERNAL SYMBOLS

                                     0000    37 ;

                                     0000    38 	.WEAK	RSX$C_CREGBLSEC		; REFERENCE FOR RUN-TIME GLOBAL REGION CREATE

                                     0000    39  

                                     0000    40 	$RSXDEF				; DEFINE RSX SYMBOLS

                                     0000    41 	LBLDF$				; DEFINE RSX LABEL

                                     0000    42 	$FABDEF				; DEFINE FAB

                                     0000    43 	$ISDDEF				; DEFINE ISD

                                     0000    44 	$JPIDEF				; DEFINE JOP/PROCESS SYMBOLS

                                     0000    45 	$RABDEF				; DEFINE RAB

                                     0000    46 	$SECDEF				; DEFINE SECTION VALUES

                                     0000    47 ;

                                     0000    48 ; LOCAL SYMBOLS

                                     0000    49 ;

                                     0000    50 ; OFFSETS ON AP FOR CALL ARGS

                                     0000    51 ;

                           00000004  0000    52 IMAGECHAN=4			; CHANNEL ON WHICH IMAGE FILE IS OPEN

                           00000008  0000    53 CMDROUT=8			; CALL BACK FOR COMMAND LISE

                           0000000C  0000    54 CMDFLG=12			; COMMAND INTERPRETER FLAGS

                                     0000    55 ;

                                     0000    56 ; LOCAL STORAGE

                                     0000    57 ;

RSXSTART        - RSX INITIALIZATION, LOAD AND GO ROUTINE        22-AUG-1978 05:11:46   VAX-11 MACRO X0.3-11               Page   2

V06.0                                                                                                                            (1)



                                 00000000    58 	.PSECT	RSXPURE,LONG,EXE,NOWRT,SHR,PIC

                                     0000    59  

                                     0000    60 COMMONEFN:

      4E 46 45 4D 4F 43 58 53 52 00' 0000    61 		.ASCIC	/RSXCOMEFN/

                                 09  0000       

42 41 39 38 37 36 35 34 33 32 31 30  000A    62 BINARY_HEX_TAB:	.ASCII	/0123456789ABCDEF/

                        46 45 44 43  0016       

                               0000  001A    63 	.WORD	0

                                     001C    64 ALUN_LUN:

                                     001C    65 ;

RSXSTART        - RSX INITIALIZATION, LOAD AND GO ROUTINE        22-AUG-1978 05:11:46   VAX-11 MACRO X0.3-11               Page   3

V06.0                                                                                                                            (2)



                                 00000000    67 	.PSECT	RSXCODE,NOWRT,SHR,PIC

                                     0000    68 	.SBTTL RSX-11M EMULATOR TRANSFER VECTORS

                                 00000000    69 	.PSECT	RSXVECTOR,NOWRT,SHR,PIC,LONG

                                     0000    70 ;

                                     0000    71 ; TRANSFER VECTOR FOR ENTRY TO THE EMULATOR

                                     0000    72 ;

                                     0000    73 VEC_START:

                                     0000    74 	.TRANSFER RSX$RUNIMAGE

                               0000' 0000    75 	.MASK	   RSX$RUNIMAGE

                          FFFD'  31  0002    76 	BRW	RSX$RUNIMAGE+2

                                     0005    77 ;

                                     0005    78 ; RESERVED VECTOR SPACE

                                     0005    79 ;

                           00000080  0005    80 	.=VEC_START+128

RSXSTART        - RSX INITIALIZATION, LOAD AND GO ROUTINE        22-AUG-1978 05:11:46   VAX-11 MACRO X0.3-11               Page   4

V06.0           RSX$RUNIMAGE - RUN RSX-11M IMAGE                                                                                 (3)



                                     0080    82 	.SBTTL	RSX$RUNIMAGE - RUN RSX-11M IMAGE

                                     0080    83  

                                     0080    84 ;++

                                     0080    85 ; RSX$RUNIMAGE - RUN RSX-11M IMAGE

                                 00000000    86 	.PSECT	RSXCODE,NOWRT,SHR,PIC

                                     0000    87 ;

                                     0000    88 ; FUNCTIONAL DESCRIPTION:

                                     0000    89 ;

                                     0000    90 ; THIS IS THE ENTRY INTO THE RSX-11M AME. THE ACTION IS TO LOAD THE REQUESTED

                                     0000    91 ; RSX-11M IMAGE, SET UP THE IMAGE DATA SPACE AND ENTER THE IMAGE.

                                     0000    92 ;

                                     0000    93 ; CALLING SEQUENCE:

                                     0000    94 ;

                                     0000    95 ;	AP =	.LONG	4

                                     0000    96 ;		.LONG	IMAGE FILE CHANNEL (USER MODE)

                                     0000    97 ;		.LONG	COMMAND LINE CALLBACK ROUTINE ADDRESS

                                     0000    98 ;		.LONG	COMMAND INTERPRETER FLAGS. 1 FOR DCL, 0 FOR MCR

                                     0000    99 ;		.LONG	FAB$L_CTX FROM FILE OPEN

                                     0000   100 ;

                                     0000   101 ; OUTPUTS:

                                     0000   102 ;

                                     0000   103 ;	R0 = STATUS OF THE RUN.

                                     0000   104 ;--

                               0FFC' 0000   105 	.ENTRY	RSX$RUNIMAGE,^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>

                                     0002   106 ;

                                     0002   107 ; INIT AND ADDRESS THIS IMAGE'S IMPURE DATA BASE.

                                     0002   108 ;

            5A   00000000'GF     9E  0002   109 	MOVAB	G^CTL$AL_CMCNTX,R10	; ADDRESS IMPURE DATA BASE

            6A            00     2C  0009   110 	MOVC5	#0,(R10),#0,#512,(R10)	; ZERO IMPURE AREA

       0200 8F            00         000C       

                          6A         0010       

       0188 CA            5D     D0  0011   111 	MOVL	FP,I_BAILOUTFP(R10)	; SAVE BAILOUT FP

            50       0000'CF     D0  0016   112 	MOVL	W^RSX$G_LOWP0ADDR,R0	; FIND LOWEST P0 ADDRESS

                          1A     13  001B   113 	BEQL	10$			; IF EQL THEN NOT DISCOVERED YET

            01            1E     78  001D   114 	ASHL	#30,#1,-(SP)		; CALC HIGH P0 LIMIT

                          7E         0020       

                          6E     D7  0021   115 	DECL	(SP)			;

                          50     DD  0023   116 	PUSHL	R0			; CALC LOW LIMIT

            52            6E     9E  0025   117 	MOVAB	(SP),R2			; LOAD ADDR OF ARGS

                                     0028   118 	$DELTVA_S (R2)			; DELETE THE SPACE

                          12     11  0035   119 	BRB	15$			; CONTINUE

            01            1F     78  0037   120 10$:	ASHL	#31,#1,-(SP)

                          7E         003A       

                          7E     D4  003B   121 	CLRL	-(SP)

            50            5E     D0  003D   122 	MOVL	SP,R0

                                     0040   123 	$PURGWS_S	(R0)

            5E            08     C0  0049   124 15$:	ADDL	#8,SP

                                     004C   125 	$EXPREG_S	#3,W^RSX$G_LOWP0ADDR; ALLOCATE SPACE FOR LABEL BLOCK READ

                                     005D   126 ;

                                     005D   127 ; SET UP POOL AND OTHER LIST HEADS

                                     005D   128 ;

                     0000'CF     7C  005D   129 	CLRQ	W^RSX$A_POOL		; SET EMPTY POOL

                                     0061   130 ;

                                     0061   131 ; SET UP AST QUEUE

                                     0061   132 ;

       00C8 CA       00C8 CA     9E  0061   133 	MOVAB	I_ASTQUEUE(R10),I_ASTQUEUE(R10);

       00CC CA       00C8 CA     9E  0068   134 	MOVAB	I_ASTQUEUE(R10),I_ASTQUEUE+4(R10);

RSXSTART        - RSX INITIALIZATION, LOAD AND GO ROUTINE        22-AUG-1978 05:11:46   VAX-11 MACRO X0.3-11               Page   5

V06.0           RSX$RUNIMAGE - RUN RSX-11M IMAGE                                                                                 (3)



                                     006F   135 ;

                                     006F   136 ; SET UP AST CONTEXT BLOCK POOL

                                     006F   137 ;

       00D0 CA       00D0 CA     9E  006F   138 	MOVAB	I_ASTPOOL(R10),I_ASTPOOL(R10);

       00D4 CA       00D0 CA     9E  0076   139 	MOVAB	I_ASTPOOL(R10),I_ASTPOOL+4(R10)

                                     007D   140 ;

                                     007D   141 ; SET UP FCB POOL

                                     007D   142 ;

       00D8 CA       00D8 CA     9E  007D   143 	MOVAB	I_FCBPOOL(R10),I_FCBPOOL(R10);

       00DC CA       00D8 CA     9E  0084   144 	MOVAB	I_FCBPOOL(R10),I_FCBPOOL+4(R10);

                                     008B   145 ;

                                     008B   146 ; SET UP LOGICAL NAME LIST

                                     008B   147 ;

       00E0 CA       00E0 CA     9E  008B   148 	MOVAB	I_LOGNAME(R10),I_LOGNAME(R10);

       00E4 CA       00E0 CA     9E  0092   149 	MOVAB	I_LOGNAME(R10),I_LOGNAME+4(R10);

       00E0 DA       0000'CF     0E  0099   150 	INSQUE	W^RSX$A_TIIDEV,@I_LOGNAME(R10)

                     0030'CF     B4  00A0   151 	CLRW	W^LUT_INFOUNIT+RSX$A_TIIDEV

       00E0 DA       0000'CF     0E  00A4   152 	INSQUE	W^RSX$A_TIODEV,@I_LOGNAME(R10)

                     0030'CF     B4  00AB   153 	CLRW	W^LUT_INFOUNIT+RSX$A_TIODEV

       00E0 DA       0000'CF     0E  00AF   154 	INSQUE	W^RSX$A_CLDEV,@I_LOGNAME(R10)

                     0030'CF     B4  00B6   155 	CLRW	W^LUT_INFOUNIT+RSX$A_CLDEV

       00E0 DA       0000'CF     0E  00BA   156 	INSQUE	W^RSX$A_CODEV,@I_LOGNAME(R10)

                     0030'CF     B4  00C1   157 	CLRW	W^LUT_INFOUNIT+RSX$A_CODEV

       00E0 DA       0000'CF     0E  00C5   158 	INSQUE	W^RSX$A_SYDEV,@I_LOGNAME(R10)

                     0030'CF     B4  00CC   159 	CLRW	W^LUT_INFOUNIT+RSX$A_SYDEV

                                     00D0   160 ;

                                     00D0   161 ; SAVE COMMAND LINE CALL BACK ADDRESS

                                     00D0   162 ;

       00E8 CA         08 AC     D0  00D0   163 	MOVL	CMDROUT(AP),I_CMDROUT(R10); SAVE CMD CALL BACK

                          07     12  00D6   164 	BNEQ	20$			; IF NEQ THEN ASSUME OK

       00E8 CA       0000'CF     9E  00D8   165 	MOVAB	W^RSX$RETEXIT,I_CMDROUT(R10); SET NULL ROUTINE

            02         0C AC     F0  00DF   166 20$:	INSV	CMDFLG(AP),#SV_DCL,#1,I_STATE(R10); SET COMMAND INTERPRETER FLAGS

       0170 CA            01         00E3       

                                     00E7   167 ;

                                     00E7   168 ; ASSIGN SYS$INPUT

                                     00E7   169 ;

            56       0000'CF     9E  00E7   170 	MOVAB	W^RSX$A_TIIDEV,R6	; ADDRESS NAME LUT

            55       001C'CF     9E  00EC   171 	MOVAB	W^ALUN_LUN,R5		; ADDRESS LUT

                       F7'AF     9F  00F1   172 	PUSHAB	B^25$			; SET UP CALL

                          FF09'  30  00F4   173 	BSBW	RSX$SYS_DEVS		; OPEN SYS$INPUT DEVICE

                                     00F7   174 ;

                                     00F7   175 ; ASSIGN SYS$OUTPUT

                                     00F7   176 ;

            56       0000'CF     9E  00F7   177 25$:	MOVAB	W^RSX$A_TIODEV,R6	; ADDRESS SYS$OUTPUT LUT

                       02'AF     9F  00FC   178 	PUSHAB	B^30$

                          FEFE'  30  00FF   179 	BSBW	RSX$SYS_DEVS		; OPEN SYS$OUTPUT

                                     0102   180 ;

                                     0102   181 ; SET UP OV DEVICE

                                     0102   182 ;

            58       0000'CF     9E  0102   183 30$:	MOVAB	W^RSX$A_OVDEV,R8	; ADDRESS OV DEVICE DATA

       00E4 DA            68     0E  0107   184 	INSQUE	(R8),@I_LOGNAME+4(R10)	; INSERT ON LOGICAL LIST

         0C A8         04 AC     D0  010C   185 	MOVL	IMAGECHAN(AP),LUT_CHAN(R8); INSERT CHANNEL PASSED BY CALLER

                          FEEC'  30  0111   186 	BSBW	RSX$BUILDLUT		; BUILD INFO NAME AND REAL NAME

RSXSTART        - RSX INITIALIZATION, LOAD AND GO ROUTINE        22-AUG-1978 05:11:46   VAX-11 MACRO X0.3-11               Page   6

V06.0           RSX$RUNIMAGE - RUN RSX-11M IMAGE                                                                                 (4)



                                     0114   188 ;

                                     0114   189 ; READ THE LABEL BLOCKS

                                     0114   190 ;

                       28 AA     7C  0114   191 	CLRQ	I_SCRATCH(R10)		; DELETE THE TASK VIRTUAL ADDRESS

         2C AA            01     AE  0117   192 	MNEGW	#1,I_SCRATCH+4(R10)	;

                                     011B   193 	$DELTVA_S	I_SCRATCH(R10)	; 

            59       0000'CF     D0  0129   194 	MOVL	W^RSX$G_LOWP0ADDR,R9	; ADDRESS LABEL BUFFER

                                     012E   195 	$QIOW_S	EFN=#0,-

                                     012E   196 		CHAN=W^RSX$A_OVDEV+LUT_CHAN,-

                                     012E   197 		FUNC=#IO$_READVBLK,-

                                     012E   198 		IOSB=I_SCRATCH(R10),-

                                     012E   199 		P1=(R9),-

                                     012E   200 		P2=#3*512,-

                                     012E   201 		P3=#1

            27            50     E9  0154   202 	BLBC	R0,100$			; IF LOW CLEAR THEN ERROR

            23         28 AA     E9  0157   203 	BLBC	I_SCRATCH(R10),100$	; IF IOSB LOW CLEAR THEN ERROR

       0172 CA         18 A9     B0  015B   204 	MOVW	L$BFLG(R9),I_STATE+2(R10); SAVE TASK STATUS

         18 A9       6220 8F     B3  0161   205 	BITW	#TS$NHD!TS$ACP!TS$NET!TS$RES,L$BFLG(R9); PROPER FLAGS?

                          0B     12  0167   206 	BNEQ	90$			; IF NEQ THEN ERROR

                       12 A9     B5  0169   207 	TSTW	L$BOFF(R9)		; OFFSET IN PARTITION=0?

                          06     12  016C   208 	BNEQ	90$			; IF NEQ THEN ERROR

            5B         08 A9     3C  016E   209 	MOVZWL	L$BSA(R9),R11		; GET STARTING VA

                          14     13  0172   210 	BEQL	LOAD_READ_WRITE		; IF LEGAL THEN LOAD READ WRITE AREA

                                     0174   211 90$:	$ABORT	#RSX$_NOTSKIMG		; SIGNAL ILLEGAL FORMAT

                                     017E   212 100$:	$ABORT	#RSX$_LOADERROR		; SIGNAL LOAD ERROR

RSXSTART        - RSX INITIALIZATION, LOAD AND GO ROUTINE        22-AUG-1978 05:11:46   VAX-11 MACRO X0.3-11               Page   7

V06.0           RSX$RUNIMAGE - RUN RSX-11M IMAGE                                                                                 (5)



                                     0188   214 ;

                                     0188   215 ; LOAD THE TASK READ/WRITE AREA

                                     0188   216 ;

                                     0188   217 LOAD_READ_WRITE:			;

                     00FC CA     D4  0188   218 	CLRL	I_ADR0+ADR_LOWLIM(R10)	; SET ADR0 LOW LIM AS 0

            01            10     78  018C   219 	ASHL	#16,#1,I_HIGHSIZE(R10)	; SET IMAGE HIGH LIMIT

                     00F4 CA         018F       

       0100 CA         10 A9     32  0192   220 	CVTWL	L$BMXZ(R9),I_ADR0+ADR_HIGHLIM(R10); SET UP ADR0 HIGH LIMIT

                          24     15  0198   221 	BLEQ	5$			; IF LEQ THEN ILLEGAL IMAGE FORMAT

            53       00EA C9     32  019A   222 	CVTWL	L$BEXT(R9),R3		; PICK UP INITIAL IMAGE EXTENTION

                          1D     19  019F   223 	BLSS	5$			; IF LSS THEN ILLEGAL

       0100 CA            53     C0  01A1   224 	ADDL	R3,I_ADR0+ADR_HIGHLIM(R10); CALC HIGH LIMIT FOR READ/WRITE

       0100 CA            06     78  01A6   225 	ASHL	#6,I_ADR0+ADR_HIGHLIM(R10),I_ADR0+ADR_HIGHLIM(R10); IN BYTES

                     0100 CA         01AB       

       00F0 CA       0100 CA     3C  01AE   226 	MOVZWL	I_ADR0+ADR_HIGHLIM(R10),I_INISIZE(R10); SAVE AS CURRENT SIZE

       00F0 CA       0100 CA     D1  01B5   227 	CMPL	I_ADR0+ADR_HIGHLIM(R10),I_INISIZE(R10); SAME NOW?

                          0A     13  01BC   228 	BEQL	11$			; IF EQL THEN OK

                                     01BE   229 5$:	$ABORT	#RSX$_NOTSKIMG		; SIGNAL NOT TASK IMAGE

                                     01C8   230 11$:	$CRETVA_S	I_ADR0+ADR_LOWLIM(R10); CREATE THE READ/WRITE SPACE

                                     01D7   231 ;

                                     01D7   232 ; READ THE HEADER AND TASK IMAGE

                                     01D7   233 ;

            53         0E A9     3C  01D7   234 	MOVZWL	L$BLDZ(R9),R3		; CALC ROOT SEQ LOAD SIZE

            53            06     78  01DB   235 	ASHL	#6,R3,R3		; IN BYTES

                          53         01DE       

       00F8 CA       00EE C9     3C  01DF   236 	MOVZWL	L$BHRB(R9),I_IMAGEVBN(R10); GET RELITIVE BLOCK TO HEADER

                     00F8 CA     D6  01E6   237 	INCL	I_IMAGEVBN(R10)		; SAVE IT FOR OVERLAYING

                          54     7C  01EA   238 	CLRQ	R4			; START FROM IMAGE VBN AT VA=0

                       2C AA     D4  01EC   239 	CLRL	I_SCRATCH+4(R10)	; SET UP EFN

                          FE0E'  30  01EF   240 	BSBW	RSX$OVERLAY		; TREAT AS OVERLAY

            39            50     E9  01F2   241 	BLBC	R0,100$			; IF LOW CLEAR THEN ERROR

                                     01F5   242 ;

                                     01F5   243 ; VERIFY GUARD WORD AND LUN/WINDOW BLOCKS

                                     01F5   244 ;

       00EC CA         3A A4     B0  01F5   245 	MOVW	H.GARD(R4),I_GARD(R10)	; ADDRESS GUARD WORD

            BE       00EC CA     E8  01FB   246 	BLBS	I_GARD(R10),5$		; IF LOW SET THEN ERROR

            51         3C A4     9A  0200   247 	MOVZBL	H.NLUN(R4),R1		; GET THE NUMBER OF ALLOWED LUNS

            51         3E AB41   DE  0204   248 	MOVAL	H.LUN(R11)[R1],R1	; ADDRESS TABLE END

            53         24 AB     3C  0209   249 	MOVZWL	H.WND(R11),R3		; GET WINDOW ADDRESS

            53            51     B1  020D   250 	CMPW	R1,R3			; ADDRESS OF WINDOWS EQL TO END OF LUNS?

                          AC     12  0210   251 	BNEQ	5$			; IF NEQ THEN ERROR

            55            63     3C  0212   252 	MOVZWL	(R3),R5			; GET NUMBER OF WINDOWS

            55            10     C4  0215   253 	MULL	#W.BLGH,R5		; CALC SIZE OF ALLOCATION

            55         12 A345   9E  0218   254 	MOVAB	18(R3)[R5],R5		; ADDRESS END OF WINDOWS

       00EC CA            55     B1  021D   255 	CMPW	R5,I_GARD(R10)		; END OF NEEDED SPACE THE GUARD WORD?

                          14     13  0222   256 	BEQL	LOAD_READ_ONLY		; IF EQL THEN PROPER HEADER

                                     0224   257 ;

                                     0224   258 ; BAD HEADER FORMAT

                                     0224   259 ;

                                     0224   260 	$ABORT	#RSX$_NOTSKIMG		; SIGNAL NOT TASK IMAGE

                                     022E   261 100$:	$ABORT	#RSX$_LOADERROR		; SIGNAL LOAD ERROR

RSXSTART        - RSX INITIALIZATION, LOAD AND GO ROUTINE        22-AUG-1978 05:11:46   VAX-11 MACRO X0.3-11               Page   8

V06.0           RSX$RUNIMAGE - RUN RSX-11M IMAGE                                                                                 (6)



                                     0238   263 ;

                                     0238   264 ; LOAD READ ONLY IMAGE SECTION

                                     0238   265 ;

                                     0238   266 LOAD_READ_ONLY:				;

            58         20 A9     9E  0238   267 	MOVAB	L$BLIB(R9),R8		; ADDRESS IMAGE LIBRARY DESCRIPTERS

            56       0104 CA     9E  023C   268 	MOVAB	I_ADR0+ADR_SIZE(R10),R6	; ADDRESS IMAGE WINDOW DESCS

            55       00F6 C9     3C  0241   269 	MOVZWL	L$BLUN+4(R9),R5		; GET EXTENT OF READ ONLY IMAGE

                          03     12  0246   270 	BNEQ	10$			; IF NEQ THEN READ ONLY IMAGE

                          00AB   31  0248   271 	BRW	LOAD_LIBRARIES

                                     024B   272 ;

                                     024B   273 ; LOAD RESIDENT LIBRARIES AND COMMON BLOCKS

                                     024B   274 ;

            66         04 A8     3C  024B   275 10$:	MOVZWL	R$LSA(R8),ADR_LOWLIM(R6); GET LIBRARY LOW LIMIT

         04 A6         06 A8     3C  024F   276 	MOVZWL	R$LHGV(R8),ADR_HIGHLIM(R6); GET LIBRARY HIGH LIMIT

                                     0254   277 ;

                                     0254   278 ; SECTION NAME IS TASKNAME_001

                                     0254   279 ;

            57         30 AA     9E  0254   280 	MOVAB	I_SCRATCH+8(R10),R7	; BUILD SECTION NAME

            54            69     9E  0258   281 	MOVAB	L$BTSK(R9),R4		;

            52            57     D0  025B   282 	MOVL	R7,R2			; SAVE START ADDRESS

                          FD9F'  30  025E   283 	BSBW	RSX$R50CVT2		; CONVERT

            87   3130305F 8F     D0  0261   284 	MOVL	#^A/_001/,(R7)+		; BUILD SUFFIX

            57            52     C2  0268   285 	SUBL	R2,R7			; SIZE STRING

            57            2E     3B  026B   286 	SKPC	#^A/./,R7,I_SCRATCH+8(R10); SKIP LEADING .'S

                       30 AA         026E       

         28 AA            50     7D  0270   287 	MOVQ	R0,I_SCRATCH(R10)	; BUILD DESC

         3C AA            01     D0  0274   288 	MOVL	#ISD$K_MATEQU,I_SCRATCH+20(R10); SET UP MATCH IDENT

         40 AA         10 AC     D0  0278   289 	MOVL	16(AP),I_SCRATCH+24(R10);

                                     027D   290 ;

                                     027D   291 ; MAP THE SECTION

                                     027D   292 ;

                                     027D   293 	$MGBLSC_S	INADR=ADR_LOWLIM(R6),-

                                     027D   294 			IDENT=I_SCRATCH+20(R10),-

                                     027D   295 			FLAGS=#SEC$M_GBL!SEC$M_SYSGBL,-

                                     027D   296 			GSDNAM=I_SCRATCH(R10)

            56            50     E8  0298   297 	BLBS	R0,100$			; IF LOW SET THEN MAPPED

                                     029B   298 ;

                                     029B   299 ; FIND MAP SIZE

                                     029B   300 ;

            55            07     C0  029B   301 	ADDL	#7,R5			; ROUND UP

            55            08     C6  029E   302 	DIVL	#8,R5			;

            51       00F4 C9     3C  02A1   303 	MOVZWL	L$BLUN+2(R9),R1		; GET OFFSET IN IMAGE

                                     02A6   304 	$CRMPSC_S	INADR=ADR_LOWLIM(R6),-

                                     02A6   305 			CHAN=W^LUT_CHAN+RSX$A_OVDEV,-

                                     02A6   306 			PAGCNT=R5,-

                                     02A6   307 			VBN=R1		

            28            50     E8  02C6   308 	BLBS	R0,100$			; IF LOW SET THEN SUCCESS

            7E         28 AA     7D  02C9   309 50$:	MOVQ	I_SCRATCH(R10),-(SP)	; SIGNAL ERROR

                          02     DD  02CD   310 	PUSHL	#2

                 0006806C 8F     DD  02CF   311 	PUSHL	#RSX$_BADLIBREF		;

                 000F0004 8F     DD  02D5   312 	PUSHL	#4+<15@16>

                          7E     7C  02DB   313 	CLRQ	-(SP)

                       08 AE     9F  02DD   314 	PUSHAB	8(SP)	

   00000000'9F            08     FB  02E0   315 	CALLS	#3+5,@#SYS$PUTMSG	; OUTPUT MESSAGE

                                     02E7   316 	$ABORT	#RSX$_LOADERROR		; ABORT IMAGE

                                     02F1   317 ;

                                     02F1   318 ; SET UP READ/ONLY ADR DATA

RSXSTART        - RSX INITIALIZATION, LOAD AND GO ROUTINE        22-AUG-1978 05:11:46   VAX-11 MACRO X0.3-11               Page   9

V06.0           RSX$RUNIMAGE - RUN RSX-11M IMAGE                                                                                 (6)



                                     02F1   319 ;

       00F4 CA            66     D0  02F1   320 100$:	MOVL	ADR_LOWLIM(R6),I_HIGHSIZE(R10)

                                     02F6   321 ;

                                     02F6   322 ; LOAD COMMON BLOCKS AND LIBRARIES

                                     02F6   323 ;

                                     02F6   324 LOAD_LIBRARIES:

            5E   00000200 8F     C2  02F6   325 	SUBL	#512,SP			; ALLOCATE SPACE FOR POSSIBLE READ BUFFER

                          68     D5  02FD   326 10$:	TSTL	R$LNAM(R8)		; DONE WITH LIBRARY LOADS?

                          0B     13  02FF   327 	BEQL	20$			; IF NEQ THEN NO

                          02CF   30  0301   328 	BSBW	MAP_LIBRARY		; MAP THE LIBRARY

            56            08     C0  0304   329 	ADDL	#ADR_SIZE,R6		; ADDRESS NEXT ADDRESS WINDOW

            58            1C     C0  0307   330 	ADDL	#R$LDAT+6,R8		; ADDRESS NEXT LIB DESC

                          F1     11  030A   331 	BRB	10$			; CONTINUE

            5E   00000200 8F     C0  030C   332 20$:	ADDL	#512,SP			; DEALLOCATE THE BUFFER

RSXSTART        - RSX INITIALIZATION, LOAD AND GO ROUTINE        22-AUG-1978 05:11:46   VAX-11 MACRO X0.3-11               Page  10

V06.0           RSX$RUNIMAGE - RUN RSX-11M IMAGE                                                                                 (7)



                                     0313   334 ;

                                     0313   335 ; GET PROCESS INFORMATION

                                     0313   336 ;

                                     0313   337 GET_PROC_INFO:				;

         28 AA   031C0010 8F     D0  0313   338 	MOVL	#16+<JPI$_PRCNAM@16>,I_SCRATCH(R10); GET PROCESS NAME

         2C AA       014D CA     9E  031B   339 	MOVAB	I_PROCNAME+1(R10),I_SCRATCH+4(R10); 

         30 AA         28 AA     9E  0321   340 	MOVAB	I_SCRATCH(R10),I_SCRATCH+8(R10); 

         34 AA   03070002 8F     D0  0326   341 	MOVL	#2+<JPI$_MEM@16>,I_SCRATCH+12(R10); GET UIC

         38 AA       013C CA     9E  032E   342 	MOVAB	I_UIC(R10),I_SCRATCH+16(R10);

                       3C AA     D4  0334   343 	CLRL	I_SCRATCH+20(R10)	; SET NO SIZE RETURN

         40 AA   03080002 8F     D0  0337   344 	MOVL	#2+<JPI$_GRP@16>,I_SCRATCH+24(R10); 

         44 AA       013E CA     9E  033F   345 	MOVAB	I_UIC+2(R10),I_SCRATCH+28(R10); INSERT ADDRESS

                       48 AA     D4  0345   346 	CLRL	I_SCRATCH+32(R10)	; NO RETURN 

         4C AA   03090004 8F     D0  0348   347 	MOVL	#4+<JPI$_PRIB@16>,I_SCRATCH+36(R10); GET PRIORITY

         50 AA         50 AA     9E  0350   348 	MOVAB	I_SCRATCH+40(R10),I_SCRATCH+40(R10);

                       54 AA     7C  0355   349 	CLRQ	I_SCRATCH+44(R10)	; NO RETURN AND END LIST

                                     0358   350 	$GETJPI_S	ITMLST=I_SCRATCH(R10)

         30 AB         50 AA     B0  036C   351 	MOVW	I_SCRATCH+40(R10),H.SPRI(R11); SAVE PRIORITY

         0A AB       013C CA     90  0371   352 	MOVB	I_UIC(R10),H.DUIC(R11)	; INSERT UIC

         0B AB       013E CA     90  0377   353 	MOVB	I_UIC+2(R10),H.DUIC+1(R11);

         08 AB         0A AB     B0  037D   354 	MOVW	H.DUIC(R11),H.CUIC(R11)	; COPY UIC

                                     0382   355 ;

                                     0382   356 ; SETUP PROPER NAME - EITHER PROCESSNAME OR LABEL NAME

                                     0382   357 ;

       016C CA            3F     3C  0382   358 	MOVZWL	#63,I_HIGHEFN(R10)	; SET KNOWN HIGHEST EFN

            57       0140 CA     9E  0387   359 	MOVAB	I_ASCIINAME(R10),R7	; ADDRESS TARGET OF FINAL NAME

       014C CA         28 AA     90  038C   360 	MOVB	I_SCRATCH(R10),I_PROCNAME(R10); GET SIZE OF PROCESS NAME

            87         28 AA     90  0392   361 	MOVB	I_SCRATCH(R10),(R7)+	; ASSUME LESS THAN 6 CHARACTERS

       014D CA         28 AA     2C  0396   362 	MOVC5	I_SCRATCH(R10),I_PROCNAME+1(R10),#0,#6,(R7); SAVE IT

            06            00         039C       

                          67         039E       

                          04     15  039F   363 	BLEQ	55$			; IF LEQ THEN CORRECT SIZE

         FF A7            06     90  03A1   364 	MOVB	#6,-1(R7)		; SET MAX SIZE

         2C AA            57     D0  03A5   365 55$:	MOVL	R7,I_SCRATCH+4(R10)	;

                                     03A9   366 ;

                                     03A9   367 ; SEE IF THIS IMAGE IS A NON-MULTI USER IMAGE

                                     03A9   368 ;

            54            69     9E  03A9   369 	MOVAB	L$BTSK(R9),R4		; GET LABEL NAME

                          64     B5  03AC   370 	TSTW	(R4)			; NAME PRESENT IN LABEL

                          07     13  03AE   371 	BEQL	60$			; MULTI-USER IF EQL

            64       B37C 8F     B1  03B0   372 	CMPW	#^O0131574,(R4)		; ...XXX?

                          03     12  03B5   373 	BNEQ	70$			; IF NEQ THEN SINGLE USER

                          00A6   31  03B7   374 60$:	BRW	100$			; CONTINUE

                                     03BA   375 ;

                                     03BA   376 ; CONVERT LABEL NAME TO ASCII

                                     03BA   377 ;

                          57     DD  03BA   378 70$:	PUSHL	R7			; SAVE TARGET ADDRESS

                          FC41'  30  03BC   379 	BSBW	RSX$R50CVT2		; CONVERT THE NAME

            57            8E     C3  03BF   380 	SUBL3	(SP)+,R7,I_SCRATCH(R10)	; CALC NAME SIZE

                       28 AA         03C2       

       0140 CA         28 AA     90  03C4   381 	MOVB	I_SCRATCH(R10),I_ASCIINAME(R10)

                                     03CA   382 	$SETPRN_S	I_SCRATCH(R10)	; DECLARE LOGICAL NAME

            65            50     E9  03D4   383 	BLBC	R0,90$			; BR IF ERROR

                                     03D7   384 ;

                                     03D7   385 ; CREATE RECEIVE DATA MAILBOX

                                     03D7   386 ;

            50         28 AA     9E  03D7   387 	MOVAB	I_SCRATCH(R10),R0	; ADDRESS SCRATCH AREA

RSXSTART        - RSX INITIALIZATION, LOAD AND GO ROUTINE        22-AUG-1978 05:11:46   VAX-11 MACRO X0.3-11               Page  11

V06.0           RSX$RUNIMAGE - RUN RSX-11M IMAGE                                                                                 (7)



            80            04     C0  03DB   388 	ADDL	#4,(R0)+		; ADJUST FOR "RCVD" PREFIX

            80         30 AA     9E  03DE   389 	MOVAB	I_SCRATCH+8(R10),(R0)+	; SET UP STRING DESC.

            80   44564352 8F     D0  03E2   390 	MOVL	#C_RCVDSTR,(R0)+	; INSERT PREFIX

            60       0141 CA     7D  03E9   391 	MOVQ	I_ASCIINAME+1(R10),(R0)	; INSERT NAME

                                     03EE   392 	$CREMBX_S	#0,-

                                     03EE   393 			I_RCVMAIL(R10),-

                                     03EE   394 			#30,-

                                     03EE   395 			#RSX$_RCVMBXSIZ,-

                                     03EE   396 			#^X0F00F,-

                                     03EE   397 			#0,-

                                     03EE   398 			I_SCRATCH(R10)

            2B            50     E9  040E   399 	BLBC	R0,90$			; BR IF ERROR

                                     0411   400 ;

                                     0411   401 ; ASSOCIATE THE COMMON EVENT FLAGS

                                     0411   402 ;

            50       0000'CF     9E  0411   403 	MOVAB	W^COMMONEFN,R0		;

         28 AA            80     9A  0416   404 	MOVZBL	(R0)+,I_SCRATCH(R10)	;

         2C AA            50     D0  041A   405 	MOVL	R0,I_SCRATCH+4(R10)

                                     041E   406 	$ASCEFC_S	#64,I_SCRATCH(R10)

       016C CA       005F 8F     3C  0432   407 	MOVZWL	#95,I_HIGHEFN(R10)	; INSERT NEW HIGH EFN

            24            50     E8  0439   408 	BLBS	R0,100$			; BR IF SUCCESS

                                     043C   409 ;

                                     043C   410 ; ERROR IN COMMON EFN, MAILBOX OR SETPRN SERVICE

                                     043C   411 ;

                                     043C   412 90$:					;

                          00     DD  043C   413 	PUSHL	#0			; OUTPUT MESSAGE

                 00068094 8F     DD  043E   414 	PUSHL	#RSX$_NOCOMM		;

                 000F0002 8F     DD  0444   415 	PUSHL	#2+<15@16>		;

                          7E     7C  044A   416 	CLRQ	-(SP)

                       08 AE     9F  044C   417 	PUSHAB	8(SP)			;

   00000000'9F            06     FB  044F   418 	CALLS	#3+3,@#SYS$PUTMSG	;

                                     0456   419 	$ABORT	#RSX$_LOADERROR		; AND ABORT THE IMAGE

                                     0460   420 ;

                                     0460   421 ; SET UP TASK NAME IN RAD50

                                     0460   422 ;

                                     0460   423 100$:	

            51       0141 CA     9E  0460   424 	MOVAB	I_ASCIINAME+1(R10),R1	; ADDRESS ASCII NAME

            54       0148 CA     9E  0465   425 	MOVAB	I_RAD50NAME(R10),R4	; ADDRESS TARGET

                          FB93'  30  046A   426 	BSBW	RSX$ASCR502		; CONVERT NAME

            50         3A AB     3C  046D   427 	MOVZWL	H.GARD(R11),R0		; ADDRESS GARD WORD

         FC A0       0148 CA     B0  0471   428 	MOVW	I_RAD50NAME(R10),-4(R0)	;

         FA A0       014A CA     B0  0477   429 	MOVW	I_RAD50NAME+2(R10),-6(R0);

                                     047D   430 ;

                                     047D   431 ; CLEAR ALL PRIVATE EFNS

                                     047D   432 ;

                       28 AA     7C  047D   433 	CLRQ	I_SCRATCH(R10)		; INSURE CLEAR EVENT FLAGS

                                     0480   434 	$READEF_S	#32,I_SCRATCH(R10)

                          52     D4  048C   435 	CLRL	R2

            1F            52     EA  048E   436 110$:	FFS	R2,#31,I_SCRATCH(R10),R2; FIND A SET EFN

            52         28 AA         0491       

                          11     13  0494   437 	BEQL	120$			; IF EQL THEN NONE FOUND

            52            20     C1  0496   438 	ADDL3	#32,R2,R3		; CLEAR IT

                          53         0499       

                          52     D6  049A   439 	INCL	R2			; START AT NEXT

                                     049C   440 	$CLREF_S	R3

                          E7     11  04A5   441 	BRB	110$

                                     04A7   442 120$:	

RSXSTART        - RSX INITIALIZATION, LOAD AND GO ROUTINE        22-AUG-1978 05:11:46   VAX-11 MACRO X0.3-11               Page  12

V06.0           RSX$RUNIMAGE - RUN RSX-11M IMAGE                                                                                 (8)



                                     04A7   444 ;

                                     04A7   445 ; ASSIGN TASK IMAGE PRE-ASSIGNED DEVICES

                                     04A7   446 ;

                                     04A7   447 ASSIGN_DEVS:				;

            51         3C AB     3C  04A7   448 	MOVZWL	H.NLUN(R11),R1		; GET NUMBER OF LUNS IN IMAGE

       0164 CA            51     B0  04AB   449 	MOVW	R1,I_NLUN(R10)		; SAVE NUMBER IN SAFE PLACE

                          03     12  04B0   450 	BNEQ	10$			; IF NEQ THEN OK

                          009D   31  04B2   451 	BRW	100$			; DONE

            51            04     C4  04B5   452 10$:	MULL	#4,R1			; CALC LUT BLOCK SIZE

            5E            51     C2  04B8   453 	SUBL	R1,SP			; ALLOCATE IT

       0168 CA            7E     DE  04BB   454 	MOVAL	-(SP),I_LUT(R10)	; SAVE ADDRESS

            6E            00     2C  04C0   455 	MOVC5	#0,(SP),#0,R1,4(SP)	; CLEAR AREA

            51            00         04C3       

                       04 AE         04C5       

            55       01FE C9     9E  04C7   456 	MOVAB	L$BASG-2(R9),R5		; ADDRESS LUT AREA AS IF DPB

            65            01     B0  04CC   457 	MOVW	#1,(R5)			; START WITH LUN 1

                       02 A5     B5  04CF   458 20$:	TSTW	2(R5)			; ANY NAME?

                          3A     13  04D2   459 	BEQL	30$			; IF EQL THEN NO

         26 AB            01     90  04D4   460 	MOVB	#1,H.DSW(R11)		; ASSUME SUCCESS

                     0220 8F     BB  04D8   461 	PUSHR	#^M<R5,R9>		; SAVE DPB ADDRESS AND LABEL ADDR

                          FB21'  30  04DC   462 	BSBW	RSX$ALUN		;

                     0220 8F     BA  04DF   463 	POPR	#^M<R5,R9>

                       26 AB     95  04E3   464 	TSTB	H.DSW(R11)		; ERROR?

                          26     14  04E6   465 	BGTR	30$			; IF GTR THEN NO

            7E            65     3C  04E8   466 	MOVZWL	(R5),-(SP)		; OUTPUT ERROR MESSAGE

            7E         04 A5     3C  04EB   467 	MOVZWL	4(R5),-(SP)		;

                       02 A5     9F  04EF   468 	PUSHAB	2(R5)			;

                          02     DD  04F2   469 	PUSHL	#2			;

                          04     DD  04F4   470 	PUSHL	#4			;

                 00068322 8F     DD  04F6   471 	PUSHL	#RSX$_NOSUCHDEV		;

                 000F0005 8F     DD  04FC   472 	PUSHL	#5+<15@16>		;

                          7E     7C  0502   473 	CLRQ	-(SP)			;

                       08 AE     9F  0504   474 	PUSHAB	8(SP)			;

   00000000'9F            09     FB  0507   475 	CALLS	#3+6,@#SYS$PUTMSG	;

                          85     D6  050E   476 30$:	INCL	(R5)+			; ADJUST LUN NUMBER

            65         FC A5     B0  0510   477 	MOVW	-4(R5),(R5)		; INSERT AS NEW NUMBER

       0164 CA            65     B1  0514   478 	CMPW	(R5),I_NLUN(R10)	; DONE?

                          B4     1B  0519   479 	BLEQU	20$			; IF NEQ THEN NO

                                     051B   480 ;

                                     051B   481 ; TAKE CARE OF ACTUAL OVERLAY LUN

                                     051B   482 ;

            50         2C AB     3C  051B   483 	MOVZWL	H.OVLY(R11),R0		; ADDRESS OVERLAY IMPURE VECTOR

                          31     13  051F   484 	BEQL	100$			; IF EQL THEN NONE

            57            60     9A  0521   485 	MOVZBL	(R0),R7			; GET THE LUN NUMBER

                          2C     13  0524   486 	BEQL	100$			;

            58       0000'CF     9E  0526   487 	MOVAB	W^RSX$A_OVDEV,R8	; ADDRESS OVERLAY ENTRY

            52       0168 DA47   D0  052B   488 	MOVL	@I_LUT(R10)[R7],R2	; GET THE OVERLAY LUT ENTRY

                          1F     13  0531   489 	BEQL	100$			; IF EQL THEN NONE

            52            58     D1  0533   490 	CMPL	R8,R2			; SAME AS REAL?

                          1A     13  0536   491 	BEQL	100$			; IF EQL THEN LEAVE ALONE

                                     0538   492 	$DASSGN_S	LUT_CHAN(R2)	; DEASSIGN CHANNEL

            50            62     0F  0543   493 	REMQUE	(R2),R0			; REMOVE IT FROM CURRENT LIST

            51            36     9A  0546   494 	MOVZBL	#LUT_SIZE,R1		; DEALLOCATE THE ENTRY

                          FAB4'  30  0549   495 	BSBW	RSX$DEALLOCATE		; DEALLOCATE IT

       0168 DA47          58     D0  054C   496 	MOVL	R8,@I_LUT(R10)[R7]	; ASSIGN TO REAL OVERLAY LUT

                                     0552   497 ;

                                     0552   498 ; ASSIGNMENTS COMPLETED

RSXSTART        - RSX INITIALIZATION, LOAD AND GO ROUTINE        22-AUG-1978 05:11:46   VAX-11 MACRO X0.3-11               Page  13

V06.0           RSX$RUNIMAGE - RUN RSX-11M IMAGE                                                                                 (8)



                                     0552   499 ;

            50            59     D0  0552   500 100$:	MOVL	R9,R0			; DEALLOCATE LABEL BLOCK STORAGE

            51       0600 8F     3C  0555   501 	MOVZWL	#<3*512>,R1		;

                          FAA3'  30  055A   502 	BSBW	RSX$DEALLOCATE		;

RSXSTART        - RSX INITIALIZATION, LOAD AND GO ROUTINE        22-AUG-1978 05:11:46   VAX-11 MACRO X0.3-11               Page  14

V06.0           RSX$RUNIMAGE - RUN RSX-11M IMAGE                                                                                 (9)



                                     055D   504 ;

                                     055D   505 ; SET UP FOR COMPATIBILITY MODE EXCEPTIONS

                                     055D   506 ;

       0190 CA         12 AB     B0  055D   507 	MOVW	H.ODVA(R11),I_DEBVEC(R10); SAVE VECTORS

       0192 CA         14 AB     B0  0563   508 	MOVW	H.ODVL(R11),I_DEBVECL(R10);

       0194 CA         16 AB     B0  0569   509 	MOVW	H.TKVA(R11),I_SSTVEC(R10);

       0196 CA         18 AB     B0  056F   510 	MOVW	H.TKVL(R11),I_SSTVECL(R10);

            6D       0000'CF     9E  0575   511 	MOVAB	W^RSX$EXCEPTION,(FP)	; REPLACE FRAME HANDLER

                                     057A   512 	$DCLCMH_S	RSX$CMTRAP,,#1

       0000'CF       0000'CF     9E  058B   513 	MOVAB	W^RSX$FORCEEXIT,W^RSX$A_EXITBLOCK

                                     0592   514 	$DCLEXH_S	W^RSX$A_EXITBLOCK

                                     059D   515 ;

                                     059D   516 ; SET UP 11M REGISTERS FOR ENTRY

                                     059D   517 ;

            57         3A AB     3C  059D   518 	MOVZWL	H.GARD(R11),R7		; ADDRESS CONTEXT AREA

            50            77     3C  05A1   519 	MOVZWL	-(R7),R0		; LOAD REGISTERS

            51            77     3C  05A4   520 	MOVZWL	-(R7),R1		;

            52            77     3C  05A7   521 	MOVZWL	-(R7),R2		;

            53            77     3C  05AA   522 	MOVZWL	-(R7),R3		;

            54            77     3C  05AD   523 	MOVZWL	-(R7),R4		;

            55            77     3C  05B0   524 	MOVZWL	-(R7),R5		;

            56         10 AB     3C  05B3   525 	MOVZWL	H.ISP(R11),R6		; SET UP STACK

            05            00     EF  05B7   526 	EXTZV	#0,#5,H.IPS(R11),-(SP)	; SET UP CONDITION CODES

            7E         0C AB         05BA       

            6E   83C00000 8F     C8  05BD   527 	BISL	#C_CANONPS,(SP)		;

            7E         0E AB     3C  05C4   528 	MOVZWL	H.IPC(R11),-(SP)	;

                                 02  05C8   529 	REI				; ENTER IMAGE

RSXSTART        - RSX INITIALIZATION, LOAD AND GO ROUTINE        22-AUG-1978 05:11:46   VAX-11 MACRO X0.3-11               Page  15

V06.0           MAP_LIBRARY - MAP RESIDENT LIBRARY                                                                              (10)



                                     05C9   531 	.SBTTL MAP_LIBRARY - MAP RESIDENT LIBRARY

                                     05C9   532  

                                     05C9   533 	.ENABL	LSB

                                     05C9   534 ;++

                                     05C9   535 ; MAP_LIBRARY - MAP A RESIDENT LIBRARY

                                     05C9   536 ;

                                     05C9   537 ; FUNCTIONAL DESCRIPTION:

                                     05C9   538 ;

                                     05C9   539 ; THIS ROUTINE PROCESSES A IMAGE LABEL BLOCK LIBRARY REQUEST.

                                     05C9   540 ; THE LIBRARY IS MAPPED AND IF THE MAP FAILS THEN A CREATE OF A PROCESS

                                     05C9   541 ; SECTION IS DONE.

                                     05C9   542 ;

                                     05C9   543 ; INPUTS:

                                     05C9   544 ;

                                     05C9   545 ;	R6 = ADDRESS OF THE ADDRESS WINDOW TO USE

                                     05C9   546 ;	R8 = ADDRESS OF THE LIBRARY DESC

                                     05C9   547 ;	R9 = ADDRESS OF THE IMAGE LABEL

                                     05C9   548 ;	R10 = ADDRESS OF THE IMAGE IMPURE AREA

                                     05C9   549 ;	R11 = ADDRESS OF THE IMAGE

                                     05C9   550 ;

                                     05C9   551 ; OUTPUTS:

                                     05C9   552 ;

                                     05C9   553 ;	R6,R8,R9,R10,R11 ARE PRESERVED

                                     05C9   554 ;

                                     05C9   555 ;--

                                     05C9   556 10$:	$ABORT	#RSX$_NOTSKIMG

                                     05D3   557 MAP_LIBRARY:				; MAP LIBRARY REFERENCE

                       0E A8     B5  05D3   558 	TSTW	R$LOFF(R8)		; PARTITION OFFSET 0?

                          F1     12  05D6   559 	BNEQ	10$			; IF NEQ THEN ERROR

            66         04 A8     3C  05D8   560 	MOVZWL	R$LSA(R8),ADR_LOWLIM(R6); SET UP LIBRARY LIMITS

         04 A6         08 A8     3C  05DC   561 	MOVZWL	R$LMXV(R8),ADR_HIGHLIM(R6);

         44 AA         0A A8     3C  05E1   562 	MOVZWL	R$LLDZ(R8),I_SCRATCH+28(R10); CALC PAGE NUMBERS

         44 AA            07     C0  05E6   563 	ADDL	#7,I_SCRATCH+28(R10)	;

         44 AA            08     C6  05EA   564 	DIVL	#8,I_SCRATCH+28(R10)	;

            54            58     D0  05EE   565 	MOVL	R8,R4			; ADDRESS REQUEST NAME IN RAD50

            57         30 AA     9E  05F1   566 	MOVAB	I_SCRATCH+8(R10),R7	; ADDRESS NAME TARGET

            52            57     D0  05F5   567 	MOVL	R7,R2			; COPY ADDRESS

                          FA05'  30  05F8   568 	BSBW	RSX$R50CVT2		; CONVERT NAME TO ASCII

            87   3130305F 8F     D0  05FB   569 	MOVL	#^A/_001/,(R7)+		; INSERT SUFFIX

            57            52     C2  0602   570 	SUBL	R2,R7			; CALC SIZE

            57            2E     3B  0605   571 	SKPC	#^A/./,R7,I_SCRATCH+8(R10); PASS LEADING .'S

                       30 AA         0608       

         28 AA            50     7D  060A   572 	MOVQ	R0,I_SCRATCH(R10)	; SET UP DESC

         48 AA       8001 8F     3C  060E   573 	MOVZWL	#SEC$M_GBL!SEC$M_SYSGBL,I_SCRATCH+32(R10); START WITH GLOBAL SECTION

         14 A8       8000 8F     B3  0614   574 	BITW	#LD$ACC,R$LFLG(R8)	; READ ONLY?

                          04     13  061A   575 	BEQL	15$			; IF EQL THEN READ ONLY

         48 AA            08     A8  061C   576 	BISW	#SEC$M_WRT,I_SCRATCH+32(R10); SET READ WRITE REQUEST

                                     0620   577 15$:	$MGBLSC_S	INADR=ADR_LOWLIM(R6),-

                                     0620   578 			FLAGS=I_SCRATCH+32(R10),-

                                     0620   579 			GSDNAM=I_SCRATCH(R10)

            03            50     E9  0637   580 	BLBC	R0,20$			; IF LOW CLEAR THEN ERROR

                          0113   31  063A   581 	BRW	90$			; CONTINUE

                                     063D   582 ;

                                     063D   583 ; CREATE A PROCESS SECTION

                                     063D   584 ;

                                     063D   585 ; ALLOCATE THE FAB AND BUFFER 

                                     063D   586 ;

RSXSTART        - RSX INITIALIZATION, LOAD AND GO ROUTINE        22-AUG-1978 05:11:46   VAX-11 MACRO X0.3-11               Page  16

V06.0           MAP_LIBRARY - MAP RESIDENT LIBRARY                                                                              (10)



            57       0000'CF     9E  063D   587 20$:	MOVAB	W^RSX$G_FAB,R7		; ADDRESS GENERAL FAB

            67            00     2C  0642   588 	MOVC5	#0,(R7),#0,#FAB$C_BLN,(R7); ZERO IT

       0050 8F            00         0645       

                          67         0649       

         01 A7         50 8F     90  064A   589 	MOVB	#FAB$C_BLN,FAB$B_BLN(R7); SET UP FAB

            67            03     90  064F   590 	MOVB	#FAB$C_BID,FAB$B_BID(R7);

         35 A7       0000'CF     90  0652   591 	MOVB	W^RSX$T_LIBDEF,FAB$B_DNS(R7); INSERT SIZE OF DEFUALT NAME

         30 A7       0001'CF     9E  0658   592 	MOVAB	W^RSX$T_LIBDEF+1,FAB$L_DNA(R7)	; INSERT ADDRESS

         28 AA            04     83  065E   593 	SUBB3	#4,I_SCRATCH(R10),FAB$B_FNS(R7); INSERT SIZE LESS "_001"

                       34 A7         0662       

         2C A7         30 AA     9E  0664   594 	MOVAB	I_SCRATCH+8(R10),FAB$L_FNA(R7); INSERT ADDRESS

         16 A7            02     90  0669   595 	MOVB	#FAB$M_GET,FAB$B_FAC(R7);

         48 AA            03     E1  066D   596 	BBC	#SEC$V_WRT,I_SCRATCH+32(R10),35$; WRITE REQUEST?

                          04         0671       

         16 A7            01     88  0672   597 	BISB	#FAB$M_PUT,FAB$B_FAC(R7);

         04 A7   40020000 8F     D0  0676   598 35$:	MOVL	#FAB$M_UFO!FAB$M_KFO,FAB$L_FOP(R7); USER AND KNOWN FILE OPEN

                                     067E   599 	$OPEN	FAB=R7			; OPEN LIBRARY FILE

            28            50     E8  0687   600 	BLBS	R0,40$			; IF IF SUCCESS

            7E         28 AA     7D  068A   601 	MOVQ	I_SCRATCH(R10),-(SP)	; SIGNAL ERROR

                          02     DD  068E   602 	PUSHL	#2

                 00068074 8F     DD  0690   603 	PUSHL	#RSX$_LIBNOTFND		;

                 000F0004 8F     DD  0696   604 	PUSHL	#4+<15@16>

                          7E     7C  069C   605 	CLRQ	-(SP)

                       08 AE     9F  069E   606 	PUSHAB	8(SP)	

   00000000'9F            08     FB  06A1   607 	CALLS	#3+5,@#SYS$PUTMSG	; OUTPUT MESSAGE

                                     06A8   608 	$ABORT	#RSX$_LOADERROR		;

                                     06B2   609 ;

                                     06B2   610 ; READ THE FILE

                                     06B2   611 ;

            55         04 AE     9E  06B2   612 40$:	MOVAB	4(SP),R5		; ADDRESS ALLOCATED BUFFER

                                     06B6   613 	$QIOW_S	EFN=#0,-

                                     06B6   614 		CHAN=FAB$L_STV(R7),-

                                     06B6   615 		FUNC=#IO$_READVBLK,-

                                     06B6   616 		IOSB=I_SCRATCH+40(R10),-

                                     06B6   617 		P1=(R5),-

                                     06B6   618 		P2=#512,-

                                     06B6   619 		P3=#1

            7F            50     E9  06DB   620 	BLBC	R0,100$			; BR IF ERROR

            7B         50 AA     E9  06DE   621 	BLBC	I_SCRATCH+40(R10),100$	; BR IF IOSB ERROR

         18 A5       4000 8F     B3  06E2   622 	BITW	#TS$NHD,L$BFLG(R5)	; NO HEADER?

                          73     13  06E8   623 	BEQL	100$			; IF EQL THEN ERROR

                                 B3  06EA   624 	BITW	#TS$ACP!TS$PMD!TS$SLV!TS$NSD!TS$NET!TS$PRV!TS$RES,-

         18 A5       3F20 8F         06EB   625 		L$BFLG(R5)		; ANYTHING ILLEGAL?

                          6B     12  06F0   626 	BNEQ	100$			; IF NEQ THEN YES

         14 A8            04     93  06F2   627 	BITB	#LD$REL,R$LFLG(R8)	; REQUEST FOR A PIC LIB?

                          0A     13  06F6   628 	BEQL	60$			; IF EQL THEN NO

         18 A5       8000 8F     B3  06F8   629 	BITW	#TS$PIC,L$BFLG(R5)	; LIBRARY PIC?

                          5D     13  06FE   630 	BEQL	100$			; IF EQL THEN ERROR

                          07     11  0700   631 	BRB	70$

         04 A8         08 A5     B1  0702   632 60$:	CMPW	L$BSA(R5),R$LSA(R8)	; REQUEST AND ACTUAL BASE ADDRESS MATCH?

                          54     12  0707   633 	BNEQ	100$			; IF NEQ THEN ERROR

         0C A8         10 A5     B1  0709   634 70$:	CMPW	L$BMXZ(R5),R$LMXZ(R8)	; REQUEST AND ACTUAL LENGTH THE SAME?

                          4D     12  070E   635 	BNEQ	100$			; IF NEQ THEN ERROR

            53       00EE C5     3C  0710   636 	MOVZWL	L$BHRB(R5),R3		; GET RELITIVE BLOCK

                          53     D6  0715   637 	INCL	R3			; ADJUST FOR VIRTUAL COUNT

         48 AA            01     AA  0717   638 	BICW	#SEC$M_GBL,I_SCRATCH+32(R10)

                                     071B   639 	$CRMPSC_S -

RSXSTART        - RSX INITIALIZATION, LOAD AND GO ROUTINE        22-AUG-1978 05:11:46   VAX-11 MACRO X0.3-11               Page  17

V06.0           MAP_LIBRARY - MAP RESIDENT LIBRARY                                                                              (10)



                                     071B   640 			INADR=ADR_LOWLIM(R6),-

                                     071B   641 			FLAGS=I_SCRATCH+32(R10),-

                                     071B   642 			CHAN=FAB$L_STV(R7),-

                                     071B   643 			PAGCNT=I_SCRATCH+28(R10),-

                                     071B   644 			VBN=R3,-

                                     071B   645 			PROT=#^X0FF0F

            18            50     E9  0742   646 	BLBC	R0,100$			; IF LOW CLEAR THEN ERROR

                                     0745   647 	$DASSGN_S	FAB$L_STV(R7)	; DEASSIGN CHANNEL TO RELEASE FILE

       00F4 CA            66     D1  0750   648 90$:	CMPL	ADR_LOWLIM(R6),I_HIGHSIZE(R10); SET UP HIGH ADDRESS OF ADR0

                          05     1A  0755   649 	BGTRU	95$			; 

       00F4 CA            66     D0  0757   650 	MOVL	(R6),I_HIGHSIZE(R10)

                                 05  075C   651 95$:	RSB				; PROCESS NEXT ENTRY

                                     075D   652 ;

                                     075D   653 ; ILLEGAL LIBRARY REFERENCE

                                     075D   654 ;

            7E         28 AA     7D  075D   655 100$:	MOVQ	I_SCRATCH(R10),-(SP)	;

                          02     DD  0761   656 	PUSHL	#2

                 0006806C 8F     DD  0763   657 	PUSHL	#RSX$_BADLIBREF		;

                 000F0004 8F     DD  0769   658 	PUSHL	#4+<15@16>

                          7E     7C  076F   659 	CLRQ	-(SP)

                       08 AE     9F  0771   660 	PUSHAB	8(SP)	

   00000000'9F            08     FB  0774   661 	CALLS	#3+5,@#SYS$PUTMSG	; OUTPUT MESSAGE

                                     077B   662 	$ABORT	#RSX$_LOADERROR		;

                                     0785   663  

                                     0785   664 	.DSABL	LSB

                                     0785   665 	.END

RSXSTART        - RSX INITIALIZATION, LOAD AND GO ROUTINE        22-AUG-1978 05:11:46   VAX-11 MACRO X0.3-11               Page  18

SYMBOL TABLE                                                                                                                    (10)



$$.TMP1        = 00000001            FAB$C_VAR      = 00000002            FAB$M_SUP      = 00000004            

$$.TMP2        = 00000057            FAB$C_VFC      = 00000003            FAB$M_TEF      = 10000000            

$$MSG          = 00000000            FAB$K_BLN        00000050            FAB$M_TMD      = 00000010            

$$T1           = 00000000            FAB$L_ALQ        00000010            FAB$M_TMP      = 00000008            

...GBL         = 00000000            FAB$L_CTX        00000018            FAB$M_TRN      = 00000010            

ACBC_CTLRCAST  = 00000002            FAB$L_DEV        00000040            FAB$M_UFM      = 04000000            

ACBC_FLOATAST  = 00000003            FAB$L_DNA        00000030            FAB$M_UFO      = 00020000            

ACBC_PWRAST    = 00000000            FAB$L_FNA        0000002C            FAB$M_UPD      = 00000008            

ACBC_RCVAST    = 00000001            FAB$L_FOP        00000004            FAB$M_UPI      = 00000040            

ACBV_INPROG    = 00000001            FAB$L_JNL        00000020            FAB$M_WCK      = 00000200            

ACBV_PERM      = 00000000            FAB$L_MRN        00000038            FAB$S_ORG      = 00000004            

ACBV_TYPE      = 00000008            FAB$L_NAM        00000028            FAB$S_PPF_RAT  = 00000008            

ACB_FLAGS        0000000C            FAB$L_SDC        00000044            FAB$V_BIO      = 00000005            

ACB_LINK         00000000            FAB$L_STS        00000008            FAB$V_BLK      = 00000003            

ACB_UPC          0000000A            FAB$L_STV        0000000C            FAB$V_BRO      = 00000006            

ACB_UPRM         00000008            FAB$L_XAB        00000024            FAB$V_CBT      = 00000015            

ADR_HIGHLIM      00000004            FAB$M_BIO      = 00000020            FAB$V_CIF      = 00000019            

ADR_LOWLIM       00000000            FAB$M_BLK      = 00000008            FAB$V_CR       = 00000001            

ADR_SIZE         00000008            FAB$M_BRO      = 00000040            FAB$V_CTG      = 00000014            

ALUN_LUN         0000001C R     05   FAB$M_CBT      = 00200000            FAB$V_DEL      = 00000002            

AP_NAME          00000004            FAB$M_CIF      = 02000000            FAB$V_DFW      = 00000005            

ASSIGN_DEVS      000004A7 R     06   FAB$M_CR       = 00000002            FAB$V_DLT      = 0000000F            

AST_PARAM        00000004            FAB$M_CTG      = 00100000            FAB$V_DMO      = 0000000C            

AST_PC           00000010            FAB$M_DEL      = 00000004            FAB$V_ESC      = 0000001B            

AST_PSL          00000014            FAB$M_DFW      = 00000020            FAB$V_EXE      = 00000007            

AST_R0           00000008            FAB$M_DLT      = 00008000            FAB$V_FTN      = 00000000            

AST_R1           0000000C            FAB$M_DMO      = 00001000            FAB$V_GET      = 00000001            

BINARY_HEX_TAB   0000000A R     05   FAB$M_ESC      = 08000000            FAB$V_INP      = 00000013            

BIT...         = 00000003            FAB$M_EXE      = 00000080            FAB$V_JNL      = 00000016            

CMDFLG         = 0000000C            FAB$M_FTN      = 00000001            FAB$V_KFO      = 0000001E            

CMDROUT        = 00000008            FAB$M_GET      = 00000002            FAB$V_MSE      = 00000004            

COMMONEFN        00000000 R     05   FAB$M_INP      = 00080000            FAB$V_MXV      = 00000001            

CTL$AL_CMCNTX    ********   X   06   FAB$M_JNL      = 00400000            FAB$V_NAM      = 00000018            

C_CANONPS      = 83C00000            FAB$M_KFO      = 40000000            FAB$V_NEF      = 0000000A            

C_RCVDSTR      = 44564352            FAB$M_MSE      = 00000010            FAB$V_NFS      = 00000010            

FAB$B_BID        00000000            FAB$M_MXV      = 00000002            FAB$V_NIL      = 00000005            

FAB$B_BKS        0000003E            FAB$M_NAM      = 01000000            FAB$V_OFP      = 0000001D            

FAB$B_BLN        00000001            FAB$M_NEF      = 00000400            FAB$V_ORG      = 00000004            

FAB$B_DNS        00000035            FAB$M_NFS      = 00010000            FAB$V_POS      = 00000008            

FAB$B_FAC        00000016            FAB$M_NIL      = 00000020            FAB$V_PPF      = 00000012            

FAB$B_FNS        00000034            FAB$M_OFP      = 20000000            FAB$V_PPF_IND  = 0000000E            

FAB$B_FSZ        0000003F            FAB$M_POS      = 00000100            FAB$V_PPF_RAT  = 00000006            

FAB$B_ORG        0000001D            FAB$M_PPF      = 00040000            FAB$V_PRN      = 00000002            

FAB$B_RAT        0000001E            FAB$M_PPF_IND  = 00004000            FAB$V_PUT      = 00000000            

FAB$B_RFM        0000001F            FAB$M_PPF_RAT  = 00003FC0            FAB$V_RCK      = 00000017            

FAB$B_RTV        0000001C            FAB$M_PRN      = 00000004            FAB$V_RWC      = 0000000B            

FAB$B_SHR        00000017            FAB$M_PUT      = 00000001            FAB$V_RWO      = 00000007            

FAB$C_BID      = 00000003            FAB$M_RCK      = 00800000            FAB$V_SCF      = 0000000E            

FAB$C_BLN        00000050            FAB$M_RWC      = 00000800            FAB$V_SHRDEL   = 00000002            

FAB$C_FIX      = 00000001            FAB$M_RWO      = 00000080            FAB$V_SHRGET   = 00000001            

FAB$C_HSH      = 00000030            FAB$M_SCF      = 00004000            FAB$V_SHRPUT   = 00000000            

FAB$C_IDX      = 00000020            FAB$M_SHRDEL   = 00000004            FAB$V_SHRUPD   = 00000003            

FAB$C_MAXRFM   = 00000003            FAB$M_SHRGET   = 00000002            FAB$V_SPL      = 0000000D            

FAB$C_REL      = 00000010            FAB$M_SHRPUT   = 00000001            FAB$V_SQO      = 00000006            

FAB$C_RFM_DFLT = 00000002            FAB$M_SHRUPD   = 00000008            FAB$V_SUP      = 00000002            

FAB$C_SEQ      = 00000000            FAB$M_SPL      = 00002000            FAB$V_TEF      = 0000001C            

FAB$C_UDF      = 00000000            FAB$M_SQO      = 00000040            FAB$V_TMD      = 00000004            

RSXSTART        - RSX INITIALIZATION, LOAD AND GO ROUTINE        22-AUG-1978 05:11:46   VAX-11 MACRO X0.3-11               Page  19

SYMBOL TABLE                                                                                                                    (10)



FAB$V_TMP      = 00000003            IE.2DV         = FFFFFFD0            IE.NSF         = FFFFFFE6            

FAB$V_TRN      = 00000004            IE.ABO         = FFFFFFF1            IE.NST         = FFFFFFB0            

FAB$V_UFM      = 0000001A            IE.ALC         = FFFFFFAC            IE.OFL         = FFFFFFBF            

FAB$V_UFO      = 00000011            IE.ALN         = FFFFFFDE            IE.ONP         = FFFFFFFB            

FAB$V_UPD      = 00000003            IE.AST         = FFFFFFB0            IE.OVR         = FFFFFFEE            

FAB$V_UPI      = 00000006            IE.BAD         = FFFFFFFF            IE.PES         = FFFFFFAD            

FAB$V_WCK      = 00000009            IE.BBE         = FFFFFFC8            IE.PRI         = FFFFFFF0            

FAB$W_BLS        0000003C            IE.BCC         = FFFFFFBE            IE.RAC         = FFFFFFD4            

FAB$W_DEQ        00000014            IE.BDI         = FFFFFFCC            IE.RAT         = FFFFFFD3            

FAB$W_IFI        00000002            IE.BDR         = FFFFFFCE            IE.RBG         = FFFFFFD8            

FAB$W_MRS        00000036            IE.BDV         = FFFFFFC9            IE.RCN         = FFFFFFD2            

FCB_ATTRIBS      0000007C            IE.BHD         = FFFFFFC0            IE.RER         = FFFFFFE0            

FCB_FIB          0000004C            IE.BLB         = FFFFFFBA            IE.RNM         = FFFFFFCD            

FCB_FID          00000000            IE.BLK         = FFFFFFEC            IE.RSU         = FFFFFFEF            

FCB_FNAME        00000014            IE.BNM         = FFFFFFCA            IE.SNC         = FFFFFFDD            

FCB_FNAMEDESC    0000000C            IE.BTF         = FFFFFFB4            IE.SPC         = FFFFFFFA            

FCB_FNB          00000002            IE.BTP         = FFFFFFD5            IE.SQC         = FFFFFFDC            

FCB_PC           00000078            IE.BVR         = FFFFFFC1            IE.SRE         = FFFFFFF2            

FCB_RESULT       00000030            IE.BYT         = FFFFFFED            IE.STK         = FFFFFFC6            

FCB_RESULTDESC   00000004            IE.CKS         = FFFFFFE2            IE.TMM         = FFFFFFB9            

FCB_SIZE         000000B4            IE.CLO         = FFFFFFDA            IE.TMO         = FFFFFFB6            

FP_AP            00000008            IE.CNR         = FFFFFFB7            IE.ULK         = FFFFFFAB            

FP_FP            0000000C            IE.CON         = FFFFFFEA            IE.VER         = FFFFFFFC            

FP_PC            00000010            IE.DAA         = FFFFFFF8            IE.WAC         = FFFFFFE3            

FP_PSL           00000004            IE.DAO         = FFFFFFF3            IE.WAT         = FFFFFFE1            

FP_REGISTERS     00000014            IE.DFU         = FFFFFFE8            IE.WCK         = FFFFFFAA            

GBL...         = 00000000            IE.DNA         = FFFFFFF9            IE.WER         = FFFFFFDF            

GET_PROC_INFO    00000313 R     06   IE.DNR         = FFFFFFFD            IE.WLK         = FFFFFFF4            

H.CSP            00000000            IE.DUN         = FFFFFFF7            IMAGECHAN      = 00000004            

H.CUIC           00000008            IE.DUP         = FFFFFFC7            IO$_READVBLK     ********   X   06   

H.DSW            00000026            IE.EOF         = FFFFFFF6            IS.BV          = 00000005            

H.DUIC           0000000A            IE.EOT         = FFFFFFC2            IS.CC          = 00000301            

H.EFLM           00000004            IE.EOV         = FFFFFFF5            IS.CR          = 00000D01            

H.EFSV           00000020            IE.EXP         = FFFFFFB5            IS.EOT         = 00000401            

H.FCS            00000028            IE.FEX         = FFFFFFCF            IS.ESC         = 00001B01            

H.FORT           0000002A            IE.FHE         = FFFFFFC5            IS.ESQ         = 00009B01            

H.FPSA           00000022            IE.FLN         = FFFFFFAF            IS.PES         = 00008001            

H.FPVA           0000001C            IE.FOP         = FFFFFFCB            IS.PND         = 00000000            

H.GARD           0000003A            IE.HFU         = FFFFFFE4            IS.RDD         = 00000002            

H.HDLN           00000002            IE.IES         = FFFFFFAE            IS.SUC         = 00000001            

H.IPC            0000000E            IE.IFC         = FFFFFFFE            IS.TAB         = 00000901            

H.IPS            0000000C            IE.IFU         = FFFFFFE7            IS.TMO         = 00000002            

H.ISP            00000010            IE.ILL         = FFFFFFD6            ISD$B_PFC        00000007            

H.LUN            0000003E            IE.ISQ         = FFFFFFC3            ISD$B_TYPE       0000000B            

H.NLUN           0000003C            IE.LCK         = FFFFFFE5            ISD$C_LENDZRO    0000000C            

H.NML            00000031            IE.MOD         = FFFFFFEB            ISD$C_LENGLBL    00000024            

H.ODVA           00000012            IE.NBF         = FFFFFFD9            ISD$C_LENPRIV    00000010            

H.ODVL           00000014            IE.NBK         = FFFFFFD7            ISD$K_LENDZRO    0000000C            

H.OVLY           0000002C            IE.NDR         = FFFFFFB8            ISD$K_LENGLBL    00000024            

H.PFVA           0000001A            IE.NFI         = FFFFFFC4            ISD$K_LENPRIV    00000010            

H.RCVA           0000001E            IE.NFW         = FFFFFFBB            ISD$K_MATALL   = 00000000            

H.RRVA           00000032            IE.NLK         = FFFFFFB1            ISD$K_MATEQU   = 00000001            

H.SPRI           00000030            IE.NLN         = FFFFFFDB            ISD$K_MATLEQ   = 00000002            

H.TKVA           00000016            IE.NNC         = FFFFFFB3            ISD$K_MATNEV   = 00000003            

H.TKVL           00000018            IE.NNL         = FFFFFFB2            ISD$K_NORMAL   = 00000000            

H.VEXT           0000002E            IE.NNN         = FFFFFFBC            ISD$K_USRSTACK = 000000FD            

H.WND            00000024            IE.NOD         = FFFFFFE9            ISD$L_FLAGS      00000008            

RSXSTART        - RSX INITIALIZATION, LOAD AND GO ROUTINE        22-AUG-1978 05:11:46   VAX-11 MACRO X0.3-11               Page  20

SYMBOL TABLE                                                                                                                    (10)



ISD$L_IDENT      00000010            I_NLUN           00000164            JPI$_FREP1VA   = 00000405            

ISD$L_VBN        0000000C            I_PC             00000020            JPI$_GPGCNT    = 0000030C            

ISD$L_VPNPFC     00000004            I_PPFINDEX       00000162            JPI$_GRP       = 00000308            

ISD$M_CRF      = 00000002            I_PROCNAME       0000014C            JPI$_LASTADR   = 00000102            

ISD$M_DZRO     = 00000004            I_PS             00000024            JPI$_LASTCTL   = 00000207            

ISD$M_GBL      = 00000001            I_PWRAST         000001A0            JPI$_LASTPCB   = 0000031D            

ISD$M_LASTCLU  = 00000080            I_R0             00000000            JPI$_LASTPHD   = 00000412            

ISD$M_MATCHCTL = 00000070            I_R1             00000004            JPI$_LOGINTIM  = 00000206            

ISD$M_WRT      = 00000008            I_R2             00000008            JPI$_MEM       = 00000307            

ISD$S_MATCHCTL = 00000003            I_R3             0000000C            JPI$_OWNER     = 00000303            

ISD$S_PFC      = 00000008            I_R4             00000010            JPI$_PAGEFLTS  = 0000040A            

ISD$S_VPG      = 00000017            I_R5             00000014            JPI$_PGFLQUOTA = 0000040E            

ISD$S_VPN      = 00000015            I_R6             00000018            JPI$_PID       = 00000319            

ISD$T_GBLNAM     00000014            I_RAD50NAME      00000148            JPI$_PPGCNT    = 0000030D            

ISD$V_CRF      = 00000001            I_RCVAST         0000019C            JPI$_PRCCNT    = 0000031B            

ISD$V_DZRO     = 00000002            I_RCVMAIL        00000160            JPI$_PRCLM     = 00000408            

ISD$V_GBL      = 00000000            I_RUNFLAGS       0000018C            JPI$_PRCNAM    = 0000031C            

ISD$V_LASTCLU  = 00000007            I_SCRATCH        00000028            JPI$_PRI       = 00000302            

ISD$V_MATCHCTL = 00000004            I_SSTVEC         00000194            JPI$_PRIB      = 00000309            

ISD$V_P1       = 00000015            I_SSTVECL        00000196            JPI$_PROCPRIV  = 00000204            

ISD$V_PFC      = 00000018            I_STATE          00000170            JPI$_STATE     = 00000306            

ISD$V_SYSTEM   = 00000016            I_TYPE           0000001C            JPI$_STS       = 00000305            

ISD$V_VPG      = 00000000            I_UIC            0000013C            JPI$_TMBU      = 0000030B            

ISD$V_VPN      = 00000000            I_WAIT           00000178            JPI$_TQCNT     = 00000315            

ISD$V_WRT      = 00000003            I_WAITSAVE       00000180            JPI$_TQLM      = 00000410            

ISD$W_PAGCNT     00000002            JPI$C_ADRTYPE  = 00000001            JPI$_UIC       = 00000304            

ISD$W_SIZE       00000000            JPI$C_CTLTYPE  = 00000002            JPI$_USERNAME  = 00000202            

I_ADR0           000000FC            JPI$C_LISTEND  = 00000000            JPI$_VIRTPEAK  = 00000200            

I_ASCIINAME      00000140            JPI$C_PCBTYPE  = 00000003            JPI$_VOLUMES   = 00000205            

I_ASTPOOL        000000D0            JPI$C_PHDTYPE  = 00000004            JPI$_WSAUTH    = 00000401            

I_ASTQUEUE       000000C8            JPI$_ACCOUNT   = 00000203            JPI$_WSPEAK    = 00000201            

I_BAILOUTFP      00000188            JPI$_APTCNT    = 0000030A            JPI$_WSQUOTA   = 00000402            

I_CMDROUT        000000E8            JPI$_ASTACT    = 00000300            JPI$_WSSIZE    = 00000411            

I_CURAST         00000198            JPI$_ASTCNT    = 0000030E            L$BASG           00000200            

I_DEBVEC         00000190            JPI$_ASTEN     = 00000301            L$BBLK           000000F0            

I_DEBVECL        00000192            JPI$_ASTLM     = 00000409            L$BDAT           0000001A            

I_FCBPOOL        000000D8            JPI$_BIOCNT    = 0000030F            L$BEXT           000000EA            

I_FCC            000001B4            JPI$_BIOLM     = 00000310            L$BFLG           00000018            

I_FLOATA0        000001C0            JPI$_BUFIO     = 0000040C            L$BHGV           0000000A            

I_FLOATA1        000001C8            JPI$_BYTCNT    = 00000311            L$BHRB           000000EE            

I_FLOATA2        000001D0            JPI$_BYTLM     = 0000031A            L$BLDZ           0000000E            

I_FLOATA3        000001D8            JPI$_CPULIM    = 0000040D            L$BLIB           00000020            

I_FLOATA4        000001E0            JPI$_CPUTIM    = 00000407            L$BLUN           000000F2            

I_FLOATA5        000001E8            JPI$_CURPRIV   = 00000400            L$BMXV           0000000C            

I_FLOATADR       000001B0            JPI$_DFPFC     = 00000406            L$BMXZ           00000010            

I_FLOATAST       000001A4            JPI$_DFWSCNT   = 00000403            L$BOFF           00000012            

I_FLOATCSR       000001A8            JPI$_DIOCNT    = 00000312            L$BPAR           00000004            

I_FLOATERR       000001AC            JPI$_DIOLM     = 00000313            L$BPRI           000000E6            

I_FLOATTMP       000001B8            JPI$_DIRIO     = 0000040B            L$BSA            00000008            

I_GARD           000000EC            JPI$_EFCS      = 00000317            L$BSEG           00000016            

I_HIGHEFN        0000016C            JPI$_EFCU      = 00000318            L$BSGL           000000EC            

I_HIGHSIZE       000000F4            JPI$_EFWM      = 00000316            L$BTSK           00000000            

I_IMAGEVBN       000000F8            JPI$_EXCVEC    = 00000100            L$BWND           00000014            

I_INISIZE        000000F0            JPI$_FILCNT    = 00000314            L$BXFR           000000E8            

I_LENGTH         000001F0            JPI$_FILLM     = 0000040F            LD$ACC         = FFFF8000            

I_LOGNAME        000000E0            JPI$_FINALEXC  = 00000101            LD$REL         = 00000004            

I_LUT            00000168            JPI$_FREP0VA   = 00000404            LD$RSV         = 00004000            

RSXSTART        - RSX INITIALIZATION, LOAD AND GO ROUTINE        22-AUG-1978 05:11:46   VAX-11 MACRO X0.3-11               Page  21

SYMBOL TABLE                                                                                                                    (10)



LOAD_LIBRARIES   000002F6 R     06   RAB$B_ROP2       00000006            RAB$V_FDL      = 00000006            

LOAD_READ_ONLY   00000238 R     06   RAB$B_ROP3       00000007            RAB$V_HSH      = 00000007            

LOAD_READ_WRITE  00000188 R     06   RAB$B_TMO        0000001F            RAB$V_KGE      = 00000015            

LUTC_CR        = 00000005            RAB$C_BID      = 00000001            RAB$V_KGT      = 00000016            

LUTC_DISK      = 00000002            RAB$C_BLN        00000044            RAB$V_LIM      = 0000000E            

LUTC_LP        = 00000004            RAB$C_KEY      = 00000001            RAB$V_LOA      = 0000000D            

LUTC_RMS       = 00000000            RAB$C_RFA      = 00000002            RAB$V_LOC      = 00000010            

LUTC_TAPE      = 00000003            RAB$C_SEQ      = 00000000            RAB$V_MAS      = 00000005            

LUTC_TRM       = 00000001            RAB$K_BLN        00000044            RAB$V_NLK      = 00000014            

LUTV_CTRLC     = 00000002            RAB$L_BKT        00000038            RAB$V_NXR      = 00000017            

LUTV_CTRLO     = 00000000            RAB$L_CTX        00000018            RAB$V_PMT      = 0000001E            

LUTV_PRM       = 00000003            RAB$L_DCT        00000038            RAB$V_PPF_IND  = 0000000E            

LUT_CHAN         0000000C            RAB$L_FAB        0000003C            RAB$V_PPF_RAT  = 00000006            

LUT_CHAR         00000012            RAB$L_KBF        00000030            RAB$V_PTA      = 0000001D            

LUT_CTRLC        00000032            RAB$L_PBF        00000030            RAB$V_RAH      = 00000009            

LUT_FLAGS        0000000A            RAB$L_RBF        00000028            RAB$V_RLK      = 00000013            

LUT_INFONAME     0000002E            RAB$L_RFA0       00000010            RAB$V_RNE      = 00000018            

LUT_INFOUNIT     00000030            RAB$L_RHB        0000002C            RAB$V_RNF      = 0000001B            

LUT_LINK         00000000            RAB$L_ROP        00000004            RAB$V_TMO      = 00000019            

LUT_REALNAME     0000001E            RAB$L_STS        00000008            RAB$V_TPT      = 00000001            

LUT_REF          00000008            RAB$L_STV        0000000C            RAB$V_UIF      = 00000004            

LUT_RSXNAME      00000010            RAB$L_UBF        00000024            RAB$V_ULK      = 00000012            

LUT_SIZE         00000036            RAB$M_ASY      = 00000001            RAB$V_WAT      = 00000011            

LUT_TYPE         00000016            RAB$M_BIO      = 00000800            RAB$V_WBH      = 0000000A            

MAP_LIBRARY      000005D3 R     06   RAB$M_CCO      = 80000000            RAB$W_ISI        00000002            

PSL_CC         = 00000000            RAB$M_CVT      = 04000000            RAB$W_RFA        00000010            

PSL_CM         = 0000001F            RAB$M_EOF      = 00000100            RAB$W_RFA4       00000014            

PSL_FPD        = 0000001B            RAB$M_FDL      = 00000040            RAB$W_RSZ        00000022            

PSL_FU         = 00000006            RAB$M_HSH      = 00000080            RAB$W_USZ        00000020            

PSL_TBIT       = 00000004            RAB$M_KGE      = 00200000            RSX$ALUN         ********   X   06   

QIOV_FILES     = 00000000            RAB$M_KGT      = 00400000            RSX$ASCR502      ********   X   06   

QIO_FLAGS        0000001A            RAB$M_LIM      = 00004000            RSX$A_CLDEV      ********   X   06   

QIO_IOSB         0000000E            RAB$M_LOA      = 00002000            RSX$A_CODEV      ********   X   06   

QIO_LUT          00000016            RAB$M_LOC      = 00010000            RSX$A_EXITBLOCK  ********   X   06   

QIO_SECONDBLK    0000001C            RAB$M_MAS      = 00000020            RSX$A_OVDEV      ********   X   06   

QIO_SIZE         00000020            RAB$M_NLK      = 00100000            RSX$A_POOL       ********   X   06   

R$LDAT           00000016            RAB$M_NXR      = 00800000            RSX$A_SYDEV      ********   X   06   

R$LFLG           00000014            RAB$M_PMT      = 40000000            RSX$A_TIIDEV     ********   X   06   

R$LHGV           00000006            RAB$M_PPF_IND  = 00004000            RSX$A_TIODEV     ********   X   06   

R$LLDZ           0000000A            RAB$M_PPF_RAT  = 00003FC0            RSX$BUILDLUT     ********   X   06   

R$LMXV           00000008            RAB$M_PTA      = 20000000            RSX$CMTRAP       ********   X   06   

R$LMXZ           0000000C            RAB$M_RAH      = 00000200            RSX$C_CREGBLSEC  ********W G    01   

R$LNAM           00000000            RAB$M_RLK      = 00080000            RSX$C_SUBSYSTEM= 00000006            

R$LOFF           0000000E            RAB$M_RNE      = 01000000            RSX$DEALLOCATE   ********   X   06   

R$LSA            00000004            RAB$M_RNF      = 08000000            RSX$EXCEPTION    ********   X   06   

R$LSEG           00000012            RAB$M_TMO      = 02000000            RSX$FORCEEXIT    ********   X   06   

R$LSIZ           0000001C            RAB$M_TPT      = 00000002            RSX$G_FAB        ********   X   06   

R$LWND           00000010            RAB$M_UIF      = 00000010            RSX$G_LOWP0ADDR  ********   X   06   

RAB$B_BID        00000000            RAB$M_ULK      = 00040000            RSX$INTERNEXIT   ********   X   06   

RAB$B_BLN        00000001            RAB$M_WAT      = 00020000            RSX$OVERLAY      ********   X   06   

RAB$B_KRF        00000035            RAB$M_WBH      = 00000400            RSX$R50CVT2      ********   X   06   

RAB$B_KSZ        00000034            RAB$S_PPF_RAT  = 00000008            RSX$RETEXIT      ********   X   06   

RAB$B_MBC        00000037            RAB$V_ASY      = 00000000            RSX$RUNIMAGE     00000000 RG    06   

RAB$B_MBF        00000036            RAB$V_BIO      = 0000000B            RSX$SYS_DEVS     ********   X   06   

RAB$B_PSZ        00000034            RAB$V_CCO      = 0000001F            RSX$T_LIBDEF     ********   X   06   

RAB$B_RAC        0000001E            RAB$V_CVT      = 0000001A            RSX$_ACCVIO    = 00068044            

RAB$B_ROP1       00000005            RAB$V_EOF      = 00000008            RSX$_BADLIBREF = 0006806C            

RSXSTART        - RSX INITIALIZATION, LOAD AND GO ROUTINE        22-AUG-1978 05:11:46   VAX-11 MACRO X0.3-11               Page  22

SYMBOL TABLE                                                                                                                    (10)



RSX$_BADSTACK  = 0006804C            SEC$V_PERM     = 0000000E            W.BSIZ           00000008            

RSX$_BREAK     = 0006800C            SEC$V_PFC      = 00000018            

RSX$_EXITSTATUS= 00068640            SEC$V_SYSGBL   = 0000000F            

RSX$_EXTERNABRT= 0006805C            SEC$V_VPX      = 00000000            

RSX$_ILLINST   = 0006802C            SEC$V_WRT      = 00000003            

RSX$_IMAGETERM = 00068084            SEC$W_FLAGS      00000014            

RSX$_INSFDYNMEM= 00068054            SEC$W_SECXBL     00000006            

RSX$_IOT       = 00068014            SEC$W_SECXFL     00000004            

RSX$_LIBNOTFND = 00068074            SV_ASTLVL        00000004            

RSX$_LOADERROR = 0006807C            SV_DCL           00000002            

RSX$_NOCOMM    = 00068094            SV_FLOATAST      00000009            

RSX$_NONRSXEMT = 0006801C            SV_NOAST         00000003            

RSX$_NOPMD     = 00068332            SV_PENDWAIT      00000005            

RSX$_NOSUCHDEV = 00068322            SV_PWRAST        00000008            

RSX$_NOTSKIMG  = 00068064            SV_RCVAST        00000007            

RSX$_ODDADDR   = 00068034            SV_RESTORE       00000000            

RSX$_PMD       = 0006832A            SV_TRANSLATE     00000001            

RSX$_RCVMBXSIZ = 0000012C            SV_WAIT          00000006            

RSX$_REGMSG    = 0006808C            SYS$ASCEFC       ********   X   06   

RSX$_RESERVED  = 00068004            SYS$CLREF        ********   X   06   

RSX$_TBIT      = 0006803C            SYS$CREMBX       ********   X   06   

RSX$_TRAP      = 00068024            SYS$CRETVA       ********   X   06   

RSX$_VERIFYCMD = 00068648            SYS$CRMPSC       ********   X   06   

SEC$B_AMOD       00000015            SYS$DASSGN       ********   X   06   

SEC$B_PFC        0000000B            SYS$DCLCMH       ********   X   06   

SEC$C_LENGTH     00000020            SYS$DCLEXH       ********   X   06   

SEC$K_LENGTH     00000020            SYS$DELTVA       ********   X   06   

SEC$K_MATALL   = 00000000            SYS$EXPREG       ********   X   06   

SEC$K_MATEQU   = 00000001            SYS$GETJPI       ********   X   06   

SEC$K_MATLEQ   = 00000002            SYS$MGBLSC       ********   X   06   

SEC$L_CCB        00000000            SYS$OPEN         ********  GX   06   

SEC$L_GSD        00000000            SYS$PURGWS       ********   X   06   

SEC$L_PAGCNT     0000001C            SYS$PUTMSG       ********   X   06   

SEC$L_REFCNT     00000018            SYS$QIOW         ********   X   06   

SEC$L_VBN        00000010            SYS$READEF       ********   X   06   

SEC$L_VPXPFC     00000008            SYS$SETPRN       ********   X   06   

SEC$L_WINDOW     0000000C            TS$ACP         = 00002000            

SEC$M_AMOD     = 00000300            TS$CHK         = 00000040            

SEC$M_CRF      = 00000002            TS$CMP         = 00000080            

SEC$M_DZRO     = 00000004            TS$NET         = 00000200            

SEC$M_GBL      = 00000001            TS$NHD         = 00004000            

SEC$M_PERM     = 00004000            TS$NSD         = 00000400            

SEC$M_SYSGBL   = 00008000            TS$PIC         = FFFF8000            

SEC$M_WRT      = 00000008            TS$PMD         = 00001000            

SEC$S_AMOD     = 00000002            TS$PRV         = 00000100            

SEC$S_CRF      = 00000001            TS$RES         = 00000020            

SEC$S_DZRO     = 00000001            TS$SLV         = 00000800            

SEC$S_GBL      = 00000001            VEC_START        00000000 R     07   

SEC$S_PERM     = 00000001            W.BATT           00000006            

SEC$S_PFC      = 00000008            W.BFPD           0000000C            

SEC$S_SYSGBL   = 00000001            W.BHVR           00000004            

SEC$S_VPX      = 00000016            W.BLGH           00000010            

SEC$S_WRT      = 00000001            W.BLPD           0000000E            

SEC$V_AMOD     = 00000008            W.BLVR           00000002            

SEC$V_CRF      = 00000001            W.BNPD           0000000D            

SEC$V_DZRO     = 00000002            W.BOFF           0000000A            

SEC$V_GBL      = 00000000            W.BPCB           00000000            

RSXSTART        - RSX INITIALIZATION, LOAD AND GO ROUTINE        22-AUG-1978 05:11:46   VAX-11 MACRO X0.3-11               Page  23

PROGRAM SECTION SYNOPSIS                                                                                                        (10)







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  

..ABS.           00000200      02     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

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

RSXDEF           000001F4      04     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

RSXPURE          0000001C      05       PIC   USR   CON   REL   LCL   SHR   EXE   RD  NOWRT LONG  

RSXCODE          00000785      06       PIC   USR   CON   REL   LCL   SHR   EXE   RD  NOWRT BYTE  

RSXVECTOR        00000080      07       PIC   USR   CON   REL   LCL   SHR   EXE   RD  NOWRT LONG  





THERE WERE NO ERRORS OR WARNINGS.

2724. BYTES LEFT IN FREE MEMORY POOL.

78. BYTES OF RECLAIMED MEMORY.

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

94 MLB DIR RDS - 1177 GETS TO DEFINE 44 MACROS. 70 INTER. FILE WRITES. 

