Trailing-Edge
-
PDP-10 Archives
-
decuslib20-03
-
decus/20-0091/forth.mac
There is 1 other file named forth.mac in the archive. Click here to see a list.
00100 TITLE FORTH PROGRAMMING SYSTEM
00200 ; FORTH PROGRAMMING SYSTEM
00300
00400 ;Martin S. Ewing, California Institute of Technology,
00500 ;Pasadena, CA 91125 213-795-6811
00600
00700 ;12/17/77 - REG 16 FREED FOR FORTRAN.
00800 ;12/17/77 - RP/IC REG ASSIGNMENTS SWITCHED.
00900 ;12/16/77 - ADD SIN,COS,... EXTERNALS TO FORTRAN LIBRARY.
01000 ; (MUST NOW USE DUMMY FORTRAN RTN OR MACRO RTN TO LOAD!)
01100 ;08/28/77 - ADD "INTERPRET" FOR IN-CORE INTERPRETING.
01200 ;03/27/77 - ADD "FORSYS" "NOFORSYS" TO ALLOW SYSTEMS WITHOUT FORSYS.DAT.
01300 ;02/21/77 - WORDS "WOPEN", "WCLOSE" ENABLE OPENING BLOCK I/O FOR OUTPUT.
01400 ;12/31/76 - MAKE FORSYS.DAT READ ONLY UNTIL FLUSH TIME.
01500 ;12/12/76 - FIX UP 'CORE' WORD: TAKE # OF KWDS ON STACK.
01600
01700 RADIX 8
01800 SUBTTL ASSEMBLY PARAMETERS
01900
02000 .DIRECTIVE FLBLST ;FIRST LINE BINARY LIST ONLY
02100 SALL
02200 ..FORT==0 ;IF DEFINED, INCLUDES FORTRAN LIBRARY RTNS
02300
02400 IFDEF ..FORT <
02500 EXTERN SIN.,COS.,SQRT.,ATAN.,ATAN2.,EXP.
02600 EXTERN IFX.2,ASIN.,CEXP.,FLT.2,ALG10.,ALOG.
02700 >
02800 EXTERN .JBDDT,.JBSA,.JBREN,.JBREL
02900
03000 ;Word header format: word 0: LINK ADR, 0
03100 ; Word 1: CNT, C0, C1, C2, C3
03200 ;(Last bit of word 1 is the precedence.)
03300
03400 ;ASSEMBLY PARAMETERS
03500
03600 ;TWSEG== 0 ;SIGNAL TWO SEGMENT ASSEMBLY, IF PRESENT
03700 IFDEF TWSEG,<TWOSEG>
03800
03900 PWR== 4 ;LOG BASE 2 OF NUMBER OF DICT. THREADS
04000 NWAY== 1_PWR ;NUMBER OF DICT. THREADS
04100 MSK== NWAY-1 ;CORRESPONDING BIT MASK
04200
04300 KORE=2 ;2K EXTRA CORE
04400 RPSIZ=100 ;RETURN STACK SIZE
04500 DCH=0 ;DISK'S SOFTWARE CHANNEL
04600 CHPWD=4 ;MAXIMUM NUMBER OF CHARACTERS PER FORTH 'WORD'
04700 WDLIM=^D72 ;MAX NUMBER OF CHARACTERS CONVERTIBLE BY "WORD"
04800
04900 ;REGISTERS = LOW CORE
05000 R0= 0
05100 R1= 1
05200 R2= 2
05300 R3= 3
05400 R4= 4
05500 R5= 5
05600 R6= 6
05700 R7= 7
05800 V= 10
05900
06000 DP= 11
06100 T= 12
06200 TT= 13 ;NOTE TT MUST = T+1!
06300 SP= 14
06400 IC= 15
06500 ;R16 == FORTRAN PARAMETER BLOCK REG.
06600 RP= 17