Trailing-Edge
-
PDP-10 Archives
-
BB-H138D-BM
-
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