Google
 

Trailing-Edge - PDP-10 Archives - BB-JF18A-BM - sources/rms/rmsglb.mac
There are 6 other files named rmsglb.mac in the archive. Click here to see a list.
TITLE	GLOBLS
SEARCH	RMSMAC

;FUNCTION:	THIS MODULE CONTAINS ALL GLOBAL VARIABLES WHICH
;		ARE USED BY EACH RMS-20 USER.
;		HOWEVER IT DEFINES THEM AS SYMBOLS RATHER THAN DATA.
;		ON THE 20, THE UNDERLYING PAGES ARE CREATED AUTOMATICALLY.
;		ON THE 10, THE CREATE-PAGE FUNCTION OF PAGE. UUO IS USED
;		TO CREATE THE UNDERLYING PAGES.
;
;
;
;	COPYRIGHT (C) DIGITAL EQUIPMENT CORPORATION 1977, 1986.
;	ALL RIGHTS RESERVED.
;
;	THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY  BE  USED  AND
;	COPIED ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH
;	THE INCLUSION OF THE ABOVE COPYRIGHT NOTICE.   THIS  SOFTWARE  OR
;	ANY  OTHER  COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE
;	AVAILABLE TO ANY OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE
;	SOFTWARE IS HEREBY TRANSFERRED.
;
;	THE INFORMATION IN THIS SOFTWARE IS  SUBJECT  TO  CHANGE  WITHOUT
;	NOTICE  AND  SHOULD  NOT  BE CONSTRUED AS A COMMITMENT BY DIGITAL
;	EQUIPMENT CORPORATION.
;
;	DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF
;	ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
;
;
;
;AUTHOR:	S. BLOUNT/RL
;
;
;**********	TABLE OF CONTENTS	**************
;
;
;
;
;	ROUTINE			FUNCTION
;	=======			========
;
;	GLOBALS			GLOBAL DECLARATIONS
;
;
;
;
;REVISION HISTORY:
;
;EDIT	DATE		WHO		PURPOSE
;====	====		===		=========
;
;1	28-JUL-76	SB		ADD DEXTR1
;2	1-NOV-76	SB		ADD FDBWORD1
;3	28-NOV-76	SB		ADD CBD
;4	1-APR-77	SB		ADD SAVEDCF
;5	8-OCT-79	AU		ADD 'RMSTACK' FOR INTERNAL USE
;
;*************************************************
;*						*
;*		NEW REVISION HISTORY		*
;*						*
;*************************************************
;
;PRODUCT	MODULE	 SPR
; EDIT		 EDIT	 QAR		DESCRIPTION
;======		======	=====		===========
;
;
;	***** END OF REVISION HISTORY *****
;
;	***** Start V2 development *****
;
;PRODUCT	MODULE	 SPR
; EDIT		 EDIT	 QAR		DESCRIPTION
;======		======	=====		===========
;
;301		300	XXXXX		Extended addressing support	
;450		 -	(SWE,DIL)	Add INTMSK, user's NXP interrupt
;451		 -	XXXXX		Change PAGTAB to use more of memory
;504					Make PDLL bigger for IMAGE & stuff
;572			(DR/AN)		Add TOPS-10, static allocation 
SUBTTL	GLOBAL DATA DCLS

IFNDEF GL$STATIC,GL$STATIC==TOP$10	; Static allocation on TOPS-10 only
					; for now, and probably forever   ;a572

; DCL$GL - DEFINE GLOBAL AS SYMBOL AND UPDATE CURR OFFSET INTO GLOBS AREA
;
IFE GL$STATIC <
DEFINE DCL$GL(NAME$,SIZE$)<
	NAME$=:RMS$$G + G$OFFS		;;DEFINE LOCATION OF SYMBOL
	G$OFFS==G$OFFS+SIZE$		;;HOP OVER THE BLOCK SO DEFINED
>
EXTERN	RMS$$G			;STARTING ADDR OF GLOBALS SET IN LINK CMD LIST
>;ELSE

IFN GL$STATIC <
DEFINE DCL$GL(NAME$,SIZE$)<
NAME$::	BLOCK	SIZE$
>
RMS$$G::			;STARTING ADDR OF GLOBALS SET IN LINK CMD LIST
>

G$OFFS==0				;INIT OFFSET

PDLNG=:^D1000				;SIZE OF RMS'S STACK   		  ;m504
					;SET IT SUCH THAT GLOBS AREA LT 2 PAGES

MAXLEV==^D15				;KLUDGE: REAL DEF IN RMSLIB.REQ
MAXKSZW==^D64				;KLUDGE: REAL DEF IN RMSLIB.REQ

DCL$GL	(    RMSTACK, PDLNG)		;ONLY RMS STACK ON 1ST PAGE OF GLOBALS
					; RMS INIT CODE (IN RMSOSM) NEEDS THIS

DCL$GL	(    BUGFLG,1)			; VERBOSITY LEVEL OF DEBUGGING
DCL$GL	(    BUGCOD,	1)		; ADDRESS OF ERROR STRING FOR LAST BUG
DCL$GL	(    SAVEDCF,1)			; SAVE THE OLD CF HERE IN CARGS
DCL$GL	(    ERRORROUTINE,1)		; ADDRESS OF ERROR ROUTINE ON I/O ERROR
DCL$GL	(    INTFLG,	1)		; FLAG FOR 1ST CALL
DCL$GL	(    NUMFREEPAGES, 1)		; CONTAINS # OF FREE CORE PAGES
DCL$GL	(    FRECOR,	1)		; FIRST PAGE OF FREE CORE
					;   ADDRESS ABSOLUTELY BECAUSE SIZE
					;   OF SYMTAB UNKN EXCEPT BY INSPEC
DCL$GL	(    PAGTAB,	760-440)	;[451] FSM PAGE-TAB (ALLOC MORE THAN ENUF P)
DCL$GL	(    PLOGPAGE,	1)		; FREE PAGE # USED DURING OPEN FOR PROLOGUE
DCL$GL	(    USERAC,	20)	; STORE USER AC'S HERE
DCL$GL	(    UJSYS,	2)		;[300] STORE USER JSYS HERE
DCL$GL	(    RETPC,	2)		;[300] STORE USER RETURN PC HERE
DCL$GL	(    RMSSEC,	1)		;[300] RMS section number
DCL$GL	(    USRSEC,	1)		;[300] USER's section number
DCL$GL	(    BLKSEC,	1)		;[300] Section number of FAB/RAB
DCL$GL	(    INTMSK,	1)		;[450] User's NXP interrupt mask
DCL$GL	(    USRSTS,	1)		; CONTAINS USER ERROR CODE
DCL$GL	(    USTOSF,	1)		;USER STAT TO USE IF OS FAILURE
DCL$GL	(    RMSSTS,	1)		; CONTAINS RMS STATUS WORD
DCL$GL	(    USRSTV,	1)		; ADDITIONAL STATUS INDORMATION
DCL$GL	(    ACC$1,	1)		; STORAGE FOR REGISTER 1 ON AN IO ERROR
DCL$GL	(    ACC$2,	1)		; SAME FOR REGISTER 2
DCL$GL	(    ACC$3,	1)		; SAME FOR REGISTER 3
DCL$GL	(    DVFLGS,	1)		; FLAGS FROM DEVCHR JSYS
DCL$GL	(    FDBWORD1,	1)		; FIRST WORD OF FILE'S FDB
DCL$GL	(    USERJFN,	1)		; TEMP STORAGE FOR JFN DURING $OPEN/$CREATE
DCL$GL	(    ERRADR,	1)		; ADDRESS OF USER ERROR ROUTINE
DCL$GL	(    OAFLAGS,	1)		; NON-ZERO IF $CRE/$OP FAILED AFTER FILE OPENED
DCL$GL	(    PB,	1)		; ADDRESS OF USER RAB/FAB
DCL$GL	(    FAB,	1)		; POINTER TO USER FAB
DCL$GL	(    RAB,	1)		; POINTER TO USER RAB
DCL$GL	(    RABUTL,	1)		; POINTER TO USER RAB CURR FOR $UTLINT
DCL$GL	(    FPT,	1)		; POINTER TO FILE PROLOGUE
DCL$GL	(    FST,	1)		; POINTER TO USER FST
DCL$GL	(    RST,	1)		; POINTER TO USER RST
DCL$GL	(    CBD,	1)		; POINTER TO CURRENT BUCKET DESCRIPTOR
DCL$GL	(    ADB,	1)		; POINTER TO AREA DESCRIPTOR BLOCK
DCL$GL	(    KDB,	1)		; POINTER TO CURRENT KEY DESCRIPTOR BLOCK
DCL$GL	(    DEXTR1,	1)		; DUMMY EXTERNAL USED TO PASS AC VALUES
DCL$GL	(    BUFACC,	1)		; COUNT OF BUFFER ACCESSES ( CALLS TO 'GETBUF')
DCL$GL	(    BFOUND,	1)		; COUNT OF BUFFERS FOUND BY GETBUF
DCL$GL	(    BFAULT,	1)		; COUNT OF BUFFERS NOT FOUND
DCL$GL	(    BFCORE,	1)		; COUNT OF FREE CORE BUFFERS

DCL$GL	(    PATH, MAXLEVELS)		; REMEMBERS INDEX PATH FOR UPDATING
DCL$GL	(    LOOP1,	1)		; SPECIAL LOOP LOCATIONS CALLED
DCL$GL	(    LOOP2,	1)		; ..BY INSRTUDR. THEY MUST BE HERE
DCL$GL	(    LOOP3,	1)		; ..'CAUSE THE INSTRUCTIONS ARE BUILT
DCL$GL	(    TBUFFER,MAXKSZW)	; BUFFER USED TO HOLD USER KEY
DCL$GL	(    TUBUFF,MAXKSZW)	; BUFFER FOR USER KEY IN $FIND
;

DC$MES				; DCLS FOR RMSMES, DESC OF FIELDS THERE
DC$MS2				; DCLS FOR RMSM2
;
;%([***THE FOLLOWING DECLARATIONS ARE TEMPORARY. THEY ARE USED ***])%
;%([***BY ROUTINES IN THE MODULE 'RMSOTS.MAC'. ONCE THE MEMORY ***])%
;%([***MANAGER JSYS IS AVAILABLE THESE DECLARATIONS CAN BE     ***])%
;%([***TAKEN OUT.					      ***])%
;
DCL$GL	(RMSAC,	20)		; SAVE RMS'S REGISTERS
DCL$GL	(FUNC,	1)
DCL$GL	(ERRCOD,	1)
DCL$GL	(STAT,	1)
DCL$GL	(ARG1,	1)
DCL$GL	(ARG2,	1)
;
;%([***		END OF TEMPORARY DECLARATIONS		***])%
;
DCL$GL	(    RMSEND, 0 )		; THE LAST LOCATION OF RMS

FREEPAGES=:757-<RMSEND_-9>		; # OF PAGES USED BY FSM
					;CAN BE RESET AT LINK TIME WITH /DEFINE
					;DOES NOT APPLY FOR RMSCOB

END