GBLSECLST       - GLOBAL SECTION LISTING ROUTINE                 22-AUG-1978 01:18:17   VAX-11 MACRO X0.3-11               Page   0

TABLE OF CONTENTS   



   (2)     100  DECLARATIONS

   (4)     100  SUPPORT ROUTINES FOR LIST COMMAND

   (5)     100  GET_GSD_LISTS - COPY GLOBAL SECTIONS

GBLSECLST       - GLOBAL SECTION LISTING ROUTINE                 22-AUG-1978 01:18:17   VAX-11 MACRO X0.3-11               Page   1

X0103                                                                                                                            (1)



                                     0000   100 	.TITLE	GBLSECLST - GLOBAL SECTION LISTING ROUTINE

                                     0000   200 	.IDENT	/X0103/

                                     0000   300 

                                     0000   400 ;

                                     0000   500 ;			  COPYRIGHT (c) 1978 BY

                                     0000   600 ;	      DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

                                     0000   700 ;

                                     0000   800 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED

                                     0000   900 ; ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE

                                     0000  1000 ; INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER

                                     0000  1100 ; COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY

                                     0000  1200 ; OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY

                                     0000  1300 ; TRANSFERRED.

                                     0000  1400 ;

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

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

                                     0000  1700 ; CORPORATION.

                                     0000  1800 ;

                                     0000  1900 ; DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF  ITS

                                     0000  2000 ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.

                                     0000  2100 ;

                                     0000  2200 

                                     0000  2300 ;++

                                     0000  2400 ; FACILITY:

                                     0000  2500 ;

                                     0000  2600 ; ABSTRACT:

                                     0000  2700 ;

                                     0000  2800 ;

                                     0000  2900 ; ENVIRONMENT:

                                     0000  3000 ;

                                     0000  3100 ; AUTHOR: P. H. LIPMAN	, CREATION DATE: 25-JUL-78

                                     0000  3200 ;

                                     0000  3300 ; MODIFIED BY:

                                     0000  3400 ;

                                     0000  3500 ;	, : VERSION

                                     0000  3600 ; 01	- 

                                     0000  3700 ;--

GBLSECLST       - GLOBAL SECTION LISTING ROUTINE                 22-AUG-1978 01:18:17   VAX-11 MACRO X0.3-11               Page   2

X0103           DECLARATIONS                                                                                                     (2)



                                     0000   100 	.SBTTL	DECLARATIONS

                                     0000   200 ;

                                     0000   300 ; INCLUDE FILES:

                                     0000   400 ;

                                     0000   500 	$GSDDEF				;GLOBAL SECTION DESCRIPTOR BLOCK DEFINITIONS

                                     0000   550 	$PHDDEF				;PROCESS HEADER DEFINITIONS

                                     0000   600 	$SECDEF				;SECTION CONTROL BLOCK DEFINITIONS

                                     0000   700 ;

                                     0000   800 ; MACROS:

                                     0000   900 ;

                                     0000  1000 	.MACRO	STRDSC	NAM,STR

                                     0000  1100 	.SAVE

                                     0000  1200 	.PSECT	RO_BYTE	BYTE,RD,NOWRT,NOEXE

                                     0000  1300 'NAM'_ADR:

                                     0000  1400 	.ASCII	STR

                                     0000  1500 	'NAM'_SIZ = .-'NAM'_ADR

                                     0000  1600 	.RESTORE

                                     0000  1700 'NAM'_DSC:

                                     0000  1800 	.LONG	'NAM'_SIZ

                                     0000  1900 	.LONG	'NAM'_ADR

                                     0000  2100 	.ENDM	STRDSC

                                     0000  2200 

                                     0000  2300 	.MACRO	STRLST	BITNAM,S1,S2

                                     0000  2400 	.SAVE

                                     0000  2500 	.PSECT	RO_BYTE	BYTE,NOWRT,NOEXE

                                     0000  2600 'BITNAM'_ADR1:

                                     0000  2700 	.IF	NB,S1

                                     0000  2800 	.ASCIC	/S1/

                                     0000  2900 	.IFF

                                     0000  3000 	.ASCIC	/BITNAM/

                                     0000  3100 	.ENDC

                                     0000  3200 'BITNAM'_ADR2:

                                     0000  3300 	.IF	NB,S2

                                     0000  3400 	.ASCIC	/S2/

                                     0000  3500 	.IFF

                                     0000  3600 	CNT...='BITNAM'_ADR2-'BITNAM'_ADR1-1

                                     0000  3700 	.BYTE	CNT...

                                     0000  3800 	.REPT	CNT...

                                     0000  3900 	.BYTE	^A/ /

                                     0000  4000 	.ENDR

                                     0000  4100 	.ENDC

                                     0000  4200 	.RESTORE

                                     0000  4300 	.LONG	SEC$M_'BITNAM'

                                     0000  4400 	.LONG	'BITNAM'_ADR1

                                     0000  4500 	.LONG	'BITNAM'_ADR2

                                     0000  4600 	.ENDM	STRLST

                                     0000  4700 ;

                                     0000  4800 ; EQUATED SYMBOLS:

                                     0000  4900 ;

                                     0000  5000 ;

                                     0000  5100 ; OWN STORAGE

                                     0000  5200 ;

                                     0000  5300 

                                 00000000  5400 	.PSECT	DATA	LONG,WRT,NOEXE

                                     0000  5500 ;

                                     0000  5600 ; ***** DO NOT SEPARATE THE FOLLOWING LINES

                                     0000  5700 ;

GBLSECLST       - GLOBAL SECTION LISTING ROUTINE                 22-AUG-1978 01:18:17   VAX-11 MACRO X0.3-11               Page   3

X0103           DECLARATIONS                                                                                                     (2)



                                     0000  5800 GSD_LIST_PARAM:

                           00000001  0000  5900 	.LONG	1			;PARAMETER LIST TO KERNEL ROUTINE

                                     0004  6000 					;FOR COPYING THE GLOBAL SECTIONS

                                     0004  6100 					;TO USER SPACE

                                     0004  6200 LIST_ADR:				;RANGE OF ADDRESSES CREATED FOR 

                           0000000C  0004  6300 	.BLKL	2			;THE GLOBAL SECTION ENTRIES

                                     000C  6400 ;

                                     000C  6500 ; ***** DO NOT SEPARATE THE PRECEDING LINES

                                     000C  6600 ;

                                     000C  6700 EXPREG_PAGCNT:

                           00000010  000C  6800 	.BLKL	1			;NUMBER OF PAGES OF BUFFER TO CREATE

                                     0010  6900 FAO_DSC:

                           00000018  0010  7000 	.BLKL	2			;OUTPUT STRING DESCRIPTOR

                                     0018  7100 FAO_LEN:

                           0000001C  0018  7200 	.BLKL	1			;RETURN LENGTH FROM FAO

                                     001C  7300 FAO_PRM:

                           00000038  001C  7400 	.BLKL	7			;FAO PARAMETER LIST

                                     0038  7405 ;

                                     0038  7410 ; ***** DO NOT SEPARATE THE FOLLOWING LINES

                                     0038  7415 ;

                                     0038  7420 SECTIONS:

                           0000003C  0038  7425 	.BLKL	1			;COUNT OF GLOBAL SECTIONS

                                     003C  7430 GPT_ENTRIES:

                           00000040  003C  7435 	.BLKL	1			;COUNT OF GPT ENTRIES USED

                                     0040  7440 ;

                                     0040  7445 ; ***** DO NOT SEPARATE THE PRECEDING LINES

                                     0040  7450 ;

                                     0040  7460 NEXT_TITLE:

                           00000044  0040  7470 	.BLKL	1			;ADDRESS OF NEXT TITLE DESCRIPTOR

                                     0044  7500 REC_BUF:

                           000000C8  0044  7600 	.BLKB	132			;RECORD BUFFER

                           00000084  00C8  7700 	REC_BUFSIZ=.-REC_BUF

                                     00C8  7800 

                                 00000000  7900 	.PSECT	RO_LONG	LONG,RD,NOWRT,NOEXE

                                     0000  8000 

                                     0000  8100 FLAGS_LIST:

                                     0000  8200 	STRLST	WRT

                                     000C  8300 	STRLST	CRF

                                     0018  8400 	STRLST	DZRO

                                     0024  8500 	STRLST	PERM,PRM,TMP

                                     0030  8600 	STRLST	SYSGBL,SYS,GRP

                           00000000  003C  8700 	.LONG	0

                                     0040  8800 ;

                                     0040  8900 ; FORMAT STRINGS

                                     0040  9000 ;

                                     0040  9100 	STRDSC	GBLNAM,<$!15AC(!XL) !AC !AC !AC !AC !AC$>

                                     0048  9300 	STRDSC	PAGCNT,<$ Pagcnt/Refcnt=!UL/!UL$>

                                     0050  9400 	STRDSC	BLANK,<$!#AC$>

                                     0058  9500 	STRDSC	SUMMARY,<$!/!_!UL Global Section!%S,  !UL Global Page Table Entries$>

                                     0060  9600 ;

                                     0060  9700 ; ***** DO NOT SEPARATE THE FOLLOWING LINES

                                     0060  9800 ;

                                     0060  9900 	STRDSC	GROUP,<$=!OB$>

                                     0068 10000 	STRDSC	SYSTEM,<$    $>

                                     0070 10100 ;

                                     0070 10200 ; ***** DO NOT SEPARATE THE PRECEDING LINES

                                     0070 10220 ; ***** DO NOT SEPARATE THE FOLLOWING LINES

GBLSECLST       - GLOBAL SECTION LISTING ROUTINE                 22-AUG-1978 01:18:17   VAX-11 MACRO X0.3-11               Page   4

X0103           DECLARATIONS                                                                                                     (2)



                                     0070 10300 ;

                                     0070 10400 	STRDSC	SYSTITLE,<$!/!_System Global Sections!/$>

                                     0078 10500 	STRDSC	GRPTITLE,<$!/!_Group Global Sections!/$>

                                     0080 10600 	STRDSC	DELTITLE,<$!/!_Delete Pending Global Sections!/$>

                                     0088 10700 ;

                                     0088 10800 ; ***** DO NOT SEPARATE THE PRECEDING LINES

                                     0088 10900 ;

GBLSECLST       - GLOBAL SECTION LISTING ROUTINE                 22-AUG-1978 01:18:17   VAX-11 MACRO X0.3-11               Page   5

X0103           DECLARATIONS                                                                                                     (3)



                                     0088    10 	.LIST	MEB

                                     0088    20 

                                 00000000    30 	.PSECT	CODE	BYTE,NOWRT,EXE

                                     0000    40 

                                     0000   100 GET_BIGGER_BUF:

            50   00000000'8F     D1  0000   120 	CMPL	#SS$_ACCVIO,R0		;SEE IF NEED MORE BUFFER SPACE

                          17     12  0007   140 	BNEQ	LIST_ERROR		;BRANCH IF SOME OTHER ERROR

                                     0009   200 	$DELTVA_S INADR=W^LIST_ADR

                          00     DD  0009       		PUSHL	#0

                          00     DD  000B       		PUSHL	#0

                     0004'CF     7F  000D       		PUSHAQ	W^LIST_ADR

   00000000'GF            03     FB  0011       		CALLS	#3,G^SYS$DELTVA

       000C'CF            02     C4  0018   300 	MULL	#2,W^EXPREG_PAGCNT

            0C            50     E8  001D   400 	BLBS	R0,CREATE_BUFFER

                                     0020   500 

                                     0020   600 LIST_ERROR:

                                 04  0020   700 	RET

                                     0021   800 

                                     0021   900 INS$GBLSECLST::

                               0FFC  0021  1000 	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>

            5B         04 AC     D0  0023  1100 	MOVL	4(AP),R11		;GET ADDRESS OF OUTPUT RAB

       000C'CF            08     D0  0027  1300 	MOVL	#8,W^EXPREG_PAGCNT	;INITIAL BUFFER SIZE

                                     002C  1400 CREATE_BUFFER:

                                     002C  1500 	$EXPREG_S -			;CREATE SOME ADDRESS SPACE TO MOVE

                                     002C  1600 		PAGCNT=W^EXPREG_PAGCNT,-

                                     002C  1700 		RETADR=W^LIST_ADR	;THE KNOWN FILE ENTRIES TO

                          00     DD  002C       		PUSHL	#0

                          00     DD  002E       		PUSHL	#0

                     0004'CF     7F  0030       		PUSHAQ	W^LIST_ADR

                     000C'CF     DD  0034       		PUSHL	W^EXPREG_PAGCNT

   00000000'GF            04     FB  0038       		CALLS	#4,G^SYS$EXPREG

            DE            50     E9  003F  1800 	BLBC	R0,LIST_ERROR		;BRANCH IF FAILED TO GET THE SPACE

                                     0042  1900 	$CMKRNL_S W^GET_GSD_LISTS,W^GSD_LIST_PARAM ;COPY THE GLOBAL SECTIONS

                     0000'CF     DF  0042       		PUSHAL	W^GSD_LIST_PARAM

                     018D'CF     DF  0046       		PUSHAL	W^GET_GSD_LISTS

   00000000'GF            02     FB  004A       		CALLS	#2,G^SYS$CMKRNL

            AC            50     E9  0051  2000 	BLBC	R0,GET_BIGGER_BUF	;BRANCH IF NEED MORE BUFFER SPACE

            57       0004'CF     D0  0054  2100 	MOVL	W^LIST_ADR,R7		;ADDRESS OF KNOWN FILE ENTRY BUFFER

         00'AB       0044'CF     9E  0059  2200 	MOVAB	W^REC_BUF,B^RAB$L_RBF(R11) ;SET RECORD BUFFER ADDRESS

                          010A   30  005F  2300 	BSBW	PUT_INIT		;INIT FOR FIRST PUT

                     0038'CF     7C  0062  2350 	CLRQ	W^SECTIONS		;INIT SECTION, GPT ENTRY COUNT

       0040'CF       0070'CF     7E  0066  2360 	MOVAQ	W^SYSTITLE_DSC,W^NEXT_TITLE ;SET FIRST TITLE LINE DESCRIPTOR

                          0079   31  006D  2400 	BRW	LIST_NEXT1

                                     0070  2500 LIST_NEXT:

                     0038'CF     D6  0070  2550 	INCL	W^SECTIONS		;COUNT THIS GLOBAL SECTION

            56       001C'CF     9E  0074  2600 	MOVAB	W^FAO_PRM,R6		;ADDRESS OF PARAMETER LIST

            57            2C     C1  0079  2700 	ADDL3	#GSD$C_LENGTH+4,R7,R8	;GLOBAL SECTION TABLE ENTRY ADR

                          58         007C       

            57            18     C1  007D  2800 	ADDL3	#GSD$T_GSDNAM,R7,(R6)+	;ADDRESS OF COUNTED NAME STRING

                          86         0080       

            86         14 A7     D0  0081  2900 	MOVL	GSD$L_IDENT(R7),(R6)+	;IDENT VALUE

                                     0085  3000 ;

                                     0085  3100 ; CONVERT FLAGS

                                     0085  3200 ;

            55       0000'CF     9E  0085  3300 	MOVAB	W^FLAGS_LIST,R5		;CONTROL LIST FOR FLAG CONVERSION

            50            85     D0  008A  3400 40$:	MOVL	(R5)+,R0		;BIT MASK FOR NEXT FLAG

                          11     13  008D  3500 	BEQL	60$			;BRANCH IF END OF FLAGS

GBLSECLST       - GLOBAL SECTION LISTING ROUTINE                 22-AUG-1978 01:18:17   VAX-11 MACRO X0.3-11               Page   6

X0103           DECLARATIONS                                                                                                     (3)



            51            85     7D  008F  3600 	MOVQ	(R5)+,R1		;R1=ADR IF BIT SET, R2 IF CLEAR

         14 A8            50     B3  0092  3700 	BITW	R0,SEC$W_FLAGS(R8)	;SEE IF SPECIFIED FLAG IS SET

                          03     12  0096  3800 	BNEQ	50$			;BRANCH IF IT IS, USE R1

            51            52     D0  0098  3900 	MOVL	R2,R1			;FLAG IS CLEAR, USE R2

            86            51     D0  009B  4000 50$:	MOVL	R1,(R6)+		;STORE STRING ADDRESS

                          EA     11  009E  4100 	BRB	40$			;LOOP THROUGH ALL THE FLAGS

            50       0040'CF     9E  00A0  4200 60$:	MOVAB	W^GBLNAM_DSC,R0		;CONTROL STRING ADDRESS FOR GBL SEC NAME

                          0083   30  00A5  4300 	BSBW	FAO			;CONVERT IT AND THE FLAGS

       001C'CF         0E A7     9A  00A8  4400 	MOVZBL	GSD$W_GRP(R7),W^FAO_PRM	;GROUP NUMBER IF GROUP GLOBAL

            01            0F     EF  00AE  4500 	EXTZV	#SEC$V_SYSGBL,#1,SEC$W_FLAGS(R8),R0 ;GET SYS/GRP BIT

            50         14 A8         00B1       

            50       0060'CF40   7E  00B4  4600 	MOVAQ	W^GROUP_DSC[R0],R0	;ADDRESS OF CONTROL STRING FOR SYS OR GRP

                          006E   30  00BA  4700 	BSBW	FAO			;CONVERT SYSTEM OR GROUP

            50         1C A8     D0  00BD  4800 	MOVL	SEC$L_PAGCNT(R8),R0	;PAGES IN SECTION

       001C'CF            50     D0  00C1  4820 	MOVL	R0,W^FAO_PRM		;

            50            03     C0  00C6  4840 	ADDL	#3,R0			;COUNT 2 ZERO GPT ENTRIES

            50            01     CA  00C9  4860 	BICL	#1,R0			;AND ROUND UP TO EVEN NO. OF LONG WORDS

       003C'CF            50     C0  00CC  4880 	ADDL	R0,W^GPT_ENTRIES	;KEEP RUNNING TOTAL OF GPT ENTRIES

       0020'CF         18 A8     D0  00D1  5350 	MOVL	SEC$L_REFCNT(R8),W^FAO_PRM+4 ;TOTAL PAGES MAPPED FROM THIS SECTION

            50       0048'CF     9E  00D7  5400 	MOVAB	W^PAGCNT_DSC,R0		;CONTROL STRING FOR PAGE COUNT

                          004C   30  00DC  5500 	BSBW	FAO			;CONVERT PAGE COUNT

                          0076   30  00DF  5600 	BSBW	PUT			;WRITE NAME, FLAGS, PAGE COUNT

            57   0000004C 8F     C0  00E2  5700 	ADDL	#GSD$C_LENGTH+4+SEC$C_LENGTH,R7 ;ADR OF NEXT SECTION

                                     00E9  5800 LIST_NEXT1:

                       08 A7     B5  00E9  5900 	TSTW	GSD$W_SIZE(R7)		;END OF GSD'S?

                          1A     14  00EC  5950 	BGTR	20$			;BRANCH IF NOT

                          1B     13  00EE  6000 10$:	BEQL	LIST_DONE		;BRANCH IF ALL DONE

                                     00F0  6010 ;

                                     00F0  6020 ; BEGINNING OF THE NEXT GLOBAL SECTION LIST, PUT OUT THE NEXT TITLE LINE.

                                     00F0  6030 ;

            57            0A     C0  00F0  6040 	ADDL	#GSD$W_SIZE+2,R7	;SKIP OVER NEW LIST RECORD

            50       0040'CF     D0  00F3  6050 	MOVL	W^NEXT_TITLE,R0		;NEXT TILE STRING DESCRIPTOR

       0040'CF            08     C0  00F8  6060 	ADDL	#8,W^NEXT_TITLE		;SET UP FOR THE NEXT TITLE

                       08 A7     B5  00FD  6070 	TSTW	GSD$W_SIZE(R7)		;SEE IF ANY ENTRIES IN THIS LIST

                          EC     15  0100  6080 	BLEQ	10$			;BRANCH IF NOT

                          0026   30  0102  6120 	BSBW	FAO			;FORMAT THE TITLE LINE

                          0050   30  0105  6130 	BSBW	PUT			;AND OUTPUT IT

                          FF65   31  0108  6150 20$:	BRW	LIST_NEXT		;NO, GO LIST THE NEXT ONE

                                     010B  6200 LIST_DONE:

            50       0058'CF     7E  010B  6220 	MOVAQ	W^SUMMARY_DSC,R0	;DESCRIPTOR FOR SUMMARY LINE

            51       0038'CF     9E  0110  6240 	MOVAB	W^SECTIONS,R1		;PARAMETERS TO FAO

                          0018   30  0115  6260 	BSBW	FAOL			;CONVERT THE SUMMARY LINE

                          003D   30  0118  6280 	BSBW	PUT			;AND OUTPUT IT

                                     011B  6300 	$DELTVA_S INADR=W^LIST_ADR

                          00     DD  011B       		PUSHL	#0

                          00     DD  011D       		PUSHL	#0

                     0004'CF     7F  011F       		PUSHAQ	W^LIST_ADR

   00000000'GF            03     FB  0123       		CALLS	#3,G^SYS$DELTVA

                                 04  012A  6400 	RET

GBLSECLST       - GLOBAL SECTION LISTING ROUTINE                 22-AUG-1978 01:18:17   VAX-11 MACRO X0.3-11               Page   7

X0103           SUPPORT ROUTINES FOR LIST COMMAND                                                                                (4)



                                     012B   100 	.SBTTL	SUPPORT ROUTINES FOR LIST COMMAND

                                     012B   200 

                                     012B   300 ;

                                     012B   400 ; CALL FAO TO FORMAT THE NEXT PART OF THE MESSAGE

                                     012B   500 ;

                                     012B   600 ; CALLING SEQUENCE:

                                     012B   700 ;

                                     012B   800 ;	BSBW	FAO

                                     012B   900 ;	BSBW	FAOL

                                     012B  1000 ;

                                     012B  1100 ; INPUTS:

                                     012B  1200 ;

                                     012B  1300 ;	R0 = FAO CONTROL STRING DESCRIPTOR ADDRESS

                                     012B  1400 ;	R1 = PARAMETER LIST ADDRESS IF ENTERED AT FAOL

                                     012B  1600 ;	FAO_DSC IS THE ADDRESS OF THE OUTPUT STRING DESCRIPTOR

                                     012B  1700 ;

                                     012B  1800 ; OUTPUTS:

                                     012B  1900 ;

                                     012B  2000 ;	OUTPUT STRING DESCRIPTOR UPDATED TO REFLECT ADDED BYTES

                                     012B  2100 ;	JMP'S TO LIST_ERROR IF ERROR

                                     012B  2200 ;

                                     012B  2300 

            51       001C'CF     9E  012B  2400 FAO:	MOVAB	W^FAO_PRM,R1		;ADDRESS OF PARAMETER LIST

                                     0130  2500 FAOL:	$FAOL_S	(R0),W^FAO_LEN,W^FAO_DSC,(R1)

                          61     DF  0130       		PUSHAL	(R1)

                     0010'CF     7F  0132       		PUSHAQ	W^FAO_DSC

                     0018'CF     3F  0136       		PUSHAW	W^FAO_LEN

                          60     7F  013A       		PUSHAQ	(R0)

   00000000'GF            04     FB  013C       		CALLS	#4,G^SYS$FAOL

            0F            50     E9  0143  2600 	BLBC	R0,20$			;BRANCH IF ERROR

       0014'CF       0018'CF     C0  0146  2700 	ADDL	W^FAO_LEN,W^FAO_DSC+4	;ADDRESS OF NEXT AVAILABLE BYTE

       0010'CF       0018'CF     C2  014D  2800 	SUBL	W^FAO_LEN,W^FAO_DSC	;SIZE OF REMAINING BUFFER

                                 05  0154  2900 	RSB

                                     0155  3000 20$:

                          FEC8   31  0155  3100 	BRW	LIST_ERROR

                                     0158  3200 ;

                                     0158  3300 ; PUT THE RECORD AND INIT FOR THE NEXT

                                     0158  3400 ;

                                     0158  3500 ; CALLING SEQUENCE:

                                     0158  3600 ;

                                     0158  3700 ;	BSBW	PUT

                                     0158  3800 ;

                                     0158  3900 ; INPUTS:

                                     0158  4000 ;

                                     0158  4100 ;	R11 = RAB ADDRESS

                                     0158  4200 ;

                                     0158  4300 ; OUTPUTS:

                                     0158  4400 ;

                                     0158  4500 ;	R0-R5 ALTERED

                                     0158  4600 ;	READY FOR NEW RECORD TO BE BUILT

                                     0158  4700 ;

                                     0158  4800 PUT:

       0014'CF         00'AB     C3  0158  4900 	SUBL3	B^RAB$L_RBF(R11),W^FAO_DSC+4,R0 ;BYTES IN RECORD

                          50         015E       

         00'AB            50     B0  015F  5000 	MOVW	R0,B^RAB$W_RSZ(R11)	;SET RECORD SIZE IN RAB

                                     0163  5100 	$PUT	(R11)			;OUTPUT THE RECORD

                          6B     DF  0163       		PUSHAL	(R11)

GBLSECLST       - GLOBAL SECTION LISTING ROUTINE                 22-AUG-1978 01:18:17   VAX-11 MACRO X0.3-11               Page   8

X0103           SUPPORT ROUTINES FOR LIST COMMAND                                                                                (4)



   00000000'9F            01     FB  0165       		CALLS	#$$.TMP1,@#SYS$PUT

                                     016C  5200 PUT_INIT:

       0010'CF   00000084 8F     D0  016C  5300 	MOVL	#REC_BUFSIZ,W^FAO_DSC	;SET SIZE OF BUFFER

       0014'CF       0044'CF     9E  0175  5400 	MOVAB	W^REC_BUF,W^FAO_DSC+4	;AND THE ADDRESS

                                 05  017C  5600 	RSB

GBLSECLST       - GLOBAL SECTION LISTING ROUTINE                 22-AUG-1978 01:18:17   VAX-11 MACRO X0.3-11               Page   9

X0103           GET_GSD_LISTS - COPY GLOBAL SECTIONS                                                                             (5)



                                     017D   100 	.SBTTL	GET_GSD_LISTS - COPY GLOBAL SECTIONS

                                     017D   110 GSD_LISTS:

                           00000000' 017D   120 	.LONG	EXE$GL_GSDSYSFL		;SYSTEM LIST

                           00000000' 0181   130 	.LONG	EXE$GL_GSDGRPFL		;GROUP LIST

                           00000000' 0185   135 	.LONG	EXE$GL_GSDDELFL		;DELETE PENDING LIST

                           00000000  0189   140 	.LONG	0			;END OF LISTS

                                     018D   150 

                                     018D   200 GET_GSD_LISTS:

                               07FC  018D   300 	.WORD	^M<R2,R3,R4,R5,R6,R7,R8,R9,R10>

                          00'    DD  018F   400 	PUSHL	S^#SS$_NORMAL		;SAVE ASSUMED SUCCESS STATUS RETURN VALUE

            50   00000000'EF     DE  0191   500 	MOVAL	EXE$GL_GSDMTX,R0	;GLOBAL SECTION MUTEX ADDRESS

                          11     BB  0198   600 	PUSHR	#^M<R0,R4>		;SAVE MUTEX ADR, PCB ADR

                 00000000'EF     16  019A   700 	JSB	SCH$LOCKR		;LOCK THE MUTEX FOR READING

            53         04 AC     D0  01A0   800 	MOVL	4(AP),R3		;ADDRESS TO COPY THE GSD LISTS

            58   00000000'EF     D0  01A4   900 	MOVL	MMG$GL_SYSPHD,R8	;ADDRESS OF SYSTEM PROCESS HEADER

            58         20 A8     C0  01AB  1000 	ADDL	PHD$L_PSTBASOFF(R8),R8	;BASE ADDRESS OF GLOBAL SECTION TABLE

            5A         CB AF     9E  01AF  1100 	MOVAB	B^GSD_LISTS,R10		;ADR OF LIST OF GSD LISTS

            59            8A     D0  01B3  1200 20$:	MOVL	(R10)+,R9		;NEXT GSD LIST

            57            59     D0  01B6  1250 	MOVL	R9,R7			;COPY ADDRESS OF LIST HEAD

                          32     13  01B9  1300 	BEQL	80$			;BRANCH IF NO MORE LISTS

                                     01BB  1320 	IFNOWRT	#GSD$W_SIZE+2,(R3),120$	;BRANCH IF CANNOT STORE START OF LIST RECORD

            0A            00     0D  01BB       		PROBEW	#0,#GSD$W_SIZE+2,(R3)

                          63         01BE       

                          43     13  01BF       		BEQL	120$

            61            00     2C  01C1  1340 	MOVC5	#0,(R1),#-1,#GSD$W_SIZE+2,(R3) ;BEGINNING OF NEXT LIST

            0A         FF 8F         01C4       

                          63         01C7       

            57            67     D0  01C8  1400 40$:	MOVL	(R7),R7			;ADDRESS OF NEXT GSD ENTRY

            59            57     D1  01CB  1500 	CMPL	R7,R9			;BACK TO LIST HEAD?

                          E3     13  01CE  1600 	BEQL	20$			;BRANCH IF YES, NEXT GSD LIST IF ANY

                                     01D0  1700 	IFNOWRT	#GSD$C_LENGTH+4+SEC$C_LENGTH,-

                                     01D0  1750 		(R3),120$		;BRANCH IF CAN'T MOVE THIS ENTRY

       004C 8F            00     0D  01D0       		PROBEW	#0,#GSD$C_LENGTH+4+SEC$C_LENGTH,(R3)

                          63         01D5       

                          2C     13  01D6       		BEQL	120$

            67            28     28  01D8  1800 	MOVC3	#GSD$C_LENGTH,(R7),(R3)	;MOVE THE GLOBAL SECTION DESCRIPTOR

                          63         01DB       

            51         12 A7     32  01DC  1900 	CVTWL	GSD$W_GSTX(R7),R1	;GLOBAL SECTION TABLE ENTRY INDEX

            51            6841   DE  01E0  2000 	MOVAL	(R8)[R1],R1		;ADDRESS OF GST ENTRY

            83            51     D0  01E4  2100 	MOVL	R1,(R3)+		;STORE ADDRESS OF GST ENTRY

            61            20     28  01E7  2200 	MOVC3	#SEC$C_LENGTH,(R1),(R3)	;MOVE THE GST ENTRY

                          63         01EA       

                          DB     11  01EB  2300 	BRB	40$

                                     01ED  2400 ;

                                     01ED  2500 ; LAST ENTRY MOVED, STORE A ZERO SIZE FIELD

                                     01ED  2600 ;

                                     01ED  2700 80$:	IFNOWRT	#GSD$W_SIZE+2,(R3),120$	;BRANCH IF CANNOT STORE ENDING ZEROES

            0A            00     0D  01ED       		PROBEW	#0,#GSD$W_SIZE+2,(R3)

                          63         01F0       

                          11     13  01F1       		BEQL	120$

            61            00     2C  01F3  2800 	MOVC5	#0,(R1),#0,#GSD$W_SIZE+2,(R3) ;STORE TRAILING ZEROES

            0A            00         01F6       

                          63         01F8       

                          11     BA  01F9  2900 100$:	POPR	#^M<R0,R4>		;RECOVER GSD MUTEX ADR, PCB ADR

                 00000000'EF     16  01FB  3000 	JSB	SCH$UNLOCK		;UNLOCK THE MUTEX

                          01     BA  0201  3100 	POPR	#^M<R0>			;GET RETURN STATUS

                                 04  0203  3200 	RET				;AND RETURN IT TO CALLER

GBLSECLST       - GLOBAL SECTION LISTING ROUTINE                 22-AUG-1978 01:18:17   VAX-11 MACRO X0.3-11               Page  10

X0103           GET_GSD_LISTS - COPY GLOBAL SECTIONS                                                                             (5)



                                     0204  3300 ;

                                     0204  3400 ; CANNOT MOVE THE ENTRY TO THE REQUESTED BUFFER

                                     0204  3500 ;

         08 AE       0000'8F     3C  0204  3600 120$:	MOVZWL	#SS$_ACCVIO,8(SP)	;SET ACCESS VIOLATION ERROR RETURN

                          ED     11  020A  3700 	BRB	100$			;GO UNLOCK THE MUTEX AND RETURN

                                     020C  3800 

                                     020C  3900 

                                     020C  4000 

                                     020C  4100 	.END

GBLSECLST       - GLOBAL SECTION LISTING ROUTINE                 22-AUG-1978 01:18:17   VAX-11 MACRO X0.3-11               Page  11

SYMBOL TABLE                                                                                                                     (5)



$$.TMP1        = 00000001            LIST_NEXT        00000070 R     06   PHD$M_DALCSTX  = 00000002            

$$.TMP2        = 0000006B            LIST_NEXT1       000000E9 R     06   PHD$M_PFMFLG   = 00000001            

BIT...         = 00000003            MMG$GL_SYSPHD    ********   X   06   PHD$M_WSPEAKCHK= 00000004            

BLANK_ADR        0000005E R     05   NEXT_TITLE       00000040 R     03   PHD$Q_PRIVMSK    00000000            

BLANK_DSC        00000050 R     04   PAGCNT_ADR       00000048 R     05   PHD$S_ASTLVL   = 00000008            

BLANK_SIZ      = 00000004            PAGCNT_DSC       00000048 R     04   PHD$S_P0LR     = 00000018            

CNT...         = 00000004            PAGCNT_SIZ     = 00000016            PHD$V_ASTLVL   = 00000018            

CREATE_BUFFER    0000002C R     06   PERM_ADR1        0000001A R     05   PHD$V_DALCSTX  = 00000001            

CRF_ADR1         00000008 R     05   PERM_ADR2        0000001E R     05   PHD$V_P0LR     = 00000000            

CRF_ADR2         0000000C R     05   PHD$B_ASTLVL     000000CF            PHD$V_PFMFLG   = 00000000            

DELTITLE_ADR     000000DA R     05   PHD$B_DFPFC      00000038            PHD$V_WSPEAKCHK= 00000002            

DELTITLE_DSC     00000080 R     04   PHD$B_PAGFIL     0000001F            PHD$W_ASTLM      00000044            

DELTITLE_SIZ   = 00000024            PHD$B_PGTBPFC    00000039            PHD$W_BAK        00000048            

DZRO_ADR1        00000010 R     05   PHD$C_LENGTH     00000118            PHD$W_DFWSCNT    0000001A            

DZRO_ADR2        00000015 R     05   PHD$C_PHDPAGCTX= 00000008            PHD$W_EMPTPG     000000D8            

EXE$GL_GSDDELFL  ********   X   06   PHD$K_LENGTH     00000118            PHD$W_EXTDYNWS   00000076            

EXE$GL_GSDGRPFL  ********   X   06   PHD$L_BIOCNT     00000054            PHD$W_FILLM      00000060            

EXE$GL_GSDMTX    ********   X   06   PHD$L_CPULIM     00000058            PHD$W_FLAGS      0000003A            

EXE$GL_GSDSYSFL  ********   X   06   PHD$L_CPUTIM     0000003C            PHD$W_PHVINDEX   00000046            

EXPREG_PAGCNT    0000000C R     03   PHD$L_DIOCNT     00000050            PHD$W_PRCLM      00000042            

FAO              0000012B R     06   PHD$L_ESP        0000007C            PHD$W_PST        00000020            

FAOL             00000130 R     06   PHD$L_FREP0VA    00000028            PHD$W_PSTBASMAX  0000004A            

FAO_DSC          00000010 R     03   PHD$L_FREP1VA    00000030            PHD$W_PSTFREE    00000026            

FAO_LEN          00000018 R     03   PHD$L_FREPTECNT  0000002C            PHD$W_PSTLAST    00000024            

FAO_PRM          0000001C R     03   PHD$L_KSP        00000078            PHD$W_PTCNTACT   00000070            

FLAGS_LIST       00000000 R     04   PHD$L_P0BR       000000C8            PHD$W_PTCNTLCK   0000006C            

GBL...         = 00000000            PHD$L_P0LRASTL   000000CC            PHD$W_PTCNTMAX   00000072            

GBLNAM_ADR       0000002A R     05   PHD$L_P1BR       000000D0            PHD$W_PTCNTVAL   0000006E            

GBLNAM_DSC       00000040 R     04   PHD$L_P1LR       000000D4            PHD$W_QUANT      00000040            

GBLNAM_SIZ     = 0000001E            PHD$L_PAGEFLTS   0000004C            PHD$W_TQLM       00000062            

GET_BIGGER_BUF   00000000 R     06   PHD$L_PAGFIL     0000001C            PHD$W_WSAUTH     0000000A            

GET_GSD_LISTS    0000018D R     06   PHD$L_PC         000000C0            PHD$W_WSDYN      0000000E            

GPT_ENTRIES      0000003C R     03   PHD$L_PCB        00000078            PHD$W_WSFLUID    00000074            

GROUP_ADR        0000009B R     05   PHD$L_PGFLCNT    00000034            PHD$W_WSLAST     00000012            

GROUP_DSC        00000060 R     04   PHD$L_PGFLQUOTA  0000005C            PHD$W_WSLIST     00000008            

GROUP_SIZ      = 00000004            PHD$L_PSL        000000C4            PHD$W_WSLOCK     0000000C            

GRPTITLE_ADR     000000BF R     05   PHD$L_PSTBASOFF  00000020            PHD$W_WSLX       0000004A            

GRPTITLE_DSC     00000078 R     04   PHD$L_PTWSLELCK  00000064            PHD$W_WSNEXT     00000010            

GRPTITLE_SIZ   = 0000001B            PHD$L_PTWSLEVAL  00000068            PHD$W_WSQUOTA    00000018            

GSD$B_TYPE       0000000A            PHD$L_R0         00000088            PUT              00000158 R     06   

GSD$C_LENGTH     00000028            PHD$L_R1         0000008C            PUT_INIT         0000016C R     06   

GSD$K_LENGTH     00000028            PHD$L_R10        000000B0            RAB$L_RBF        ********   X   06   

GSD$L_GSDBL      00000004            PHD$L_R11        000000B4            RAB$W_RSZ        ********   X   06   

GSD$L_GSDFL      00000000            PHD$L_R12        000000B8            REC_BUF          00000044 R     03   

GSD$L_IDENT      00000014            PHD$L_R13        000000BC            REC_BUFSIZ     = 00000084            

GSD$L_UIC        0000000C            PHD$L_R2         00000090            SCH$LOCKR        ********   X   06   

GSD$T_GSDNAM     00000018            PHD$L_R3         00000094            SCH$UNLOCK       ********   X   06   

GSD$W_GRP        0000000E            PHD$L_R4         00000098            SEC$B_AMOD       00000015            

GSD$W_GSTX       00000012            PHD$L_R5         0000009C            SEC$B_PFC        0000000B            

GSD$W_PROT       00000010            PHD$L_R6         000000A0            SEC$C_LENGTH     00000020            

GSD$W_SIZE       00000008            PHD$L_R7         000000A4            SEC$K_LENGTH     00000020            

GSD_LISTS        0000017D R     06   PHD$L_R8         000000A8            SEC$K_MATALL   = 00000000            

GSD_LIST_PARAM   00000000 R     03   PHD$L_R9         000000AC            SEC$K_MATEQU   = 00000001            

INS$GBLSECLST    00000021 RG    06   PHD$L_REFERFLT   00000014            SEC$K_MATLEQ   = 00000002            

LIST_ADR         00000004 R     03   PHD$L_SSP        00000080            SEC$L_CCB        00000000            

LIST_DONE        0000010B R     06   PHD$L_USP        00000084            SEC$L_GSD        00000000            

LIST_ERROR       00000020 R     06   PHD$L_WSL        00000118            SEC$L_PAGCNT     0000001C            

GBLSECLST       - GLOBAL SECTION LISTING ROUTINE                 22-AUG-1978 01:18:17   VAX-11 MACRO X0.3-11               Page  12

SYMBOL TABLE                                                                                                                     (5)



SEC$L_REFCNT     00000018            

SEC$L_VBN        00000010            

SEC$L_VPXPFC     00000008            

SEC$L_WINDOW     0000000C            

SEC$M_AMOD     = 00000300            

SEC$M_CRF      = 00000002            

SEC$M_DZRO     = 00000004            

SEC$M_GBL      = 00000001            

SEC$M_PERM     = 00004000            

SEC$M_SYSGBL   = 00008000            

SEC$M_WRT      = 00000008            

SEC$S_AMOD     = 00000002            

SEC$S_CRF      = 00000001            

SEC$S_DZRO     = 00000001            

SEC$S_GBL      = 00000001            

SEC$S_PERM     = 00000001            

SEC$S_PFC      = 00000008            

SEC$S_SYSGBL   = 00000001            

SEC$S_VPX      = 00000016            

SEC$S_WRT      = 00000001            

SEC$V_AMOD     = 00000008            

SEC$V_CRF      = 00000001            

SEC$V_DZRO     = 00000002            

SEC$V_GBL      = 00000000            

SEC$V_PERM     = 0000000E            

SEC$V_PFC      = 00000018            

SEC$V_SYSGBL   = 0000000F            

SEC$V_VPX      = 00000000            

SEC$V_WRT      = 00000003            

SEC$W_FLAGS      00000014            

SEC$W_SECXBL     00000006            

SEC$W_SECXFL     00000004            

SECTIONS         00000038 R     03   

SS$_ACCVIO       ********   X   06   

SS$_NORMAL       ********   X   06   

SUMMARY_ADR      00000062 R     05   

SUMMARY_DSC      00000058 R     04   

SUMMARY_SIZ    = 00000039            

SYS$CMKRNL       ********   X   06   

SYS$DELTVA       ********   X   06   

SYS$EXPREG       ********   X   06   

SYS$FAOL         ********   X   06   

SYS$PUT          ********  GX   06   

SYSGBL_ADR1      00000022 R     05   

SYSGBL_ADR2      00000026 R     05   

SYSTEM_ADR       0000009F R     05   

SYSTEM_DSC       00000068 R     04   

SYSTEM_SIZ     = 00000004            

SYSTITLE_ADR     000000A3 R     05   

SYSTITLE_DSC     00000070 R     04   

SYSTITLE_SIZ   = 0000001C            

WRT_ADR1         00000000 R     05   

WRT_ADR2         00000004 R     05   





PROGRAM SECTION SYNOPSIS



GBLSECLST       - GLOBAL SECTION LISTING ROUTINE                 22-AUG-1978 01:18:17   VAX-11 MACRO X0.3-11               Page  13

PROGRAM SECTION SYNOPSIS                                                                                                         (5)



.  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$            0000011C      02     NOPIC   USR   CON   ABS   LCL NOSHR   EXE   RD    WRT BYTE  

DATA             000000C8      03     NOPIC   USR   CON   REL   LCL NOSHR NOEXE   RD    WRT LONG  

RO_LONG          00000088      04     NOPIC   USR   CON   REL   LCL NOSHR NOEXE   RD  NOWRT LONG  

RO_BYTE          000000FE      05     NOPIC   USR   CON   REL   LCL NOSHR NOEXE   RD  NOWRT BYTE  

CODE             0000020C      06     NOPIC   USR   CON   REL   LCL NOSHR   EXE   RD  NOWRT BYTE  





THERE WERE NO ERRORS OR WARNINGS.

18610. BYTES LEFT IN FREE MEMORY POOL.

1006. BYTES OF RECLAIMED MEMORY.

OBJ$:GBLSECLST,LIS$:GBLSECLST/-SP=EXECML$/ML,SRC$:GBLSECLST

4 MLB DIR RDS - 426 GETS TO DEFINE 20 MACROS. 23 INTER. FILE WRITES. 

