mirror of
https://github.com/PDP-10/stacken.git
synced 2026-03-06 19:11:04 +00:00
229 lines
6.4 KiB
Plaintext
229 lines
6.4 KiB
Plaintext
UNIVERSAL OVRPAR - OVERLAY FILE PARAMETERS FOR LINK
|
||
SUBTTL DAVE NEFF/DZN/HD/PAH/RJF 5-Feb-88
|
||
|
||
;COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1973,1986,1988.
|
||
; 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 WHICH IS NOT SUPPLIED BY DIGITAL.
|
||
|
||
|
||
|
||
CUSTVR==0 ;CUSTOMER VERSION
|
||
DECVER==5 ;DEC VERSION
|
||
DECMVR==1 ;DEC MINOR VERSION
|
||
DECEVR==220 ;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.
|
||
|
||
;Start of Version 6.0
|
||
;214 HD 28-May-86
|
||
; New coporate copywrite statement.
|
||
|
||
;220 RJF 5-Feb-88
|
||
; Update copyright to 1988.
|
||
|
||
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
|