Google
 

Trailing-Edge - PDP-10 Archives - bb-d868e-bm_tops20_v41_2020_dist_1of2 - language-sources/ovrpar.mac
There are 25 other files named ovrpar.mac in the archive. Click here to see a list.
UNIVERSAL OVRPAR - OVERLAY FILE PARAMETERS FOR LINK
SUBTTL	DAVE NEFF/DZN/HD/PAH	6-Jan-83


;COPYRIGHT (C) 1974, 1983 BY
;DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
;
;
;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 WHICH IS NOT SUPPLIED BY DIGITAL.



CUSTVR==0		;CUSTOMER VERSION
DECVER==5		;DEC VERSION
DECMVR==1		;DEC MINOR VERSION
DECEVR==202		;DEC EDIT VERSION


SEARCH	MACTEN
SALL
.DIRECT	.NOBIN		;DON'T BOTHER WITH A .REL FILE


%OVRLA==<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>
SUBTTL	REVISION HISTORY


;START OF VERSION 5 (CREATION)
;100	DZN	8-Feb-80
;	Creation. Combine common overlay file parameters for use by LINK and
;	OVRLAY.

;START OF VERSION 5.1
;104	HD	17-Jun-82
;	Add the symbol A.DSC for the FORTRAN/COBOL byte string descriptor.
;

;202	PAH	 6-Jan-82
;	Update copyright notice and clean up listings for release.
SUBTTL	OVERLAY FILE DIRECTORY AND PREAMBLE


;MAXIMUM NUMBER OF OVERLAY LINKS ALLOWED, FOR MEMORY MANAGEMENT.

ND LN.OVL,^D128*^D10*2		;MAX. NO. OF OVERLAYS ALLOWED


	LOC	0
DI.HDR:!BLOCK	1		;CODE ,, LENGTH
DI.RGN:!BLOCK	1		;NO OF REGIONS
DI.VER:!BLOCK	1		;VERSION #
DI.LPT:!BLOCK	1		;-LENGTH AND BLOCK NUMBER OF LINK NUMBER TABLE
DI.NPT:!BLOCK	1		;-LENGTH AND BLOCK NUMBER OF LINK NAME TABLE
DI.WPT:!BLOCK	1		;[100] -LENGTH AND BLOCK NUMBER OF WRITABLE LINK TABLE
DI.FLG:!BLOCK	1		;[100] FLAGS
	OD.RLC==1B0		;[100] RELOCATABLE OVERLAYS WERE REQUESTED
	OD.WRT==1B1		;[100] WRITABLE OVERLAYS WERE REQUESTED
DI.LEN==.			;LENGTH OF DIRECTORY
	RELOC


;WRITABLE LINK TABLE. TWO FLAG BITS PER LINK, INDEXED BY LINK NUMBER.

	OW.WRT==1B34		;[100] THIS LINK IS WRITABLE
	OW.PAG==1B35		;[100] THIS LINK IS CURRENTLY PAGED TO nnnOVL.TMP
WR.LEN==<LN.OVL+^D17>/^D18	;[100] LENGTH OF WRITABLE LINK TABLE


;PREAMBLE OF EACH LINK SECTION

	LOC	0
PH.HDR:!BLOCK	1		;0,,LENGTH
PH.RGN:!BLOCK	1		;REGION NUMBER
PH.NUM:!BLOCK	1		;LINK NUMBER
PH.NAM:!BLOCK	1		;LOGICAL NAME
PH.BPT:!BLOCK	1		;BACK POINTER
PH.FPT:!BLOCK	1		;FORWARD POINTER
PH.EPT:!BLOCK	1		;EQUIVALENCE POINTER
PH.CST:!BLOCK	1		;ADDRESS OF CONTROL SECTION
PH.FLG:!BLOCK	1		;FLAGS
PH.ADD:!BLOCK	1		;ADDRESS LOADED AT
PH.LLN:!BLOCK	1		;[100] LENGTH OF LINK
PH.OVL:!BLOCK	1		;BLOCK # FOR CODE
PH.SYM:!BLOCK	1		;BLOCK # FOR SYMBOLS (FUTURE)
PH.REL:!BLOCK	1		;BLOCK # FOR RELOC FIXUP
PH.ORL:!BLOCK	1		;BLOCK # FOR OTHER RELOC TABLES
PH.GLB:!BLOCK	1		;NOT USED
PH.RDX:!BLOCK	1		;BLOCK # FOR DDT SYMBOL TABLE
PH.RDR:!BLOCK	1		;BLOCK # FOR RELOC FOR DDT SYMBOLS
PH.NFL:!BLOCK	1		;NEXT FREE LOCATION
PH.LEN==.			;[100] LENGTH OF PREAMBLE
	RELOC
SUBTTL	IN-MEMORY OVERLAY FILE OFFSETS


	LOC	0
CS.HDR:!			;HEADER (LH)
CS.LLN:!BLOCK	1		;[100] LENGTH (RH)
CS.RGN:!BLOCK	1		;REGION #
CS.NUM:!BLOCK	1		;LINK NUMBER
CS.LNM:!BLOCK	1		;LOGICAL NAME
CS.BPT:!			;BACK POINTER
CS.FPT:!			;FORWARD POINTER
CS.PTR:!BLOCK	1		;..
CS.SYM:!BLOCK	1		;SYMBOL TABLE PTR.
CS.FLG:!			;FLAGS
	CF.RLO==1B17		;OTHER RELOCATION STILL TO DO
CS.STA:!BLOCK	1		;START ADDRESS (RH)
CS.SIZ:!			;LENGTH (LH)
CS.ADR:!			;ADDRESS (RH)
CS.COR:!BLOCK	1		;..
CS.EXT:!BLOCK	1		;AOBJN PTR TO EXTERNAL TRANSFER TABLES
CS.INT:!BLOCK	1		;AOBJN PTR TO INTERNAL TRANSFER TABLES
CS.DDT:!BLOCK	1		;POINTER TO DDT SYMBOLS ON DSK
CS.RLC:!BLOCK	1		;HOLD OFFSET IF RELOCATED
CS.OVL:!BLOCK	1		;[100] COPY OF PH.OVL FOR WRITABLE OVERLAYS
CS.OSY:!BLOCK	1		;[100] ORIGINAL COPY OF CS.SYM
CS.LEN==.			;[100] LENGTH OF CONTROL SECTION
	RELOC


;EXTTAB ENTRY OFFSETS

	LOC	0
ET.OVL:!BLOCK	1		;JSP T1,.OVRLA
ET.FLG:!			;FLAGS (BITS 0-8)
	F.LIC==400000,,0	;LINK IN CORE
	F.MDL==200000,,0	;ROUTINE IN MULTIPLE LINKS
	F.RLC==100000,,0	;LINK IS RELOCATED
ET.RGN:!			;REGION # (BITS 9-17)
ET.ADR:!BLOCK	1		;ADDRESS IF IN CORE (RH)
ET.NUM:!			;NUMBER (LH)
ET.MDL:!			;ONLY IF MULTIPLY-DEFINED (POINTS TO TABLE)
ET.CST:!BLOCK	1		;THIS CONTROL SECTION (RH)
ET.BRF:!			;BACK REFERENCE (LH)
ET.FRF:!			;FORWARD REFERENCE (RH)
ET.NAM:!			;EXTERNAL REQUEST NAME (IF UNDEFINED)
ET.REF:!BLOCK	1		;LINKED REFERENCES
ET.LEN==.			;LENGTH OF EXTTAB
	RELOC
;EXTTAB OFFSETS WHEN CALLED BY A JSP

DEFINE DEFJT(MNEM)<
  IRP MNEM,<JT.'MNEM==ET.'MNEM-1>
>

DEFJT	<FLG,ADR,CST,MDL,NUM,REF,NAM>

PURGE	DEFJT			;DONE WITH DEFJT MACRO


;INTTAB ENTRY OFFSETS

	LOC	0
IT.FLG:!			;FLAGS (BITS 0-12)
IT.ADD:!BLOCK	1		;ADDRESS IN CORE (RH)
IT.REF:!BLOCK	1		;FORWARD REFERENCE (RH)
IT.LEN==.			;LENGTH OF INTTAB
	RELOC


;MULTIPLY-DEFINED ENTRY OFFSETS

	LOC	0
MT.ADR:!BLOCK	1		;EQUIV TO ET.ADR
MT.NUM:!			;LINK # (EQUIV TO ET.NUM)
MT.CST:!BLOCK	1		;EQUIV TO ET.CST
MT.LEN==.			;LENGTH OF MULTIPLY-DEFINED ENTRY TABLE
	RELOC
	SUBTTL	FUNCT. FUNCTION CODES AND ARGUMENT TYPES


;FUNCT. FUNCTION CODES

F.ILL==0		;ALWAYS ILLEGAL
F.GAD==1		;GET SPECIFIC ADDRESS
F.COR==2		;GET ANY ADDRESS
F.RAD==3		;RETURN SPECIFIC ADDRESS
F.GCH==4		;GET ANY CHANNEL (OBSOLETE WITH EXTENDED CHANNELS)
F.RCH==5		;RETURN SPECIFIC CHANNEL (OBSOLETE WITH EXTENDED CHANNELS)
F.GOT==6		;GET MEMORY FROM OTS
F.ROT==7		;RETURN MEMORY TO OTS
F.RNT==10		;GET INITIAL RUNTIME FROM OTS
F.IFS==11		;GET INITIAL FILE SPEC (TOPS-10 ONLY, OBSOLETE WITH 7.01)
F.CBC==12		;CUT BACK MEMORY
F.RRS==13		;READ DBMS RETAIN STATUS
F.WRS==14		;WRITE DBMS RETAIN STATUS
F.GPG==15		;GET MEMORY ON A PAGE BOUNDARY
F.RPG==16		;RETURN MEMORY ALLOCATED BY F.GPG


;FUNCT. (AND FORTRAN AND COBOL) ARGUMENT TYPES

A.UND==0		;UNDEFINED (UNKNOWN)
A.LOG==1		;FORTRAN LOGICAL
A.SPI==2		;SINGLE PRECISION INTEGER
A.SPR==4		;SINGLE PRECISION REAL
A.OCT==6		;SINGLE PRECISION OCTAL
A.LBL==7		;LABEL OR SECTION ADDRESS
A.DPR==10		;DOUBLE PRECISION REAL
A.DPI==11		;DOUBLE PRECISION INTEGER
A.DO==12		;DOUBLE PRECISION OCTAL
A.CMP==14		;COMPLEX
A.DSC==15		;[104] STRING DESCRIPTOR
A.AS==17		;LITERAL STRING
	SUBTTL	THE END


	END