Trailing-Edge
-
PDP-10 Archives
-
decuslib10-05
-
43,50337/25/simula.ctl
There is 1 other file named simula.ctl in the archive. Click here to see a list.
00100 .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
00200 .;;;; Build SIMULA system ;;;
00300 .;;;; Lars Enderin 19-Jan-1977 ;;;
00400 .;;;; (modif. Nov-1977) ;;;
00500 .;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
00600 .;;; This CTL file, primarily written for TOPS-10, shows how to
00700 .;;; build a SIMULA system from files supplied on the SIMULA
00800 .;;; distribution tape. You will have to make changes and adaptions
00900 .;;; of this file to make it work, but it should show you how
01000 .;;; to proceed.
01100 .;;;;;;;;;;;;;;;;;;;;;;;;;;
01200 .;;; ;;;
01300 .;;; UNV files ;;;
01400 .;;; ;;;
01500 .;;;;;;;;;;;;;;;;;;;;;;;;;;
01600 .;
01700 .;
01800 .COMPILE/MACRO/CREF SIMPRM+SIMMAC,SIMMC1,SIMMC2,SIMMC3,SIMMCR,SIMRPA,MACSIM
01900 .;; SIMP20 should prefix SIMMAC for TOPS-20 version.
02000 .CREF
02100 .PRINT *.LPT/NOHEAD
02200 .;; You should now have the relevant .UNV files. Note that only
02300 .;; SIMMAC.UNV is different for TOPS-10, TOPS-20, DEBUG or SYS
02400 .;; versions. UUOSYM.UNV is needed also in TOPS-20.
02500 .;;
02600 .;;
02700 .;;;;;;;;;;;;;;;;;;;;;;
02800 .;;; COMPILER FILES ;;;
02900 .;;;;;;;;;;;;;;;;;;;;;;
03000 .;
03100 .;
03200 .COMPILE/MACRO/CREF DM,LOWSEG ;Used in all passes
03300 .;.COMPILE/MACRO/CREF V1B ;Only for TOPS-20
03400 .;.COMPILE/MACRO/CREF TRACE ;Trace version only
03500 .CREF
03600 .PRINT *.LPT/NOHEAD
03700 .;
03800 .;;; PASS 1 ;;;
03900 .;
04000 .R MACRO
04100 *D1,D1/P/C=D1.MAC
04200 *P1DUMP,P1DUMP/P/C=P1DUMP ;For debug only
04300 *SR,SR/P/C=SR ;Note that this takes a lot of time (ca 3 min KL-20B)
04400 .R CREF
04500 *D1
04600 *P1DUMP
04700 *SR
04800 .COMPILE/MACRO/CREF I1,DP,LC,LS,O1,SD,SH,SM,SP,SYS1,T1,DM
04900 .;.COMPILE/MACRO/CREF TRACEI ;Trace version only
05000 .CREF
05100 .PRINT *.LPT/NOHEAD
05200 .;
05300 .;
05400 .;;;; PASS 2 ;;;;
05500 .;
05600 .;
05700 .COMPILE/MACRO/CREF I2,CA,CARL,CGCW,CGIW,CGOB,CGPA,CGRK,CGSA
05800 .;.COMPILE/MACRO/CREF CADB,DBDT ;Only debug version
05900 .COMPILE/MACRO/CREF EX,M2,O2,O2RK,O2SA,OD,OR,OREA,ORRK
06000 .CREF
06100 .PRINT/NOHEAD *.LPT
06200 .;
06300 .;
06400 .;;;; PASS 3 ;;;;
06500 .;
06600 .;
06700 .COMPILE/MACRO/CREF I3,E3,M3,O3,SIMXRF,T3
06800 .;.COMPILE/MACRO/CREF TRACEB ;Trace version only
06900 .;; TRACEB only in trace version
07000 .CREF
07100 .PRINT/NOHEAD *.LPT
07200 .;;;;;;;;;;;;;;;;;;;;;;;;;;;;
07300 .;;; LOADING THE COMPILER ;;;
07400 .;;;;;;;;;;;;;;;;;;;;;;;;;;;;
07500 .;
07600 .;; Can be used to load one-segment version
07700 .;; as it stands
07800 .;
07900 .R LINK
08000 *SIMULA.MAP/MAP ;For one-segment compiler only
08100 *;Pass 1
08200 *;*SIMP1.MAP/MAP
08300 */RUNAME:SIMULA ;In any case
08400 */SYMSEG:NONE ;HIGH for debug
08500 *I1,DM ;I1 M U S T be loaded first!!!
08600 *D1,DP,LC,LS,O1,SD,SH,SM,SP,SR,SYS1,T1
08700 *REL:HELPER.REL ;Possibly on SYS:
08800 *;*P1DUMP ;Debug only
08900 *;LOWSEG ;In each pass once only, last before any TRACE
09000 *;*TRACE,TRACEI ;Trace only
09100 .;
09200 .;Pass 2
09300 .;
09400 *;*/RUNAME:SIMP2,SIMP2.MAP/MAP/SYMSEG:NONE ;(or HIGH)
09500 *I2,CA,CARL,CGCW,CGIW,CGOB,CGPA,CGRK,CGSA ;I2 first!!
09600 *;*CADB,DBDT ;Only debug version
09700 *EX,M2,O2,O2RK,O2SA,OD,OREA,ORRK
09800 *;*DM,LOWSEG
09900 *;*TRACE
10000 .;Pass 3
10100 *;*/RUNAME:SIMP3,SIMP3.MAP/MAP/SYMSEG:NONE ;(or HIGH)
10200 .;
10300 *I3,E3,M3,O3,SIMXRF,T3 ;I3 first!!
10400 *;*DM
10500 *V1B,HIEND ;TOPS-20 only
10600 *LOWSEG
10700 *;*TRACE,TRACEB
10800 */G
10900 .SSAVE
11000 .;;
11100 .;;
11200 .;;;;;;;;;;;;;;;;;;;;;;;;;;;
11300 .;;; ;;;
11400 .;;; RUNTIME ;;;
11500 .;;; ;;;
11600 .;;;;;;;;;;;;;;;;;;;;;;;;;;;
11700 .;
11800 .;;; HIGH SEGMENT(S) ;;;
11900 .; usually two with TOPS-10 ;
12000 .;
12100 .R MACRO ;Only for TOPS-10 twoseg version
12200 *SIMRT1,SIMRT1/C=SIMRT1.PRE,SIMRTS.MAC
12300 *SIMRT2,SIMRT2/C=SIMRT2.PRE,SIMRTS.MAC
12400 .R CREF
12500 *SIMRT1
12600 *SIMRT2
12700 .COMPILE/MACRO/CREF CSSADM ;Only twoseg version
12800 .CREF
12900 .PRINT/NOHEAD *.LPT
13000 .COMPILE/MACRO/CREF SIMR40 ;Single seg version
13100 .CREF
13200 .PRINT/NOHEAD *.LPT
13300 .COMPILE/MACRO/CREF CP,CS,IO,IOED,IONF,OCEP,OCIN,OCIO,PH,SA
13400 .COMPILE/MACRO/CREF TX,TXBL
13500 .CREF
13600 .PRINT/NOHEAD *.LPT
13700 .R LINK
13800 */SYMSEG:NONE ;or HIGH for debug
13900 *SIMRTS.MAP/MAP/RUNAME:SIMRTS ;Single high segment only
14000 *;*SIMR41.MAP/MAP/RUNAME:SIMR41 ;TOPS-10 normal version, segm 1
14100 *;*SIMRT1 ;Segm 1 only
14200 *CP,CS,IO,IOED,PH,TX,OCEP
14300 *OCIO,SA,TXBL ;In both high segments
14400 *;*SIMR42.MAP/MAP/RUNAME:SIMR42 ;TOPS-10 normal version, segm 2
14500 *;SIMRT2,CSSADM ;Segm 2 only
14600 *IONF,OCIN,REL:HELPER ;or SYS:HELPER
14700 *;*OCIO,SA,TXBL
14800 *;V1B ;TOPS-20 only
14900 */G
15000 .SAVE ;NSAVE, SSAVE, NSSAVE
15100 .;;
15200 .;;
15300 .;;; SIMLIB ;;;
15400 .;;
15500 .COMPILE/MACRO/CREF MA,MAT,OCSP,PHFO,RD,SANE,SS,SU
15600 .CREF
15700 .PRINT/NOHEAD *.LPT
15800 .COMPILE/MACRO/CREF OCSP0=OCSP0.PRE+OCSP.MAC ;TOPS-10 one-seg version only
15900 .R FUDGE2 ;or MAKLIB
16000 *SIMLIB=OCSP(A)^[
16100 *;*SIMLIB=OCSP0(A)^[ ;TOPS-10 one-seg version
16200 *SIMLIB=SIMLIB,PHPT,MA,MAT,SU,SS,SANE,PHFO(A)^[
16300 *SIMLIB=SIMLIB,SYS:FORLIB<ACOS.,ASIN.,SQRT.,SINH.,COSH.,TANH.,
16400 *.EXP1,.EXP2,EXP.,.ALOG,.SIN,DEXP.2,DEXP.3,DEXP.,DLOG.,DSQRT.,
16500 *DATAN.,FORXIT,EXIDOT>(A)^[
16600 *SIMLIB/X=SIMLIB^[
16700 *SIMLIB=SIMLIB(L)^[
16800 *SIMLIB.L=SIMLIB(S)^[
16900 .PROTECT <155>SIMLIB.REL
17000 .TYPE SIMLIB.LST,SIMLIB.L
17100 .DELETE SIMLIB.L,SIMLIB.LST
17200 .;;
17300 .;; Obviously, the distributed SIMLIB can be used as basis
17400 .;;
17500 .;;
17600 .;;;;;;;;;;;;;;;;;;;
17700 .;;; SIMDDT ;;;
17800 .;;;;;;;;;;;;;;;;;;;
17900 .;
18000 .;
18100 .; SIMULA debug system (SIMDDT) compilation
18200 .; and creation of a new SIMDDT.ABS using SUTABS
18300 .; SIMEDS is created by SUTEDS from the handbook messages
18400 .; SIMMAC.UNV,SIMMCR.UNV and SIMRPA.UNV must be available
18500 .; Also SUTABS.REL or .MAC
18600 .R MACRO
18700 *SIMDDT,SIMDDT/P/C=SIMDS1.MAC,SIMDS2.MAC,SIMDS3.MAC,SIMDS8.MAC,SIMEDS.MAC,SIMDS9.MAC,SIMDS7.MAC
18800 .R CREF
18900 *SIMDDT
19000 .PRINT/NOHEAD *.LPT
19100 .EXEC SIMDDT.REL,SUTABS.REL
19200 .;;;
19300 .;;;
19400 .;;; GLOB files have been omitted in this CTL file ;;;
19500 .;;; Use other command strings as basis for GLOB commands.
19600 .;;;
19700 .;;; Copy to SYS:, DOC:, HLP: the relevant files.
19800 .;;;
19900 .;;; You may need to save old files on OLD.
20000 .;;; Make sure the files get at most execute protection
20100 .;;; for the users.
20200 .;;; See SIMIMP.MAN for files to copy ;;;;