mirror of
https://github.com/PDP-10/stacken.git
synced 2026-02-28 17:09:15 +00:00
215 lines
4.2 KiB
Plaintext
215 lines
4.2 KiB
Plaintext
UNIVERSAL PLTPRM
|
||
SUBTTL /DZN/PAH/HD/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==2417 ;DEC EDIT VERSION
|
||
SUBTTL REVISION HISTORY
|
||
|
||
|
||
;START OF VERSION 4A
|
||
;1217 Clean up the listings for release.
|
||
;1220 Release on both TOPS-10 and TOPS-20 as version 4A(1220).
|
||
|
||
;Start of Version 5.1
|
||
;2026 Update copyright notice.
|
||
|
||
;Start of Version 6.0
|
||
;2403 New corporate copywrite statement.
|
||
;2417 Update copywrite statement to 1988.
|
||
|
||
T0=0
|
||
T1=1
|
||
R0=0
|
||
R1=1
|
||
AP=16
|
||
P=17
|
||
|
||
DEFINE ARGS (A) <
|
||
ARG.L=15
|
||
CNT.=0
|
||
IRP A,<
|
||
A=ARG.L-CNT.
|
||
CNT.=CNT.+1>
|
||
IRP A,<
|
||
MOVE ARG.L,-15-CNT.(P)
|
||
ARG.L=ARG.L-1
|
||
CNT.=CNT.-1>>
|
||
|
||
DEFINE LOCSUB (A,B) <
|
||
C.....=0
|
||
IFNB <B>,< IRP B,<C.....=C.....+1
|
||
PUSH P,B>>
|
||
PUSHJ P,A
|
||
IFN C.....,< SUB P,[C.....,,C.....]>
|
||
>
|
||
|
||
DEFINE FUNCT2(A,B)<
|
||
; SALL
|
||
T.....=0
|
||
ST....=1
|
||
IF2,<IFNDEF A,<EXTERNAL A>>
|
||
IFNB <B>,<
|
||
PUSH P,AP
|
||
IRP B,<IFIDN <B> <$1>, <ST....=0>
|
||
IFIDN <B> <$2>, <ST....=-1>
|
||
IFDIF <B> <$1>,<
|
||
IFDIF <B> <$2>,<
|
||
IFG ST....,<PUSH P,B
|
||
T.....=T.....+1
|
||
>
|
||
ST....=1>>>
|
||
R.....=0
|
||
IRP B,<IFIDN <B> <$1>, <ST....=0>
|
||
IFIDN <B> <$2>, <ST....=-1>
|
||
IFDIF <B> <$1>,<
|
||
IFDIF <B> <$2>,<
|
||
IFE ST....,<T......=T......+1
|
||
PUSH P,B>
|
||
IFL ST....,<T.....=T.....+1
|
||
PUSH P,[B]>
|
||
IFG ST....,<T......=T......+1
|
||
R.....=R.....+1
|
||
HRRZI AP,-T.....+R.....+1(P)
|
||
PUSH P,AP
|
||
>
|
||
ST....=1>>>>
|
||
MOVEI AP,-T.....+R.....+1(P)
|
||
PUSHJ P,A
|
||
IFNB <B>,<
|
||
SUB P,[T.....,,T.....]
|
||
POP P,AP>>
|
||
|
||
DEFINE SAVE (A)<
|
||
IRP A,< PUSH P,A>>
|
||
|
||
DEFINE RESTOR (A)<
|
||
IRP A,< POP P,A>>
|
||
|
||
|
||
DEFINE SAVALL <
|
||
HRRZ R0,P
|
||
ADD R0,[2,,1]
|
||
BLT R0,16(P)
|
||
ADD P,[15,,15]>
|
||
|
||
DEFINE RETURN <
|
||
JRST RAX$##>
|
||
|
||
DEFINE POPALL <
|
||
SUB P,[15,,15]
|
||
HRLZ AP,P
|
||
ADD AP,[1,,2]
|
||
BLT AP,16>
|
||
|
||
L=16
|
||
SUBTTL D. TODD/DRT/HPW/SRM 4-FEB-74
|
||
|
||
|
||
|
||
; THIS FILE MUST BE ASSEMBLED WITH ALL SOURCE FILES
|
||
; OF THE FORTRAN OBJECT TIME STSTEM (FOROTS)
|
||
|
||
; EXTERNAL SYSTEM SYMBOLS
|
||
EXTERN .JBFF,.JBREL,.JBOPS,.JBSA,.JBTPC,.JBOPC,.JB41,.JBHRL
|
||
EXTERN FOROT% ;DEFINE ENTRY POINT TO FOROTS
|
||
|
||
|
||
; PDP-10 PROCESSOR SWITCHES
|
||
; PDP-6 PR0CESS=PDP6
|
||
; PDP-10 (KA10) PROCESSOR=KA10
|
||
; PDP-10 (KI10) PROCESS==KI10
|
||
|
||
PDP6==0
|
||
KA10==1
|
||
KI10==2
|
||
IFNDEF CPU,<CPU==KI10> ;THE DEFAULT CPU
|
||
CPU==KA10 ;;;;;
|
||
|
||
; FOROTS SYSTEM DEVICE
|
||
|
||
;FOROTS ON DSK SYSDEV=SIXBIT /DSK/
|
||
;FOROTS ON SYS SYSDEV=SIXBIT /SYS/
|
||
|
||
IFNDEF SYSDEV,<SYSDEV=SIXBIT /SYS/> ;DEFAULT ON DSK FOR DEVELOP.
|
||
|
||
|
||
; TO MAKE TWOSEG
|
||
|
||
HILOW==0
|
||
LPSYM==0 ;FOR LINK PLT, LPT SIMULATION IS ON
|
||
F40LIB==0
|
||
F10LIB==1
|
||
ALONE==1 ;FOR LINK TSTOUT
|
||
CONCEA==0 ; CONCEAL?
|
||
|
||
OPDEF PJRST [JRST] ;PUSHJ/POPJ
|
||
DEFINE ERROR(CLASS,TYPE,SEVER,RETURN)<
|
||
IFE CONCEA,<
|
||
XCT 0,FORER.## ;PROCESS CLASS ERROR
|
||
>
|
||
IFN CONCEA,<
|
||
XCT ER%'CLASS,FORER%## ;PROCESS CLASS ERROR
|
||
>
|
||
CAI TYPE,RETURN(SEVER) ;SEVERITY CODE AND ERROR RETURN
|
||
>
|
||
|
||
SUBTTL FORLIB MACROS (USED BY THE LIBRARY ROUTINES)
|
||
|
||
DEFINE FUNCT(A,B)<
|
||
SALL
|
||
C.....=0
|
||
IRP B,<C.....=C.....+1>
|
||
IF2,<IFNDEF A,<EXTERNAL A>>
|
||
IFNB <B>,<
|
||
PUSH P,L
|
||
MOVEI L,[XWD -C.....,0
|
||
IRP B,<B>]+1>
|
||
PUSHJ P,A
|
||
IFNB <B>,<
|
||
POP P,L>>
|
||
|
||
DEFINE HELLO (A,B)<
|
||
SALL
|
||
IFNB <B>,<IFIDN <B>,<.>,<SIXBIT /A/
|
||
ENTRY A'.
|
||
A'.:>
|
||
IFDIF <B>,<.>,<SIXBIT /B/
|
||
ENTRY A
|
||
A:>
|
||
>
|
||
IFB <B>,<SIXBIT /A/
|
||
ENTRY A
|
||
A:>
|
||
IFN F40LIB,<
|
||
CAIA
|
||
PUSH P,CEXIT.##
|
||
>
|
||
> ;END OF HELLO MACRO
|
||
|
||
DEFINE GOODBY (N)<
|
||
POPJ P,N>
|
||
|
||
|
||
END
|