mirror of
https://github.com/kenrector/sds-kit.git
synced 2026-01-24 19:22:00 +00:00
3888 lines
307 KiB
Plaintext
3888 lines
307 KiB
Plaintext
******************************
|
|
* ALGOL *
|
|
* 910/920 60-4 *
|
|
* 012016 *
|
|
******************************
|
|
AORG 1
|
|
WIM 2
|
|
OBJTY EQU 016000 ALGOL OBJECT CODE TYPER
|
|
NLIT EQU 0176 NUMBER OF LITERALS
|
|
STL EQU 67
|
|
NIMF EQU 16 NUMBER OF IMPLICIT FUNCTIONS
|
|
LIMF EQU 20 LENGTH OF IMPLICIT DECS
|
|
ZZA EQU 014000000 APOSTROPHE
|
|
ZZD EQU 061000000 DIVIDE
|
|
ZZI EQU 076000000 INVERSE DIVIDE
|
|
ZZP EQU 020000000 PLUS
|
|
ZZL EQU 035000000 LEFT BRACKET
|
|
ZZR EQU 055000000 RIGHT BRACKET
|
|
ZZSC EQU 056000000 SEMICOLON
|
|
IMAGE RES 20
|
|
BUF DATA 050000 CONTROL WORD
|
|
DATA 02100000 LOAD ADDR WORD
|
|
RES 24
|
|
DATA 0,0,0,0,0,0,0,0
|
|
RAST RES 1
|
|
CHAR RES 1
|
|
LEN RES 1
|
|
NAME RES 2
|
|
CNT RES 1
|
|
OP RES 1
|
|
CC DATA 80
|
|
AORG 0100
|
|
TYY OPD 010000000
|
|
TYPW 1,1
|
|
MIW *0
|
|
TOPW 1
|
|
BRTW
|
|
BRU $-1
|
|
BRR 0
|
|
SKMA OPD 010600000
|
|
SKMA SKM *0
|
|
MIN 0
|
|
BRR 0
|
|
SKGA OPD 011100000
|
|
SKGA SKG *0
|
|
MIN 0
|
|
BRR 0
|
|
SKNA OPD 011400000
|
|
SKNA SKN *0
|
|
MIN 0
|
|
BRR 0
|
|
CXA OPD 011700000
|
|
STX TT
|
|
LDA TT
|
|
BRR 0
|
|
STZ OPD 012200000
|
|
STZ CLR
|
|
STA *0
|
|
BRR 0
|
|
SS DATA 0
|
|
COP OPD 012600000
|
|
COP LDA 0
|
|
STA RECUR
|
|
LDA *0
|
|
BRM COA
|
|
BRR RECUR
|
|
RECUR DATA 0
|
|
CAX OPD 013400000
|
|
STA TT
|
|
LDX TT
|
|
BRR 0
|
|
CNA OPD 013700000
|
|
EOR =-1
|
|
ADD =1
|
|
BRR 0
|
|
XMA OPD 014200000
|
|
STA TT+1
|
|
LDA *0
|
|
STA TT
|
|
LDA TT+1
|
|
XMA1 STA *0
|
|
LDA TT
|
|
BRR 0
|
|
ADM OPD 015100000
|
|
STA TT
|
|
ADD *0
|
|
BRU XMA1
|
|
SKE OPD 015400000
|
|
STB TT
|
|
LDB =-1
|
|
SKM *0
|
|
BRU SKEA2
|
|
BRU SKEA1
|
|
SKEA OPD 016100000
|
|
STB TT
|
|
LDB =-1
|
|
SKM *0
|
|
SKEA1 MIN 0
|
|
SKEA2 LDB TT
|
|
BRR 0
|
|
SKR OPD 016700000
|
|
MDE OPD 06000000
|
|
MDE *0
|
|
NOP FOR 920 TESTING
|
|
SKN *0
|
|
BRR 0
|
|
MIN 0
|
|
BRR 0
|
|
CLA OPD 07600175
|
|
CLB OPD 07500175
|
|
DATA 0
|
|
ERR OPD 017600000
|
|
STX ERRX
|
|
LDX 0
|
|
STX RECUR
|
|
TYY =052000000
|
|
LDA 0,IX2
|
|
LSH 18
|
|
STA ERRT
|
|
TYY ERRT
|
|
TYY =054000000
|
|
LDA CC
|
|
STA ERRT
|
|
STZ CC
|
|
BRM GETC
|
|
TYY CHAR
|
|
MIN CC
|
|
SKR ERRT
|
|
BRU $-4
|
|
SKR CC
|
|
LDX ERRX
|
|
BRR RECUR
|
|
ERRT RES 1
|
|
ERRX RES 1
|
|
TT RES 2
|
|
GETC PZE
|
|
LDA CC
|
|
RSH 2
|
|
CAX
|
|
LDB IMAGE,IX2
|
|
LDA CC
|
|
SKA =2
|
|
LSH 12
|
|
LDA CC
|
|
SKA =1
|
|
LSH 6
|
|
XAB
|
|
ETR =077000000
|
|
SKEA =074000000
|
|
LDA =035000000
|
|
SKEA =034000000
|
|
LDA =055000000
|
|
SKEA =060000000
|
|
LDA =012000000
|
|
STA CHAR
|
|
BRR GETC
|
|
* GETS NEXT CHAR FROM INPUT SOURCE
|
|
FETCH SKN STOPSW
|
|
BRU ENDPO
|
|
MIN CC
|
|
LDA CC
|
|
SKG HICOL MAXIMUM SIGNIFICANT CHARACTERS
|
|
BRU FETCH1
|
|
FETCHR BRM CARD
|
|
CLR
|
|
STA SS
|
|
STA CC
|
|
FETCH1 BRM GETC
|
|
SKN KSW
|
|
BRU FETCH5
|
|
SKEA =012000000
|
|
BRU FETCH2
|
|
BPT 3
|
|
BRU $+3
|
|
BRU FETCH3
|
|
TYY =012000000
|
|
SKR SS
|
|
BRU $-2
|
|
TYY CHAR
|
|
FETCH2 MIN SS
|
|
FETCH3 ABC
|
|
LDA =4
|
|
SKGA TMIN
|
|
BRU FETCH4
|
|
ERR 'K' MINOR SYNTAX OVERFLOW
|
|
FETCH6 STZ KSW
|
|
STZ NOCOD
|
|
BRU FETCH
|
|
FETCH4 LDA =0
|
|
LSH 6 LD INDEX
|
|
LDB A8 LD BASE PZE CVERT,IX2
|
|
BRM LDCON
|
|
STA T
|
|
SKEA =BOUND
|
|
STA STOPSW
|
|
LDA TMIN
|
|
LDB A4
|
|
BRM LDSNG
|
|
SKE =APOST2
|
|
BRU PREC2
|
|
LDA T
|
|
SKE =APOST
|
|
BRU SN25
|
|
BRU PREC1
|
|
FETCH5 SKE =ZZSC
|
|
BRU FETCH
|
|
LDA =-1
|
|
STA KSW
|
|
STZ TMIN
|
|
STZ RMIN
|
|
BRU SYN2
|
|
KSW DATA -1
|
|
PREC2 SKE =APOST
|
|
BRU PREC3
|
|
LDA TMIN
|
|
SUB =1
|
|
LDB A4
|
|
BRM LDSNG
|
|
SKE =APOST2
|
|
BRU PREC5
|
|
LDA T
|
|
SKEA =APOST
|
|
BRU SN21
|
|
SKR TMIN
|
|
SKR RMIN
|
|
LDA =ZZA
|
|
XMA CHAR
|
|
STA T+1
|
|
BRM STRWD
|
|
LDA T+1
|
|
STA CHAR
|
|
BRM STRWD
|
|
BRU FETCH
|
|
PREC3 SKE =COMENT
|
|
BRU PREC4
|
|
LDA T
|
|
SKE =SEMCOL
|
|
BRU FETCH
|
|
BRU PREC1
|
|
PREC4 SKE =END
|
|
BRU PREC5
|
|
LDA T
|
|
SKEA =SEMCOL
|
|
BRU PREC1
|
|
SKEA =APOST
|
|
BRU PREC1
|
|
SKE =BOUND
|
|
BRU FETCH
|
|
BRU PREC1
|
|
PREC5 LDA T
|
|
SKEA =BLANK
|
|
BRU FETCH
|
|
PREC1 LDB T
|
|
BRU LW10
|
|
STOPSW DATA -1
|
|
*
|
|
* LD CONSTRUCT FROM BASE AND INDEX TO ACC,RJE
|
|
ZRSH LSH 8
|
|
LSH 16
|
|
XAB
|
|
LDCON PZE
|
|
STB T+22
|
|
LDX =040000
|
|
SKG =2
|
|
BRU $+3
|
|
SUB =3
|
|
BRX $-3
|
|
LDB *T+22
|
|
CAX
|
|
EXU OPD 02300000
|
|
EXU ZRSH,IX2
|
|
ETR =0377
|
|
LDX MODE
|
|
BRR LDCON
|
|
* ST CONSTRUCT INTO BASE AND INDEX FROM ACC,RJE
|
|
STCON PZE
|
|
STA T+22
|
|
LDA P+8
|
|
RSH 1
|
|
CAX
|
|
LDA T+22
|
|
STB T+22
|
|
LDB =07777
|
|
SKN T+22
|
|
LSH 12
|
|
STB T+22
|
|
EOR *P+9
|
|
ETR T+22
|
|
EOR *P+9
|
|
STA *P+9
|
|
LDX MODE
|
|
BRR STCON
|
|
LDSNG PZE
|
|
STB T+22
|
|
RSH 1
|
|
CAX
|
|
LDA *T+22
|
|
STB T+22
|
|
SKN T+22
|
|
RSH 12
|
|
ETR =0377
|
|
LDX MODE
|
|
BRR LDSNG
|
|
* COMPARES RULE IMPLIERS WITH CONSTRUCT STRING
|
|
CPARE PZE
|
|
LDX MODE
|
|
LDA RMIN,IX2
|
|
ADD T+10 R+Q LD INDEX
|
|
STA T+12
|
|
CP2 LDB A4,IX2
|
|
BRM LDSNG
|
|
STA T+11
|
|
LDA T+1
|
|
ADD =020000000
|
|
XAB
|
|
LDA T+9 X LD INDEX
|
|
BRM LDCON
|
|
SKE T+11
|
|
BRR CPARE
|
|
MIN T+9 EQ
|
|
MIN T+12
|
|
LDA T+12
|
|
SKR T+13
|
|
BRU CP2
|
|
CP1 MIN CPARE
|
|
BRR CPARE
|
|
* INSERTS IMPLICAND STRING INTO CONSTRUCT STRING
|
|
MASAGE PZE
|
|
SUB =1
|
|
STA T+2 NO. IMPLAND CONSTR -1 IS CNTR
|
|
SUB P+1
|
|
ADD P+2
|
|
STA DELTA P5-P2+P3-1
|
|
SKN T+2
|
|
BRU MS6
|
|
LDA =-1
|
|
ADM RAST
|
|
BRU MS5
|
|
MS6 LDA DELTA
|
|
SKE =0
|
|
BRU MS2
|
|
MS3 LDA P+2
|
|
STA P+8 ST INDEX
|
|
LDA A4,IX2
|
|
STA P+9 ST BASE
|
|
MS1 LDA P+5
|
|
LDB P+3 LD BASE
|
|
BRM LDCON
|
|
BRM STCON
|
|
MIN P+5
|
|
MIN T+4
|
|
MIN P+8
|
|
SKR T+2
|
|
BRU MS1
|
|
MS5 LDA DELTA
|
|
ADD TMIN,IX2
|
|
STA TMIN,IX2
|
|
BRR MASAGE
|
|
MS2 LDA P+1
|
|
SKEA P
|
|
BRU MS3 P1 EQ P2
|
|
ADD =1
|
|
STA T+4 LD INDEX
|
|
ADD DELTA
|
|
STA P+8 ST INDEX
|
|
LDA P
|
|
SUB T+4
|
|
STA T+5 CNTR P1-(P2+1)
|
|
LDB A4,IX2
|
|
STB P+9
|
|
MS4 LDB P+9
|
|
LDA T+4
|
|
BRM LDSNG
|
|
BRM STCON
|
|
MIN T+4
|
|
MIN P+8
|
|
SKR T+5
|
|
BRU MS4
|
|
BRU MS3
|
|
* FINDS MATE DEF WITHIN A RULE
|
|
RULER LDA T+1 IMPLY DICT WD
|
|
ETR =07777
|
|
STA T+1
|
|
LDX =-3
|
|
LDB *T+1
|
|
RL1 CLA
|
|
LSH 2
|
|
STA T+9,IX2 F,G,H ARE T+6,7,8 RESPECT
|
|
BRX RL1
|
|
LDA =2
|
|
STA T+9
|
|
LDA T+7
|
|
SKG =0
|
|
BRU RL2 G EQ 0
|
|
CLR G GT 0
|
|
SUB T+7
|
|
STA T+10 Q
|
|
ADD =1
|
|
CNA
|
|
STA T+13
|
|
BRM CPARE
|
|
BRU RL3
|
|
RL2 LDA T+6
|
|
SUB T+7
|
|
SKEA =0
|
|
BRU RL4 F EQ G
|
|
SUB =1
|
|
STA T+13
|
|
LDA =1
|
|
STA T+10 Q
|
|
BRM CPARE
|
|
BRU RL3 NO GOOD
|
|
RL4 LDX MODE
|
|
LDA TMIN,IX2 T
|
|
STA P
|
|
LDA RMIN,IX2
|
|
ADD T+6
|
|
SUB T+7
|
|
STA P+1 R+F-G
|
|
SUB T+6
|
|
STA P+2 R-G
|
|
LDA T+6
|
|
ADD =2
|
|
STA P+5
|
|
LDA T+1
|
|
ADD A3
|
|
STA P+3
|
|
LDA A1,IX2
|
|
STA P+4
|
|
LDA T+8
|
|
BRM MASAGE
|
|
LDA RMIN,IX2
|
|
SUB T+7
|
|
STA RMIN,IX2 R=R-G
|
|
RL5 LDA *T+1
|
|
RSH 8
|
|
ETR =01777
|
|
ADD SEM,IX2
|
|
STA T+1
|
|
CLR
|
|
LDA =-1
|
|
BRU *T+1 RCVRY PT
|
|
RL3 LDA T+6
|
|
ADD T+8
|
|
MIN T+1
|
|
RL6 MIN T+1
|
|
SUB =3
|
|
SKG =1
|
|
BRU RULER+3
|
|
BRU RL6
|
|
* CORRESPONDENCE BETWEEN PRIMITIVES AND CONSTRUCTS
|
|
CON FORM 8,8,8
|
|
CVERT CON DGT,DGT,DGT
|
|
CON DGT,DGT,DGT
|
|
CON DGT,DGT,DGT
|
|
CON DGT,BLANK,EQUAL
|
|
CON APOST,COLON,RPT
|
|
CON ILLEG,AOP,LTR
|
|
CON LTR,LTR,LTR
|
|
CON LTR,LTR,LTR
|
|
CON LTR,LTR,BLANK
|
|
CON PT,ILLEG,LPAREN
|
|
CON LPT,BOUND,AOP
|
|
CON LTR,LTR,LTR
|
|
CON LTR,LTR,LTR
|
|
CON LTR,LTR,LTR
|
|
CON BLANK,ILLEG,AST
|
|
CON RPAREN,SEMCOL,TEN
|
|
CON ILLEG,MOP,LTR
|
|
CON LTR,LTR,LTR
|
|
CON LTR,LTR,LTR
|
|
CON LTR,BLANK,COMMA
|
|
CON ILLEG,ILLEG,MOP
|
|
CON BLANK,0,0
|
|
M EQU $
|
|
SM LDX MODE
|
|
LW102 EQU SM
|
|
DEF LDA A1,IX2
|
|
STA D
|
|
LDA RMIN,IX2
|
|
STA RAST
|
|
LDB A4,IX2
|
|
BRM LDSNG
|
|
SUB =3
|
|
SUB MODE
|
|
SKG =-1
|
|
BRU DF8
|
|
SKGA SIZE,IX2
|
|
BRU DF8
|
|
CAX
|
|
LDA *D
|
|
BRU DF2
|
|
DF4 STA RAST
|
|
LDB A4,IX2
|
|
BRM LDSNG
|
|
CLB
|
|
LSH 12
|
|
STA T+1 CONSTR IN B2-9
|
|
LDX =0
|
|
LDB =07770000
|
|
DF1 LDA *D
|
|
SKM T+1
|
|
BRU $+2
|
|
BRU DF2
|
|
MIN D
|
|
SKG =-1
|
|
BRU $+2
|
|
BRU DF1
|
|
LDX MODE
|
|
DF8 MIN RMIN,IX2
|
|
LDA RMIN,IX2
|
|
SKG TMIN,IX2
|
|
BRU DEF R LE T
|
|
DF7 BRU $+1,IX2
|
|
BRU FETCH
|
|
LDX =0
|
|
STX MODE
|
|
BRU DEF
|
|
DF2 STA T+1 IMPLY DICT WD
|
|
RSH 21
|
|
ETR =3
|
|
ADD A2
|
|
STA $+2
|
|
LDX MODE
|
|
BRU
|
|
DF6 BRU DF3
|
|
BRU DF5 1 - IMPLAND ADDR
|
|
BRU RULER 2 - RULE
|
|
LDA TMIN,IX2 3 - RULEF
|
|
SKG RMIN,IX2
|
|
BRU DF7
|
|
BRU RULER
|
|
DF3 LDA T+1
|
|
ETR =07777
|
|
STA D
|
|
LDA RAST
|
|
SUB =1
|
|
BRU DF4
|
|
DF5 LDA TMIN,IX2
|
|
STA P
|
|
LDA RMIN,IX2
|
|
STA P+1
|
|
LDA RAST
|
|
STA P+2
|
|
LDA T+1
|
|
ETR =07777
|
|
STA T+1
|
|
STA P+3
|
|
LDA A1,IX2
|
|
STA P+4
|
|
LDB *P+3
|
|
LDA =020000000
|
|
ADM P+3
|
|
LDA =2
|
|
STA P+5
|
|
LDA =0
|
|
LSH 6
|
|
BRM MASAGE
|
|
LDA RAST
|
|
STA RMIN,IX2
|
|
BRU RL5
|
|
SM1 LDA =2
|
|
STA TYPES
|
|
BRU SM
|
|
SM2 LDA =3
|
|
BRU SM1+1
|
|
SM3 LDA =1
|
|
BRU SM1+1
|
|
SM17 LDA =01600 OPARY
|
|
STA *SK
|
|
BRU SM
|
|
SM64 STZ NDIM
|
|
SKN STYPE
|
|
MIN NDIM
|
|
LDA =1
|
|
STA TOT
|
|
BRU SM
|
|
SM68 CLR
|
|
STA DECST
|
|
STA STYPE
|
|
STA NDIM
|
|
LDA =1
|
|
STA TOT
|
|
BRU SM
|
|
SM133 LDA =8
|
|
BRU R2D2+1
|
|
SM134 LDA =9
|
|
BRU R2D2+1
|
|
SM135 LDA *BCTAB
|
|
RSH 9
|
|
ETR =0777
|
|
CAX
|
|
LDA BASEA-1,IX2
|
|
LDB =00600000
|
|
SKMA =0
|
|
BRU SM135A
|
|
ETR =077777
|
|
ADD =060100000
|
|
STA WORDS
|
|
ABC
|
|
BRM MOVE
|
|
SM135A MIN NDB6
|
|
BRU ENDBLK
|
|
SM22 STZ PARA
|
|
BRU SM
|
|
SM117 CLR
|
|
STA STYPE
|
|
BRU SM1+1
|
|
SM137 LDA *SK
|
|
SKE CW+14 - CW
|
|
BRU $+4
|
|
LDA CW+28
|
|
STA *SK
|
|
BRU SM
|
|
SKNA NOCOD
|
|
SKR SK
|
|
BRU SM
|
|
R1D1 ADD RMIN+1
|
|
LDB A4+1
|
|
BRM LDSNG
|
|
CLB
|
|
SKEA =BLKHD
|
|
STB TEMPT
|
|
BRU SM
|
|
R1D2 STB DECSW
|
|
BRU SM
|
|
SIGN DATA 0
|
|
FRACP PZE
|
|
LDA NUMB
|
|
STA FRAC
|
|
LDA ND
|
|
STA EXP
|
|
BRR FRACP
|
|
R2D2 LDA =1
|
|
STA KIND
|
|
BRU SM
|
|
R2D4 STA DECST
|
|
LDA TYPES
|
|
STA SWIND
|
|
R2D5 STB NENT
|
|
LDA =2
|
|
R2D5A STA KIND
|
|
BRM DUP
|
|
LDA KIND
|
|
BRM ADST
|
|
BRU SM
|
|
R2D6A MIN NENT
|
|
BRU R2D5+1
|
|
R2D6 LDA =3
|
|
BRU R2D2+1
|
|
R2D8 STB TYPES
|
|
R2D7 STZ LA
|
|
LDA =5
|
|
BRU R2D5A
|
|
XNAM PZE
|
|
STB T+10
|
|
LDB =060606060
|
|
STB BUF+2
|
|
LDB =BUF+1
|
|
BRM MOVNAM
|
|
LDA =010450000
|
|
STA BUF
|
|
LDA T+10
|
|
ETR =077777
|
|
ADD =020100000
|
|
BRR XNAM
|
|
R2D9A LDA =4
|
|
BRM ADST
|
|
LDA *A15B
|
|
LDB BASEA,IX2
|
|
BRM XNAM
|
|
ADD =020000000
|
|
STA BUF+3
|
|
BRM SEND
|
|
BRU R2D9B
|
|
R2D9 LDA MAD
|
|
STA LA
|
|
LDA =4
|
|
BRM ADST
|
|
R2D9B LDA =-1
|
|
STA DECSW
|
|
STA PROCSW
|
|
STA NENT
|
|
CLR
|
|
LDA =3
|
|
SUB TYPES
|
|
LSH 21
|
|
ADD =04100000
|
|
STA WORDS
|
|
CLR
|
|
BRM MOVE
|
|
BRU BEGBLK+1
|
|
R2D10 CLR
|
|
STA NENT
|
|
ADD =WORDS
|
|
STA T+20
|
|
BRM BLKAD
|
|
ADD =020000000
|
|
STA *T+20
|
|
LDA MAD
|
|
ADD NENT
|
|
STA LA
|
|
LDA =1
|
|
STA PARA
|
|
STA TYPES
|
|
MIN TYPES
|
|
BRM ADST
|
|
MIN NDAD
|
|
BRU SM
|
|
R2D11 LDA NENT
|
|
ADD =1
|
|
BRU R2D10+1
|
|
R2D12 BRM STSCH
|
|
SKA =040000000
|
|
BRU R2D12A
|
|
LDA =01000000
|
|
ADD BASEA,IX2
|
|
STA BASEA,IX2
|
|
ETR =077777
|
|
SUB MAD
|
|
CAX
|
|
LDA =020000000
|
|
ADM WORDS,IX2
|
|
BRU SM
|
|
R2D12A ERR 'C' VALUE BUT NO PARAMETER
|
|
BRU SM
|
|
R2D1 LDA =1
|
|
STA KIND
|
|
R2D14 BRM STSCH
|
|
SKA =040000000
|
|
BRU R2D12A
|
|
CLR
|
|
LDA KIND
|
|
LSH 4
|
|
ADD TYPES
|
|
LSH 16
|
|
STA T+21
|
|
LDA BASEA,IX2
|
|
ETR =03177777
|
|
ADD T+21
|
|
STA BASEA,IX2
|
|
LDB =077000000
|
|
SKMA =012000000 KIND=ARIDT,PARA=CBV
|
|
MIN NDAD
|
|
ETR =077777
|
|
SUB MAD
|
|
CAX
|
|
CLR
|
|
LDA =3
|
|
SUB TYPES
|
|
LSH 4
|
|
ADD KIND
|
|
LSH 15
|
|
ADM WORDS,IX2
|
|
BRU SM
|
|
R4D1 STB TYPES
|
|
R4D2 LDA =4
|
|
BRU R2D2+1
|
|
R4D4 STB TYPES
|
|
BRU SM
|
|
R5D1 LDA =2
|
|
STA TYPES
|
|
R5D3 LDA =2
|
|
BRU R2D2+1
|
|
R5D2 STA STYPE
|
|
BRU SM
|
|
R5D5 STA STYPE
|
|
LDA =2
|
|
STA TYPES
|
|
BRU SM
|
|
R5D6 LDA =2
|
|
STA TYPES
|
|
R5D4 MIN NDIM
|
|
BRU SM
|
|
R7D2 STA STYPE
|
|
BRU VAR
|
|
R7D4 LDA =9
|
|
BRU MODB
|
|
R11D14 LDA =11
|
|
BRU MODB
|
|
R26D4 LDA CW LBRACK
|
|
STA *SK
|
|
LDA =13
|
|
BRU MODB
|
|
R8D2 LDB CW+37
|
|
LDA *SJ
|
|
SKEA IO
|
|
BRU R8D2A
|
|
COP BCJM0
|
|
LDB CW+30 PROC OP
|
|
R8D2A STB *SK
|
|
LDB RAND
|
|
SKNA NEST
|
|
STB INDEX
|
|
MIN NEST
|
|
BRU SM
|
|
NEST DATA -1
|
|
INDEX DATA 0
|
|
R10D2 LDA SJ
|
|
SUB A12
|
|
STA PTR
|
|
BRU SM
|
|
SYND ERR 'D' 'DO' SYNTAX ERROR
|
|
BRU SYN1
|
|
SYNS ERR 'E' STATEMENT SYNTAX ERROR
|
|
BRU SYN1
|
|
SYN ERR 'M' SEMICOLON SYNTAX ERROR
|
|
SYN1 SKR RMIN+1
|
|
SYN2 LDA RMIN+1
|
|
STA TMIN+1
|
|
LDB A4+1
|
|
BRM LDSNG
|
|
SKGA =SPECAL
|
|
BRU SYN1
|
|
LDA A12
|
|
ADD =7
|
|
STA SJ
|
|
LDA A11
|
|
STA SK
|
|
STZ NOCOD
|
|
BRU SM
|
|
R29D1 STZ RSULT
|
|
BRU SM
|
|
R39D1 STA SCSW
|
|
R39D2 BRU ENDPRG
|
|
R40D1 SKNA NOCOD
|
|
SKR SJ
|
|
BRU SM
|
|
* PROC CALL CODE GENERATOR
|
|
OPPROC BRM SAVE
|
|
COP PJM0
|
|
LDA *SJ
|
|
LDB =074000000
|
|
SKMA =020000000
|
|
BRU OPPR3
|
|
SKM =024000000
|
|
OPPR2 SKR SJ
|
|
OPPR3 LDA OP
|
|
SKE CW+12 RPAREN OP
|
|
BRU TSEX
|
|
LDA *SJ
|
|
SKE IO
|
|
COP ECJM0
|
|
LDB INDEX
|
|
LDA =-1
|
|
ADM NEST
|
|
SKNA NEST
|
|
STB RAND
|
|
ADM SK
|
|
LDA *SJ
|
|
LDB =00600000
|
|
SKMA =0
|
|
BRU OPPR1
|
|
BRM RST
|
|
BRU TSEX
|
|
OPPR1 SKR SJ
|
|
BRU TSEX
|
|
OPIO BRM SAVE
|
|
COP IOJM0
|
|
BRU OPPR2
|
|
* STATIC ARRAY DECLARATION OPERATOR
|
|
OPARY MIN NDIM
|
|
LDX NDIM
|
|
LDA NUMB
|
|
STA WORDS,IX2
|
|
LDA OP
|
|
SKEA CW+27
|
|
BRU TSEX
|
|
LDA WORDS-1,IX2
|
|
SKGA WORDS,IX2
|
|
ERR 'F' ILLEGAL ARRAY BOUND
|
|
LDA WORDS-1,IX2
|
|
SUB WORDS,IX2
|
|
SUB =1
|
|
CAX
|
|
CLR
|
|
ADD TOT
|
|
BRX $-1
|
|
STA TOT
|
|
LDA OP
|
|
SKE CW+12
|
|
BRU TSEX
|
|
CLR
|
|
LDA SWIND HAS TYPES
|
|
SKE =1
|
|
BRU OPAR6
|
|
XMA TOT BOOLEAN
|
|
OPAR7 SUB =24
|
|
SKG =0
|
|
BRU OPAR2
|
|
MIN TOT
|
|
BRU OPAR7
|
|
OPAR6 SKE =2
|
|
BRU OPAR2
|
|
OPAR1 LDA TOT
|
|
LSH 1
|
|
OPAR3 STA TOT
|
|
OPAR2 LDA NABADD
|
|
SUB NENT
|
|
SUB =1
|
|
CAX
|
|
LDA BASEA,IX2
|
|
ETR =077700000
|
|
ADD MAD
|
|
STA BASEA,IX2
|
|
CLR
|
|
LDA =3
|
|
SUB SWIND
|
|
LSH 5
|
|
ADD NDIM
|
|
LSH 14
|
|
ETR =077700000
|
|
SKN STYPE
|
|
BRU OPAR4
|
|
ADD MAD
|
|
ADD =1
|
|
STA WORDS
|
|
LDA NDIM
|
|
LDB =040000000
|
|
BRM MOVE
|
|
BRM CODOUT
|
|
LDA TOT
|
|
ADM MAD
|
|
OPAR5 SKR NENT
|
|
BRU OPAR2
|
|
SKR SK
|
|
BRU TSEX
|
|
OPAR4 ADD NDAD
|
|
ADD =010000000
|
|
STA WORDS
|
|
BRM BLKAD
|
|
STA WORDS+1
|
|
LDA TOT
|
|
ADM NDAD
|
|
LDA NDIM
|
|
LDB =020000000
|
|
BRM MOVE
|
|
BRU OPAR5
|
|
TOT DATA 1
|
|
DUP PZE
|
|
LDA =-1
|
|
BRM STSCH
|
|
SKE =-1
|
|
ERR 'G' DUPLICATE USE OF IDENTIFIER
|
|
BRR DUP
|
|
* CHANGES CONSTRUCT FROM KIND -LAST DEF OF IDT RULE
|
|
MODA CLR
|
|
BRM STSCH
|
|
SKA =040000000
|
|
BRU LABREF
|
|
STA RAND
|
|
LDA BASEA,IX2
|
|
LDB =074000000
|
|
SKMA =024000000 XPRIDT
|
|
BRU MODA2
|
|
SKM =034000000
|
|
BRU MODA1
|
|
LDA RAND
|
|
ADD =1
|
|
BRU LBRF1
|
|
MODA2 ETR =077700000
|
|
ADD =BASEA
|
|
ADD RAND
|
|
MODA1 SKNA NOCOD
|
|
MIN SJ
|
|
STA *SJ
|
|
SKA =01000000
|
|
BRM FFDZ
|
|
LDA *SJ
|
|
SKA =020000000 PRIDT
|
|
BRU MODA4
|
|
MODA5 LDX RAND
|
|
CLR
|
|
LDB BASEA,IX2
|
|
LSH 4
|
|
MODA3 CAX
|
|
LDB TAB1,IX2
|
|
LDX MODE
|
|
LDA RMIN+1
|
|
BRU LW14+1
|
|
MODA4 LDA TMIN+1
|
|
LDB A4+1
|
|
BRM LDSNG
|
|
SKEA =ASSIGN
|
|
BRU MODA5
|
|
BRM FFDZ
|
|
LDA TMIN
|
|
LDB A4
|
|
BRM LDSNG
|
|
SKEA =LPAREN
|
|
BRU MODA5
|
|
COP BCJM0
|
|
COP ECJM0
|
|
LDA *SJ
|
|
SKA =00600000
|
|
BRU MODA6
|
|
SKNA NOCOD
|
|
SKR SJ
|
|
BRU MODA5
|
|
MODA6 BRM RST
|
|
BRU MODA5
|
|
* CHANGES CONSTRUCT FROM TYPE
|
|
MODB LDX RAND
|
|
LDB BASEA,IX2
|
|
STA T+1
|
|
LSH 7 GET MSB OF TYPE
|
|
ETR =1
|
|
ADD T+1
|
|
BRU MODA3
|
|
* ENTERS VARIABLES INTO S-T,BUILDS DESCRIPTORS
|
|
VAR LDA MAD
|
|
STA LA
|
|
BRM DUP
|
|
LDA =1 SIMP VAR IDT
|
|
BRM ADST
|
|
CLR
|
|
SKN STYPE
|
|
BRU VAR4 NON-OWN
|
|
LDX TYPES
|
|
BRU $,IX2
|
|
BRU VAR1 BOOLEAN
|
|
BRU VAR2 REAL
|
|
LDB =060000000 INTEGER
|
|
VAR3 STB WORDS
|
|
CLB
|
|
BRM MOVE
|
|
BRU SM
|
|
VAR1 LDB =010000000
|
|
BRU VAR3
|
|
VAR2 ADD =1
|
|
BRU VAR3
|
|
VAR4 LDA =7
|
|
SUB TYPES
|
|
LSH 19
|
|
ADD NDAD
|
|
STA WORDS
|
|
MIN NDAD
|
|
LDB =06000000
|
|
SKMA =02000000
|
|
MIN NDAD
|
|
BRM BLKAD
|
|
LDB =020000000
|
|
STA WORDS+1
|
|
LDA =1
|
|
BRU VAR3+2
|
|
* GETS ADDRESS OF BB COMMAND FOR DESCRIPTORS
|
|
BLKAD PZE
|
|
LDA BLKPAR
|
|
SUB =5
|
|
STA $+1
|
|
LDA
|
|
ETR =077777
|
|
BRR BLKAD
|
|
N EQU $
|
|
* LABEL DEFINITION POINTS
|
|
LABDEF BRM ADBLNK
|
|
SKN PROCSW
|
|
BRU LBDF3
|
|
LDA NENT
|
|
STA PROCSW
|
|
LDB =-1
|
|
BRM MOVE
|
|
LBDF3 LDA =-1
|
|
BRM STSCH SRCH THIS BLOCK ONLY
|
|
SKG =-1
|
|
BRU LBDF1
|
|
LDA BASEA,IX2
|
|
ETR =074000000
|
|
SKE =034000000 UNCLAB
|
|
ERR 'G' DUPLICATE USE OF IDENTIFIER
|
|
LDA MAD LA=MAD
|
|
ADD =040000000 KIND=LABEL
|
|
XMA BASEA,IX2
|
|
BRM INTOUT
|
|
LBDF2 LDB =LBLSL
|
|
BRU LW9
|
|
LBDF1 LDA MAD
|
|
STA LA
|
|
LDA =8
|
|
BRM ADST
|
|
BRU LBDF2
|
|
LABREF STZ LA
|
|
LDA =7
|
|
BRM ADST
|
|
LDA NABADD
|
|
LBRF1 ADD =BASEA-1+034000000
|
|
SKNA NOCOD
|
|
MIN SJ
|
|
STA *SJ
|
|
BRU SM
|
|
SWIT LDA MAD
|
|
STA POSADD
|
|
STZ LA
|
|
STZ NENT
|
|
LDA =0400
|
|
STA *SK
|
|
LDA =-1
|
|
STA DECSW
|
|
LDA NABADD
|
|
STA SWIND
|
|
BRM DUP
|
|
LDA =3
|
|
BRM ADST
|
|
BRU SM
|
|
* PUTS NEW ENTRY INTO SYMBOL TABLE
|
|
ADST PZE
|
|
CLB
|
|
LSH 2
|
|
ADD PARA
|
|
LSH 2
|
|
ADD TYPES
|
|
LSH 1
|
|
SKNA STYPE
|
|
ADD =1
|
|
LSH 15
|
|
ADD LA
|
|
ADS1 LDX NABADD
|
|
STA BASEA,IX2 A PART
|
|
LDA LEN
|
|
LSH 15
|
|
ADD A16 BASEC-1
|
|
ADD NCADD
|
|
STA *A15B B PART
|
|
MIN NABADD
|
|
ADD =1
|
|
STA T+17
|
|
LDB T+17
|
|
ETR =077700000
|
|
ADD =NAME-1
|
|
BRM MOVNAM
|
|
LDA LEN
|
|
RSH 2
|
|
ADD =1
|
|
ADM NCADD
|
|
LDA NABADD
|
|
SKG A15L
|
|
BRR ADST
|
|
ERR 'H' SYMBOL TABLE OVERFLOW
|
|
BRU WAIT
|
|
* NAME MOVER: A=LEN,'FROM' ADDR.-1; B='TO' ADDR.
|
|
MOVNAM PZE
|
|
STA T+17
|
|
STB T+18
|
|
RSH 17
|
|
STA T+19
|
|
MVN1 MIN T+17
|
|
LDA *T+17
|
|
STA *T+18
|
|
MIN T+18
|
|
SKR T+19
|
|
BRU MVN1
|
|
BRR MOVNAM
|
|
* S-T SEARCH A=0 IS ALL ON INPUT
|
|
STSCH PZE
|
|
CLB
|
|
SKA =-1
|
|
LDB *BCTAB THIS BLOCK ONLY
|
|
LSH 15
|
|
ETR =00000777
|
|
STA T END ENTRY
|
|
LDA NABADD
|
|
SUB =1
|
|
STS1 CAX
|
|
ADD =1
|
|
SKG T
|
|
BRU STS4 DONE - NON-EXIST
|
|
CLR
|
|
LDB *A15B
|
|
LSH 9
|
|
SKE LEN
|
|
BRU STS3
|
|
RSH 2
|
|
STA T+1
|
|
LDA *A15B
|
|
ETR =077777
|
|
ADD =1
|
|
STA T+23
|
|
LDA A10 SKE NAME
|
|
STA STS2+1
|
|
STS2 LDA *T+23
|
|
SKE NAME
|
|
BRU STS3
|
|
MIN T+23
|
|
MIN STS2+1
|
|
SKR T+1
|
|
BRU STS2
|
|
CXA
|
|
BRR STSCH EXIT WITH ENTRY NO.
|
|
STS3 CXA
|
|
SUB =1
|
|
BRU STS1
|
|
STS4 LDA =-1 EXIT WITH NON-EXIST FLAG
|
|
BRR STSCH
|
|
* BLOCK PUSH-DOWN MAINTENANCE
|
|
BEGBLK COP BBNA
|
|
CLR
|
|
STA WORDS
|
|
STA WORDS+1
|
|
STA WORDS+2
|
|
LDA =2
|
|
BRM MOVE
|
|
MIN BCTAB
|
|
CLR
|
|
ADD NABADD NEXT AVAIL ABADD
|
|
LSH 9
|
|
ADD NCADD NEXT AVAIL CADD
|
|
STA *BCTAB
|
|
MIN BLKPAR
|
|
LDA MAD
|
|
ADD =020100000
|
|
SUB =4
|
|
LDB =2
|
|
LDX =-2
|
|
STA *BLKPAR
|
|
BEGB1 ADD =1
|
|
XAB
|
|
ADM BLKPAR
|
|
XAB
|
|
STA *BLKPAR
|
|
BRX BEGB1
|
|
MIN BLKPAR
|
|
MIN MTEMP
|
|
MIN DNSP
|
|
LDA NDAD
|
|
STA *DNSP
|
|
STZ *MTEMP CLEAR MAX TEMP USAGE, THIS BLOCK
|
|
STZ NDAD
|
|
BRU SM
|
|
* PERFORM END-OF-BLOCK OPERATIONS
|
|
ENDBLK LDA =040000000
|
|
ADD NDAD
|
|
STA *BLKPAR
|
|
LDA *DNSP
|
|
STA NDAD
|
|
LDA BLKPAR
|
|
SUB =2
|
|
STA T+22
|
|
LDA MAD
|
|
ADD =040100000
|
|
STA *T+22
|
|
LDA *MTEMP
|
|
LSH 16
|
|
ETR =077600000
|
|
NDB6 ADD EBNA
|
|
BRM COA
|
|
SKR MTEMP
|
|
BRM CODOUT
|
|
LDA BLKPAR
|
|
ETR =077777
|
|
ADD =02677772
|
|
LDB =040750000
|
|
STB BUF
|
|
LDB =BUF+1
|
|
BRM MOVNAM
|
|
BRM SEND
|
|
LDA =-6
|
|
ADM BLKPAR
|
|
LDA NABADD
|
|
ADD A15 LDA BASEA,IX2
|
|
STA T+15
|
|
ADD A15L
|
|
STA T+16
|
|
LDA *BCTAB
|
|
RSH 9
|
|
ETR =0777
|
|
XMA NABADD
|
|
SUB NABADD
|
|
CNA
|
|
CAX
|
|
LDA *BCTAB
|
|
ETR =0777
|
|
STA NCADD
|
|
SKR BCTAB
|
|
SKR DNSP
|
|
NDB2 LDB =074000000
|
|
LDA *T+15
|
|
SKMA =034000000 UNENCLAB
|
|
BRU NDB3
|
|
SKM =024000000 XPRIDT
|
|
BRU NDB5
|
|
LDB =077777
|
|
SKMA =0
|
|
BRU NDB5
|
|
LDA *T+16
|
|
LDB *T+15
|
|
BRM XNAM
|
|
STA BUF+3
|
|
BRM SEND
|
|
NDB5 BRX NDB2
|
|
LDA NDB7
|
|
STA NDB6
|
|
BRU SM
|
|
NDB7 ADD EBNA
|
|
NDB3 LDA *T+16
|
|
LDB =NAME
|
|
BRM MOVNAM
|
|
LDA *T+16
|
|
RSH 15
|
|
STA LEN
|
|
STX T+20
|
|
LDA =-1
|
|
BRM STSCH
|
|
SKA =040000000
|
|
BRU NDB4 NONE FOUND
|
|
LDA BASEA,IX2
|
|
LDB =074000000
|
|
SKM =040000000 LABEL
|
|
BRU NDB4
|
|
ETR =077777
|
|
STA T+19
|
|
BRM CODOUT
|
|
LDX T+20
|
|
LDB *T+15
|
|
STB T+18
|
|
LDB =NDB8-1
|
|
STB INTOUT
|
|
LDA T+19
|
|
BRU INT1
|
|
NDB4 LDA =NDB8-1
|
|
STA ADST
|
|
LDX T+20
|
|
CLR
|
|
LDA *T+15
|
|
BRU ADS1
|
|
NDB8 LDX T+20
|
|
BRU NDB5
|
|
* SWITCH DECLARATION OPERATOR
|
|
OPSW MIN NENT
|
|
LDA NENT
|
|
ADD =2
|
|
CAX
|
|
LDA POSADD
|
|
STA WORDS,IX2
|
|
BRM GOSW
|
|
LDA OP
|
|
SKE CW+8 SEMCOL
|
|
BRU OPSW1
|
|
LDA MAD
|
|
ADD =0100001 DESCR 0, T=0,N=1,ADDR=MAD
|
|
STA WORDS
|
|
LDA =1 LOB
|
|
STA WORDS+1
|
|
LDA NENT UPB
|
|
STA WORDS+2
|
|
LDX SWIND
|
|
LDA MAD
|
|
ADM BASEA,IX2
|
|
LDA NENT
|
|
ADD =2
|
|
LDB =047777777 RELOC INFO
|
|
BRM MOVE
|
|
SKR SK
|
|
STZ DECSW
|
|
BRU TSEX
|
|
OPSW1 LDA MAD
|
|
STA POSADD
|
|
BRU TSEX
|
|
OPGO BRM GOSW
|
|
SKR SK
|
|
BRU TS2
|
|
* GOTO,SWITCH COMMON GENERATION
|
|
GOSW PZE
|
|
CLR
|
|
LDA ITESW
|
|
STB ITESW
|
|
SKA =-1
|
|
BRR GOSW
|
|
LDA *SJ
|
|
ETR =074000000
|
|
SKEA =040000000 LABEL
|
|
BRU GOSW1
|
|
SKEA =034000000 UNCLAB
|
|
BRU GOSW1
|
|
BRM GOSS
|
|
GOSW2 ADM SJ
|
|
BRR GOSW
|
|
GOSW1 COP UJJM0
|
|
LDA =-1
|
|
BRU GOSW2
|
|
* ELSE OPERATOR
|
|
OPELS LDA *SJ
|
|
SKEA SJ
|
|
BRU OPELS7
|
|
ETR =074000000
|
|
SKEA =060000000 FR
|
|
BRU OPELS5
|
|
SKEA =040000000
|
|
BRU OPELS3 LABEL
|
|
SKEA =034000000
|
|
BRU OPELS3 UNENCLAB
|
|
LDA SJ
|
|
SUB =1
|
|
STA $+1
|
|
LDA
|
|
ETR =074000000
|
|
SKEA =014000000
|
|
BRU OPELS1 SWIDT
|
|
LDA RSULT
|
|
SKEA =0
|
|
COP LDJM0
|
|
LDA =-1
|
|
BRM RECFR
|
|
LDB *SJ
|
|
SKR SJ
|
|
STB *SJ
|
|
BRM RST
|
|
BRU OPELS2
|
|
OPELS1 BRM GOSS SJ-1 = SWIDT
|
|
OPELS4 LDA =-1
|
|
ADD SK
|
|
STA $+1
|
|
LDA
|
|
SKEA CW+6 SW OPERATOR
|
|
BRU $+3
|
|
SKE CW+7 GOTO OPERATOR
|
|
BRU $+3
|
|
LDA =1
|
|
STA ITESW
|
|
OPELS6 SKR SJ
|
|
OPELS2 SKR SK
|
|
BRU TS2
|
|
OPELS3 COP UJJM0
|
|
BRU OPELS4
|
|
OPELS5 CLR
|
|
BRM RECFR
|
|
BRU OPELS6
|
|
OPELS7 MIN SJ
|
|
BRU OPELS4
|
|
* OUTPUTS GO SJ-1,SSSJ-0
|
|
GOSS PZE
|
|
BRM SAVE
|
|
COP UJJM1
|
|
COP SSJM0
|
|
LDA =-1
|
|
ADM SJ
|
|
BRR GOSS
|
|
* THEN OPERATOR
|
|
OPTH LDA *SJ
|
|
ETR =074000000
|
|
SKEA =060000000
|
|
BRU OPTH3 FR
|
|
SKEA =040000000
|
|
BRU OPTH8 LABEL
|
|
SKEA =034000000
|
|
BRU OPTH8 UNENCLAB
|
|
LDA SJ
|
|
SUB =1
|
|
STA $+1
|
|
LDA
|
|
ETR =074000000
|
|
SKEA =014000000
|
|
BRU OPTH6 SWIDT
|
|
BRM FINDR
|
|
SKA =040000000
|
|
BRU OPTH1 NO RESULT
|
|
STZ RSULT
|
|
BRU OPTH2
|
|
OPTH1 COP LDJM0
|
|
OPTH2 CLR
|
|
BRM SETFR SJ-0
|
|
COP UJJM0
|
|
LDA =-1
|
|
BRM RECFR SJ-1
|
|
LDA SJ
|
|
SUB =1
|
|
STA T+18
|
|
LDA *SJ
|
|
STA *T+18
|
|
OPTH7 LDA OP
|
|
SKE CW+5 ELSE (OP) OPERATOR
|
|
BRU OPTH5
|
|
LDA CW+4 ELSE (STACK) OPERATOR
|
|
STA *SK
|
|
LDA =-1
|
|
OPTH4 ADM SJ
|
|
BRU TSEX
|
|
OPTH3 LDA OP
|
|
SKE CW+5 ELSE
|
|
BRU $+3
|
|
MIN SJ
|
|
BRU OPTH2
|
|
CLR
|
|
BRM RECFR
|
|
OPTH5 SKR SK
|
|
SKR SJ
|
|
BRU TS2
|
|
OPTH6 BRM GOSS SJ-1 = SWIDT
|
|
OPTH9 BRM RECFR SJ-1
|
|
SKR SJ
|
|
BRU OPTH7
|
|
OPTH8 COP UJJM0
|
|
LDA =-1
|
|
BRU OPTH9
|
|
* IF OPERATOR
|
|
OPIF LDA RSULT
|
|
SKEA =0
|
|
COP LDJM0
|
|
CLR
|
|
STA RSULT
|
|
BRM SETFR
|
|
COP JFJM0
|
|
LDA CW+2 THEN
|
|
STA *SK
|
|
BRU TSEX
|
|
* ASSIGNMENT OPERATOR CODE GENERATOR
|
|
OPASS LDA RSULT
|
|
SKEA =0
|
|
COP LDJM0
|
|
SKR SJ
|
|
LDA *SJ
|
|
LDB =074000000
|
|
SKM =020000000 INT PRIDT
|
|
BRU OPAS3
|
|
ETR =077777
|
|
ADD =060400000
|
|
STA WORDS
|
|
ABC
|
|
BRM MOVE
|
|
BRU $+2
|
|
OPAS3 COP STJM0
|
|
SKR SK
|
|
LDA *SK
|
|
SKE CW+1 ASSIGN
|
|
BRU OPAS1
|
|
LDA SJ
|
|
SUB A12 LDA SJ
|
|
OPAS2 STA RSULT
|
|
BRU TS2
|
|
OPAS1 SKE CW+31 PHI OP
|
|
SKR SJ
|
|
CLR
|
|
BRU OPAS2
|
|
* GETS INCREMENT OF RESULT,IF ANY,RELATIVE TO NORMAL SJ
|
|
FINDR PZE
|
|
LDA SJ
|
|
SUB RSULT
|
|
SKEA SJ
|
|
CLR
|
|
SUB A12 LDA SJ
|
|
BRR FINDR
|
|
SAVE PZE
|
|
LDA RSULT
|
|
SKGA =0
|
|
COP STT
|
|
BRR SAVE
|
|
XCH PZE
|
|
LDA SJ
|
|
ADD =-1
|
|
STA T+18
|
|
LDA *T+18
|
|
XMA *SJ
|
|
STA *T+18
|
|
BRR XCH
|
|
* FOR STMT CODE GENERATOR
|
|
OPFOR LDA OP
|
|
SKE CW+33 WHILE OP
|
|
BRU OPF1
|
|
LDA =1
|
|
OPF3 STA TELE
|
|
BRU TSEX
|
|
OPF1 SKE CW+34 UNTIL OP
|
|
BRU OPF2
|
|
BRM SAVE
|
|
BRU TSEX
|
|
OPF2 SKE CW+35 STEP OP
|
|
BRU OPF4
|
|
LDA MAD
|
|
STA BR
|
|
LDA =2
|
|
BRU OPF3
|
|
OPF4 LDA TELE
|
|
SKE =1 WH
|
|
BRU OPF5
|
|
BRM SAVE
|
|
COP WHJM0
|
|
BRU OPF6
|
|
OPF5 SKE =2 STEP-UNTIL
|
|
BRU OPF13
|
|
BRM SAVE
|
|
COP SUJM0
|
|
SKR SJ
|
|
COP PZJMO
|
|
OPF6 SKN FEFSW
|
|
BRU OPF7
|
|
SKR SJ
|
|
BRM XCH
|
|
BRU OPF8
|
|
OPF7 LDA =-1
|
|
STA FEFSW
|
|
LDA =0
|
|
BRM SETFR
|
|
OPF8 LDA TELE
|
|
SKEA =0
|
|
BRU OPF9
|
|
COP JPJM0
|
|
LDA BR
|
|
ADD =04000000
|
|
STA WORDS
|
|
CLR
|
|
LDB =-1
|
|
BRM MOVE
|
|
BRU OPF11
|
|
OPF9 COP SPLJM0
|
|
COP DEALNA
|
|
OPF11 STZ TELE
|
|
LDA OP
|
|
SKE CW+36 DO
|
|
BRU OPF12
|
|
LDA =-1
|
|
BRM SETFR
|
|
COP JPJM1
|
|
LDA =0
|
|
BRM RECFR
|
|
SKR SJ
|
|
LDA CW+32 PHI R OP
|
|
OPF14 STA *SK
|
|
BRU TSEX
|
|
OPF12 COP ALJM2
|
|
BRM XCH
|
|
LDA MAD
|
|
STA BR
|
|
MIN SK
|
|
LDA CW+1 ASSIGN
|
|
BRU OPF14
|
|
OPF13 MIN SJ
|
|
BRU OPF6
|
|
OPFRR SKN NOCOD
|
|
BRU TS2
|
|
LDA =-1
|
|
BRM RECFR
|
|
COP EFBNA
|
|
LDA =0
|
|
BRM RECFR
|
|
LDA =-2
|
|
ADM SJ
|
|
SKR SK
|
|
BRU TS2
|
|
* UNARY OPERATOR CODE GENERATOR
|
|
OPUN SKN DECST
|
|
BRU OPU4
|
|
CLR NEG ARRAY BOUND
|
|
SUB NUMB
|
|
STA NUMB
|
|
BRU OPU3
|
|
OPU4 BRM FINDR
|
|
SKA =040000000
|
|
BRU OPU1 NO RESULT LEFT
|
|
SKG =0
|
|
BRU OPU2
|
|
COP STT
|
|
OPU1 COP LDNJM0
|
|
BRM RST
|
|
OPU3 SKR SK
|
|
BRU TS2
|
|
OPU2 COP NEG
|
|
BRU OPU3
|
|
* BINARY OPERATOR CODE GENERATOR
|
|
OPBIN LDA *SK
|
|
SKE CW+26 **
|
|
BRU OPB6
|
|
BRM SAVE
|
|
LDA =XPON+024400000
|
|
MIN SJ
|
|
STA *SJ
|
|
COP BCJM0
|
|
COP PJM2
|
|
COP PJM1
|
|
COP ECJM0
|
|
SKR SJ
|
|
BRU OPB3
|
|
OPB6 BRM FINDR
|
|
SKA =040000000
|
|
BRU OPB4 NO RESULT LEFT
|
|
SKG =1
|
|
BRU OPB1
|
|
COP STT
|
|
BRU OPB4
|
|
OPB1 SKG =0
|
|
BRU OPB2
|
|
OPB5 COP OPJM0
|
|
BRU OPB3
|
|
OPB2 COP OPIJM1
|
|
OPB3 SKR SJ
|
|
BRM RST
|
|
SKR SK
|
|
BRU TS2
|
|
OPB4 COP LDJM1
|
|
BRU OPB5
|
|
* CHECK NAME WITH LEXICON - INT FCNS
|
|
LWCHK LDA A7
|
|
STA T+13
|
|
STZ CNT
|
|
LW3 CAX
|
|
LDB *T+13
|
|
LSH 4
|
|
STA T+15
|
|
RSH 2
|
|
ADD =1
|
|
STA T+14 NO. NAME WDS
|
|
LDA T+15 LEX WD LEN
|
|
SKE LEN
|
|
BRU LW2
|
|
LDA T+14
|
|
LW1 CAX
|
|
LDA *T+13
|
|
SKE NAME-1,IX2
|
|
BRU LW4
|
|
CXA
|
|
SUB =1
|
|
SKEA =0
|
|
BRU LW5
|
|
BRU LW1
|
|
LW2 SKGA LEN
|
|
LW6 BRU LW16 NON-LEXICON IN QUOTES
|
|
LW4 MIN CNT
|
|
LDA =29
|
|
SKG CNT
|
|
BRU LW6
|
|
LDA T+14
|
|
ADD =1
|
|
ADM T+13
|
|
CLR
|
|
BRU LW3
|
|
LW5 CAX
|
|
LDB *T+13
|
|
LSH 7
|
|
ETR =7
|
|
ADD A24 BRU LW7
|
|
STA LW7-1
|
|
CLA
|
|
LSH 5
|
|
CAX
|
|
LSH 12
|
|
ETR =07777
|
|
XAB
|
|
BRU
|
|
LW7 BRU LW8
|
|
BRU LW9
|
|
BRU LW10
|
|
BRU LW11
|
|
BRU LW12 TRUE
|
|
BRU LW13 FALSE
|
|
SKNA NOCOD
|
|
MIN SJ
|
|
CLR
|
|
STA FEFSW
|
|
BRM SETFR
|
|
COP ALJM0
|
|
LDA MAD
|
|
STA BR
|
|
LDX =3
|
|
LDB =FOR
|
|
BRU LW11
|
|
LW8 LDA OPTAB,IX2
|
|
STA OP
|
|
STB T+13
|
|
BRM TS
|
|
LW15 LDB T+13
|
|
LW9 LDX =1
|
|
STX MODE
|
|
MIN TMIN,IX2
|
|
LW14 LDA TMIN,IX2
|
|
STA P+8
|
|
LDA A4,IX2
|
|
STA P+9
|
|
XAB
|
|
BRM STCON
|
|
SN BRU LW102
|
|
LW10 LDX =0
|
|
BRU LW9+1
|
|
LW11 LDA OPTAB,IX2
|
|
SKNA NOCOD
|
|
MIN SK
|
|
STA *SK
|
|
BRU LW9
|
|
LW12 LDA =1
|
|
STB T+13
|
|
STA LA
|
|
LDA =1
|
|
STA TYPES
|
|
BRM SETK
|
|
BRU LW9-1
|
|
LW13 LDA =0
|
|
BRU LW12+1
|
|
LW16 ERR 'J' NON-LEXICON IN QUOTES
|
|
BRU FETCH6
|
|
ADNM PZE
|
|
STX T+10
|
|
LDA LEN
|
|
SKEA =7
|
|
BRR ADNM
|
|
ADD =1
|
|
STA LEN
|
|
RSH 2
|
|
CAX
|
|
CLA
|
|
LSH 2
|
|
ADD =ADNMT
|
|
STA T+21
|
|
LDA CHAR
|
|
CLB
|
|
EXU *T+21
|
|
ADD NAME,IX2
|
|
ADN1 STA NAME,IX2
|
|
LDX MODE
|
|
BRR ADNM
|
|
ADNMT BRU ADN1
|
|
RCY 6
|
|
RCY 12
|
|
RCY 18
|
|
SN1 LDA =-1
|
|
STA LEN
|
|
BRM ADNM
|
|
BRU FETCH
|
|
SN2 LDA =1
|
|
STA ND
|
|
CLR
|
|
LDB CHAR
|
|
LSH 6
|
|
STA NUMB
|
|
BRU FETCH
|
|
SN3 LDB =APRI
|
|
BRU LW9
|
|
SN4 LDB =IDT
|
|
BRU LW9
|
|
SN5 LDA CW+8
|
|
LDB =SEMCOL
|
|
BRU LW8+1
|
|
SN6 LDA CW+9
|
|
LDB =END
|
|
BRU LW8+1
|
|
SN7 LDA CW+10
|
|
LDB =COMMA
|
|
BRU LW8+1
|
|
SN8 LDA CW+11
|
|
LDB =LPAREN
|
|
BRU LW11+1
|
|
SN9 LDA CW+12
|
|
LDB =RPAREN
|
|
BRU LW8+1
|
|
SN12 LDB CW+13
|
|
LDA CHAR
|
|
SKE =ZZP
|
|
LDB CW+14 - CW
|
|
XAB
|
|
LDB =AOP
|
|
BRU LW8+1
|
|
SN13 LDA CW+27
|
|
LDB =COLONE
|
|
BRU LW8+1
|
|
SN14 LDB =ROPE
|
|
BRU LW8+2
|
|
SN15 LDB CW+15
|
|
LDA CHAR
|
|
SKEA =ZZD
|
|
BRU SN15A
|
|
LDB CW+16 \ CW
|
|
SKE =ZZI
|
|
LDB CW+17 * CW
|
|
SN15A XAB
|
|
LDB =MOPE
|
|
BRU LW8+1
|
|
SN16 LDA CW+5
|
|
LDB =ELSE
|
|
BRU LW8+1
|
|
SN27 BRM ADBLNK
|
|
LDA =IDT
|
|
MIN TMIN+1
|
|
LDB TMIN+1
|
|
STB P+8
|
|
LDB A4+1
|
|
STB P+9
|
|
BRM STCON
|
|
SN27A LDA CW+1
|
|
LDB =ASSIGN
|
|
BRU LW11+1
|
|
SN28 LDA CW+18
|
|
LDB =EQUIV
|
|
BRU LW8+1
|
|
SN29 LDA CW+19
|
|
STA OP
|
|
BRU LW102
|
|
SN30 LDA CW+20
|
|
BRU SN29+1
|
|
SN31 LDA CW+21
|
|
BRU SN29+1
|
|
SN32 LDA CW+22
|
|
BRU SN29+1
|
|
SN34 LDA CW+23
|
|
BRU SN29+1
|
|
SN35 LDA CW+25
|
|
LDB =IMPLIC
|
|
BRU LW8+1
|
|
SN38 LDA CW+24
|
|
BRU SN29+1
|
|
SN39 LDA CW+26
|
|
LDB =EOP
|
|
BRU LW8+1
|
|
SN24 BRM ADNM
|
|
SN24B BRU FETCH
|
|
SN25 BRM STRWD
|
|
BRU FETCH
|
|
SN24A LDA CHAR
|
|
LDB =1
|
|
SKE =020000000
|
|
STB SIGN
|
|
BRU LW102
|
|
SN26 MIN ND
|
|
CLR
|
|
LDB CHAR
|
|
LSH 6
|
|
STA CHAR
|
|
LDA NUMB
|
|
LSH 2
|
|
ADD NUMB
|
|
LSH 1
|
|
ADD CHAR
|
|
STA NUMB
|
|
BRU FETCH
|
|
SN22 MIN TMIN+1
|
|
LDA TMIN+1
|
|
STA P+8
|
|
LDA A4+1
|
|
STA P+9
|
|
LDA =END
|
|
BRM STCON
|
|
LDA CW+9 END CW
|
|
LDB =BOUND
|
|
BRU LW8+1
|
|
SN40 BRM ADBLNK
|
|
BRU SM
|
|
ADBLNK PZE
|
|
LDA LEN
|
|
RSH 2
|
|
STA T
|
|
CLA
|
|
LSH 2
|
|
CAX
|
|
LDA BLKTAB,IX2
|
|
LDX T
|
|
ADM NAME,IX2
|
|
BRR ADBLNK
|
|
BLKTAB DATA 0606060
|
|
DATA 06060
|
|
DATA 060
|
|
DATA 0
|
|
SN19 LDA MAD
|
|
STA SAD
|
|
COP BSNA
|
|
LDA =ZZL LPAREN
|
|
STA CHAR
|
|
BRU SN1
|
|
SN21 STZ RMIN
|
|
STZ TMIN
|
|
LDA =ZZR RPAREN
|
|
STA CHAR
|
|
BRM ADNM
|
|
LDA =SN21A
|
|
STA STRWD
|
|
SN21A BRU STRW1
|
|
LDA =044000000
|
|
ADD SAD
|
|
SKNA NOCOD
|
|
MIN SJ
|
|
STA *SJ
|
|
LDA SAD
|
|
BRM INTOUT
|
|
LDB =STRX
|
|
BRU LW9
|
|
SAD DATA 0
|
|
R9D1 LDA NUMB
|
|
STA INT
|
|
BRU SM
|
|
R9D2 BRM FRACP
|
|
BRU SM
|
|
R9D3 BRM FRACP
|
|
BRU R9D41
|
|
R9D6 LDA =1
|
|
STA INT
|
|
R9D4 LDA NUMB
|
|
SKR SIGN
|
|
CNA
|
|
CLB
|
|
LSH 12
|
|
ADM EXP
|
|
R9D41 BRM NTSCH
|
|
CLR
|
|
STA INT
|
|
STA FRAC
|
|
STA EXP
|
|
LDA =2
|
|
BRU R9D5A
|
|
R9D5 SKNA DECST
|
|
BRU SM
|
|
LDA NUMB
|
|
SKGA =077777
|
|
ERR 'L' INTEGER LITERAL GT 15 BITS
|
|
STA LA
|
|
LDA =3
|
|
R9D5A STA TYPES
|
|
BRM SETK
|
|
BRU SM
|
|
* OUTPUTS CONSTANTS AND REF-DEFS
|
|
ENDPO ERR 'A'
|
|
ENDPRG LDA =NIMF
|
|
NDPR1 SKEA NABADD
|
|
BRU NDPR2
|
|
CAX
|
|
LDA BASEA,IX2
|
|
SKA =04000000
|
|
BRU NDPR3
|
|
NDPR5 CXA
|
|
ADD =1
|
|
BRU NDPR1
|
|
NDPR3 LDA *A15B
|
|
STA T
|
|
RSH 17
|
|
STA T+1
|
|
TYY =052000000
|
|
NDPR4 MIN T
|
|
TYPW 1,4
|
|
MIW *T
|
|
TOPW 1
|
|
BRTW
|
|
BRU $-1
|
|
SKR T+1
|
|
BRU NDPR4
|
|
BRU NDPR5
|
|
NDPR2 BRM RELOUT
|
|
LDX =-NIMF+1
|
|
LDA A15B
|
|
SUB =-NIMF+1
|
|
STA T+16
|
|
NDPR6 LDA BASEA+NIMF-1,IX2
|
|
LDB =077777
|
|
SKMA =0
|
|
BRU NDPR7
|
|
XAB
|
|
LDA *T+16
|
|
BRM XNAM
|
|
STA BUF+3
|
|
BRM SEND
|
|
NDPR7 BRX NDPR6
|
|
LDA =02000000
|
|
ADD MAD
|
|
STA BUF+1
|
|
LDA =00100000
|
|
STA BUF+2
|
|
LDA =040000000
|
|
STA BUF+3
|
|
LDA =030250000
|
|
SKN SCSW
|
|
ADD =00200000
|
|
STA BUF
|
|
BRM SEND
|
|
TYPW 1,4
|
|
MIW =052224645
|
|
TOPW 1
|
|
WAIT HLT
|
|
BRU RESTRT
|
|
$OLODE LDX =-7
|
|
EOM 03604
|
|
LDA NDPR9
|
|
STA 1
|
|
BRU 1
|
|
NDPR9 WIM 2
|
|
* SEARCHES NUMBER TABLE -ADD TO TABLE IF FIRST TIME
|
|
NTSCH PZE
|
|
SKN NOCOD
|
|
BRR NTSCH
|
|
STX T+7
|
|
LDA NN
|
|
NTS6 ADD A19
|
|
NTS4 SKG A19
|
|
BRU NTS1
|
|
STA T+6
|
|
LDX =-3
|
|
NTS2 LDA EXP+1,IX2
|
|
SKE *T+6
|
|
BRU NTS3
|
|
BRX NTS2
|
|
NTS8 LDA T+6
|
|
ETR =077777
|
|
STA LA
|
|
LDX T+7
|
|
BRR NTSCH
|
|
NTS3 LDA T+6
|
|
SUB =4
|
|
BRU NTS4
|
|
NTS1 LDA NN
|
|
SKGA =24
|
|
BRU NTS5
|
|
ADD =4
|
|
STA NN
|
|
ADD A19
|
|
STA T+6
|
|
LDX =-3
|
|
NTS7 LDA EXP+1,IX2
|
|
STA *T+6
|
|
BRX NTS7
|
|
STZ *T+6
|
|
BRU NTS8
|
|
NTS5 LDA MAD
|
|
ADD =040000017
|
|
MIN SJ
|
|
STA *SJ
|
|
COP UJJM0
|
|
BRM RELOUT
|
|
LDA =-1
|
|
STA NN
|
|
ADM SJ
|
|
BRU NTS6
|
|
RELOUT PZE
|
|
BRM CODOUT
|
|
SKNA NN
|
|
BRR RELOUT
|
|
CLR
|
|
LDA NN
|
|
LSH 15
|
|
STA BUF
|
|
ADD =060250000
|
|
XMA BUF
|
|
LSH 2
|
|
ADD =NUMTAB-1
|
|
LDB =BUF+1
|
|
BRM MOVNAM
|
|
BRM SEND
|
|
LDA NN
|
|
ADD =1
|
|
RSH 1
|
|
ADM MAD
|
|
BRR RELOUT
|
|
* BUILDS STACK WORD FOR A CONSTANT
|
|
SETK PZE
|
|
CLR
|
|
LDA =0260
|
|
ADD TYPES
|
|
LSH 16
|
|
ADD LA
|
|
SKNA NOCOD
|
|
MIN SJ
|
|
STA *SJ
|
|
BRR SETK
|
|
* SAVE SIMP VAR,IF ANY -FDZ FOUND
|
|
FFDZ PZE
|
|
SKN NOCOD
|
|
BRR FFDZ
|
|
BRM SAVE
|
|
LDA SJ
|
|
SUB A12 LDA SJ
|
|
FF1 SUB =1
|
|
STA T+6
|
|
SKG PTR
|
|
BRR FFDZ
|
|
CAX
|
|
LDB =074000000
|
|
LDA SJ,IX2
|
|
SKM =04000000
|
|
BRU FF2
|
|
LDA T+6
|
|
STA RSULT
|
|
CNA
|
|
ADD SJ
|
|
SUB A12
|
|
CLB
|
|
LSH 10
|
|
ADD LDJM0
|
|
BRM COA
|
|
COP STT
|
|
FF2 LDA T+6
|
|
BRU FF1
|
|
* BUILD EXECUTION LANGUAGE WORD
|
|
COA PZE
|
|
SKN NOCOD
|
|
BRR COA
|
|
STA P+6
|
|
SKN PROCSW
|
|
BRU CO15
|
|
LDA NENT
|
|
LDB =-1
|
|
BRM MOVE
|
|
LDA P+6
|
|
STA PROCSW
|
|
STA DECSW
|
|
CO15 ETR =077
|
|
SKA =-1
|
|
BRU CO1
|
|
LDA *SK OP-BIN
|
|
BRU CO2
|
|
CO1 SKE =077
|
|
BRU CO2
|
|
LDA *SK OP-BIN INVERSE
|
|
RSH 12
|
|
CO2 LSH 15
|
|
ETR =07700000
|
|
STA WORDS OP PART SET
|
|
SKN DECSW
|
|
SKNA *BCTAB
|
|
BRU CO16
|
|
LDA BLKPAR
|
|
SUB =4
|
|
STA T+10
|
|
LDA MAD
|
|
ADD =040100000
|
|
STA *T+10
|
|
LDA =040000000
|
|
ADM *BCTAB
|
|
CO16 LDA P+6
|
|
RSH 6
|
|
ETR =017
|
|
STX T+10
|
|
CAX
|
|
BRU $+1,IX2
|
|
BRU CO3 LIT ADDR
|
|
BRU CO4 STACK REF
|
|
BRU CO5 TEMP
|
|
CO3 CLR
|
|
LDB P+6
|
|
LSH 9
|
|
CO6 ADM WORDS
|
|
BRU CO21
|
|
CO22 ADM WORDS
|
|
CO23 LDA *CO19
|
|
ETR =03000000
|
|
SKEA =0
|
|
BRU CO21
|
|
LDA =040000000
|
|
MRG WORDS
|
|
STA WORDS
|
|
CO21 CLA
|
|
BRM MOVE
|
|
LDX T+10
|
|
BRR COA
|
|
CO5 LDX RSULT
|
|
LDA TEMPT
|
|
ADD =050000000 KIND=TEMP
|
|
STA SJ,IX2
|
|
MIN TEMPT
|
|
LDA TEMPT
|
|
SKGA *MTEMP MAX TEMP USAGE IN BLOCK
|
|
STA *MTEMP
|
|
SUB =1
|
|
ADD =030000000
|
|
CLB
|
|
STB RSULT
|
|
BRU CO6
|
|
CO4 LDA P+6
|
|
RSH 10
|
|
ETR =017
|
|
CNA
|
|
ADD SJ
|
|
SKG A12
|
|
BRU CO77
|
|
STA $+1
|
|
CO19 LDA STACK WORD
|
|
STA T+11
|
|
LDB =074000000
|
|
SKM =054000000 CONSTANT
|
|
BRU CO7
|
|
LDB =00600000
|
|
SKM =00400000
|
|
BRU CO9
|
|
LDA =020000000 FLAG BIT=CONSTANT REF
|
|
ADM WORDS
|
|
LDA T+11
|
|
CO8 ETR =077777
|
|
STA T+11
|
|
LDA *T+11
|
|
CO18 ETR =077777
|
|
ADM WORDS
|
|
CLB
|
|
SKA =-1
|
|
LDB =040000000
|
|
LDA *T+11
|
|
ETR =077700000
|
|
ADD MAD
|
|
STA *T+11
|
|
BRU CO23
|
|
CO7 SKMA =060000000 FR
|
|
BRU CO17
|
|
SKMA =034000000 UNCLAB
|
|
BRU CO8
|
|
SKMA =024000000 EXT PROC
|
|
BRU CO8
|
|
SKMA =010000000 ARIDT
|
|
BRU CO12
|
|
SKMA =014000000 SWIDT
|
|
BRU CO12
|
|
SKMA =064000000 ADDRESS
|
|
BRU CO14
|
|
SKM =050000000
|
|
BRU CO13
|
|
LDA =030000000
|
|
ADM WORDS
|
|
CLB
|
|
BRU CO11+3
|
|
CO13 SKM =04000000
|
|
BRU CO11+1
|
|
ETR =00100000
|
|
SKE =0
|
|
BRU $+3
|
|
CO12 LDA =040000000 NON-OWN
|
|
BRU $+2
|
|
LDA =020000000
|
|
CO11 ADM WORDS
|
|
LDB P+6
|
|
LSH 9
|
|
LDA T+11
|
|
ETR =077777
|
|
BRU CO22
|
|
CO9 SKM =00200000
|
|
BRU CO11+3
|
|
LDA =010000000
|
|
ADM WORDS
|
|
BRU CO11+3
|
|
CO14 LDA =050000000
|
|
BRU CO11
|
|
CO17 LDB CO19
|
|
STB T+11
|
|
BRU CO18
|
|
CO77 STZ NOCOD
|
|
BRU CO21+2
|
|
* SETS REFERENCE TO FORWARD REF
|
|
SETFR PZE
|
|
ADD SJ
|
|
STA T+18
|
|
LDA =060000000
|
|
STA *T+18
|
|
BRR SETFR
|
|
* SATISFIES DEFINITION OF FRWRD REF
|
|
RECFR PZE
|
|
ADD SJ
|
|
STA T+18
|
|
LDA *T+18
|
|
BRM INTOUT
|
|
BRR RECFR
|
|
* MOVES CODE INTO OUTPUT BUFFER
|
|
MOVE PZE
|
|
SKN NOCOD
|
|
BRR MOVE
|
|
SKG =-1
|
|
BRR MOVE
|
|
STB T+19
|
|
LDB A13 LDA WORDS
|
|
STB MV1
|
|
STX T+17
|
|
STA T+18 NO. WDS TO GO -1
|
|
LDX NWDS
|
|
MV1 LDA WORDS
|
|
STA BUF+26,IX2
|
|
BPT 4
|
|
OBJT NOP BRM OBJTY OVERLAYS THIS
|
|
MIN MAD
|
|
MIN MV1
|
|
SKNA T+19
|
|
BRM RELO
|
|
LDB T+19
|
|
LSH 1
|
|
STB T+19
|
|
BRX MV2
|
|
STX NWDS
|
|
BRM CODOUT BUFFER FULL
|
|
LDX =-24
|
|
MV2 SKR T+18
|
|
BRU MV1
|
|
STX NWDS ALL WDS OUT
|
|
LDX T+17
|
|
BRR MOVE
|
|
* OUTPUTS A REF-DEF
|
|
INTOUT PZE
|
|
STA T+18
|
|
BRM CODOUT
|
|
LDA MAD
|
|
INT1 ADD =040100000
|
|
STA BUF+2
|
|
LDA T+18
|
|
ETR =077777
|
|
ADD =020100000
|
|
STA BUF+1
|
|
LDA =040350000
|
|
STA BUF
|
|
BRM SEND
|
|
BRR INTOUT
|
|
* BUILDS CW,LAW,FCHSM,MOVES LRW,BIN CARDS OUT
|
|
CODOUT PZE
|
|
CLR
|
|
LDA =24
|
|
ADD NWDS
|
|
SKG =0
|
|
BRR CODOUT
|
|
STA T+2 NO. DATA WDS
|
|
STX T+4
|
|
ADD =3
|
|
CAX TOT. WDS IN REC
|
|
LSH 15
|
|
ADD =050000
|
|
STA BUF CW
|
|
LDA =02100000
|
|
ADD MAD
|
|
SUB T+2
|
|
STA BUF+1 LAW
|
|
LDA BUF+26
|
|
STA BUF-1,IX2 POSITION LRW
|
|
BRM SEND
|
|
LDX T+4
|
|
BRR CODOUT
|
|
* FORM FOLDED CHECKSUM,STORE IN RH OF BUF
|
|
FCHK PZE
|
|
LDA A22 EOR BUF
|
|
STA FCHK1
|
|
LDA BUF
|
|
RSH 15
|
|
ETR =037
|
|
CNA
|
|
CAX
|
|
LDA =07777
|
|
FCHK1 EOR BUF
|
|
MIN FCHK1
|
|
BRX FCHK1
|
|
STA T+2
|
|
RSH 12
|
|
EOR T+2
|
|
ETR =07777
|
|
ADM BUF
|
|
BRR FCHK
|
|
* PAPER TAPE READ
|
|
CARD PZE
|
|
LDA SPACES
|
|
LDX =-20
|
|
STA IMAGE+20,IX2
|
|
BRX $-1
|
|
BRTW
|
|
BRU $-1
|
|
RPTW 1,4
|
|
LDX =-20
|
|
WIM IMAGE+20,IX2
|
|
BRTW
|
|
BRX $-2
|
|
BETW
|
|
BRU ERRB
|
|
DISW
|
|
BRR CARD **EXIT**
|
|
ERRB ERR 'B'
|
|
HLT
|
|
BRU CARD+1
|
|
SPACES DATA 012121212
|
|
RES 5
|
|
HICOL DATA 79
|
|
READ RES 0
|
|
* PUNCH A BINARY CARD -40 WORDS ONLY
|
|
PUNCH PZE
|
|
LDA =-12
|
|
SKS 014046 SKIP IF PUNCH 1,CHANNEL 0 IS READY
|
|
BRU $-1
|
|
PUNCH1 SKS 021000 SKIP IF CHANNEL 0 IS READY
|
|
BRU $-1
|
|
EOM 003646 START PUNCH
|
|
LDX =-40
|
|
MIW BUF+40,IX2
|
|
BRX $-1
|
|
EOM 014000 TERMINATE OUTPUT
|
|
ADD =1 ROW COUNTER
|
|
SKG =-1 SKIP IF 12TH ROW PUNCHED
|
|
BRU PUNCH1 NEXT ROW
|
|
STA BUF+26 CLR LD RELOC WD
|
|
SKS 021000
|
|
BRU $-1
|
|
CLR
|
|
LDX =-31
|
|
STA BUF+31,IX2
|
|
BRX $-1
|
|
BRR PUNCH
|
|
RES 4
|
|
WRITE RES 0
|
|
SEND PZE
|
|
SKN NOCOD
|
|
BRR SEND
|
|
STX T
|
|
BRM FCHK
|
|
BRM PUNCH
|
|
LDA =-24
|
|
STA NWDS
|
|
LDX T
|
|
BRR SEND
|
|
STRWD PZE
|
|
BRM ADNM
|
|
LDA LEN
|
|
SKE =3
|
|
BRR STRWD
|
|
STRW1 LDA NAME
|
|
STA WORDS
|
|
LDA =-1
|
|
STA LEN
|
|
CLR
|
|
BRM MOVE
|
|
BRR STRWD
|
|
* SET RELOC BIT =1
|
|
RELO PZE
|
|
STX T+7
|
|
CXA
|
|
CNA
|
|
CAX
|
|
CLR
|
|
LDB =040000000
|
|
LSH 0,IX2
|
|
ADM BUF+26 LOAD RELOC WD.
|
|
LDX T+7
|
|
BRR RELO
|
|
* STACK CONTROL BASED ON PRECEDENCE
|
|
TS PZE
|
|
SKN NOCOD
|
|
BRR TS
|
|
TS2 LDA *SK
|
|
ETR =037000000
|
|
STA T+15
|
|
LDA OP
|
|
ETR =037000000
|
|
SKG T+15
|
|
BRU TS1
|
|
MIN SK
|
|
LDA OP
|
|
STA *SK
|
|
TSEX BRR TS
|
|
TS1 LDA *SK
|
|
RSH 6
|
|
ETR =077
|
|
CAX
|
|
BRU $+1,IX2
|
|
BRU OPBIN
|
|
BRU OPUN
|
|
BRU OPASS
|
|
BRU OPBRK
|
|
BRU OPSW
|
|
BRU OPIF
|
|
BRU OPTH
|
|
BRU OPELS
|
|
BRU OPGO
|
|
BRU OPBEG
|
|
BRU OPLPAR
|
|
BRU OPFOR
|
|
BRU OPPROC
|
|
BRU OPFRR
|
|
BRU OPARY
|
|
BRU OPIO
|
|
* SUBSCRIPT OPERATOR CODE GENERATOR
|
|
OPBRK BRM SAVE
|
|
LDA *SJ
|
|
ETR =074000000
|
|
SKE =054000000 CONSTANT
|
|
BRU OPBR5
|
|
OPBR6 LDA OP
|
|
SKE CW+12 RPAREN
|
|
BRU TSEX
|
|
LDA =-1
|
|
ADD SJ
|
|
OPBR2 STA T+1
|
|
LDA *T+1
|
|
ETR =074000000
|
|
SKE =010000000
|
|
BRU OPBR1
|
|
CLR
|
|
LDA SJ
|
|
SUB T+1
|
|
STA T+1
|
|
LSH 10
|
|
STA T+3
|
|
LDA PZJMO
|
|
BRU $+2
|
|
OPBR4 LDA SSJM0
|
|
ADD T+3
|
|
BRM COA
|
|
LDA =077776000
|
|
ADM T+3
|
|
SKN T+3
|
|
BRU OPBR4
|
|
CLR
|
|
SUB T+1
|
|
ADM SJ
|
|
LDA =064000000 ADDRESS
|
|
ADD MAD
|
|
SUB T+1
|
|
SUB =1
|
|
STA *SJ
|
|
SKR SK
|
|
BRU TSEX
|
|
OPBR5 SKEA =050000000 TEMP
|
|
BRU OPBR6
|
|
COP LDJM0
|
|
BRM RST
|
|
COP STT
|
|
BRU OPBR6
|
|
OPBR1 LDA T+1
|
|
SUB =1
|
|
BRU OPBR2
|
|
* BEGIN BLOCK AND COMP ST MARKER
|
|
OPBEG LDA OP
|
|
SKE CW+9 END OP
|
|
BRU TSEX
|
|
SKR SK
|
|
LDA CW+8 SEMCOL
|
|
STA OP
|
|
LDA *SK
|
|
SKE CW+32 PHI R
|
|
BRU TSEX
|
|
BRU OPFRR
|
|
* LPAREN OPERATOR
|
|
OPLPAR LDA OP
|
|
SKE CW+12 RPAREN OP
|
|
BRU TSEX
|
|
SKR SK
|
|
BRU TSEX
|
|
RST PZE
|
|
LDA SJ
|
|
SUB A12
|
|
STA RSULT
|
|
BRR RST
|
|
RESTRT CLR
|
|
LDX =-NZER
|
|
STA ZERS+NZER,IX2
|
|
BRX $-1
|
|
STA BUF+26
|
|
LDA =-1
|
|
STA KSW
|
|
STA STOPSW
|
|
STA NEST
|
|
STA NN
|
|
STA NOCOD
|
|
LDA =1
|
|
STA TOT
|
|
STA RMIN
|
|
STA RMIN+1
|
|
LDA A12
|
|
STA SJ
|
|
LDA A11
|
|
STA SK
|
|
LDA =NIMF
|
|
STA NABADD
|
|
LDA =LIMF
|
|
STA NCADD
|
|
LDA I1
|
|
STA BCTAB
|
|
LDA I3
|
|
STA DNSP
|
|
LDA I4
|
|
STA BLKPAR
|
|
LDA I5
|
|
STA MTEMP
|
|
LDA =040000000
|
|
STA BCTAB+1
|
|
LDA =-24
|
|
STA NWDS
|
|
LDA =2
|
|
STA FEFSW
|
|
LDA I6
|
|
STA STRMIN
|
|
STA STRMAJ
|
|
LDA OPTAB+11
|
|
STA SK+1
|
|
LDX =-NIMF+1
|
|
REST1 LDA BASEA+NIMF-1,IX2
|
|
ETR =077700000
|
|
STA BASEA+NIMF-1,IX2
|
|
BRX REST1
|
|
BRU FETCHR
|
|
I1 LDA BCTAB+1
|
|
I3 LDA DNSP
|
|
I4 LDA BLKPAR
|
|
I5 LDA MTEMP
|
|
SNG FORM 12,12
|
|
I6 SNG BOUND,0
|
|
A1 LDA MMIN,IX2 MAIN DICT BASE (MINOR)
|
|
LDA MMAJ,IX2 (MAJOR)
|
|
D DATA 0 ACCESS DICT BASE
|
|
RMIN DATA 1
|
|
DATA 1
|
|
ZERS EQU $
|
|
TMIN DATA 0
|
|
DATA 0
|
|
INT DATA 0
|
|
FRAC DATA 0
|
|
EXP DATA 0
|
|
PTR DATA 0
|
|
SCSW DATA 0
|
|
NDIM DATA 0
|
|
MODE DATA 0
|
|
RSULT DATA 0
|
|
ITESW DATA 0
|
|
NENT DATA 0
|
|
LA DATA 0
|
|
$MAD DATA 0
|
|
DECST DATA 0
|
|
DECSW DATA 0
|
|
TELE DATA 0
|
|
RAND DATA 0
|
|
NDAD DATA 0
|
|
PROCSW DATA 0
|
|
TEMPT DATA 0
|
|
SWIND DATA 0
|
|
POSADD DATA 0
|
|
KIND DATA 0
|
|
PARA DATA 0
|
|
TYPES DATA 0
|
|
STYPE DATA 0
|
|
NZER EQU $-ZERS
|
|
A4 PZE STRMIN,IX2
|
|
PZE STRMAJ,IX2
|
|
SEM PZE N
|
|
PZE M
|
|
SIZE DATA LDICTN-1
|
|
DATA LDICTJ-1
|
|
A2 BRU DF6
|
|
A3 LDA 0,IX2
|
|
P RES 10 MASAGE PARA STORE
|
|
T RES 25
|
|
WORDS RES 15
|
|
A7 PZE LWTAB,IX2
|
|
A8 PZE CVERT,IX2
|
|
NABADD DATA NIMF
|
|
NCADD DATA LIMF
|
|
BCTAB LDA $+1
|
|
DATA 040000000
|
|
RES 5
|
|
A9 STA 0,IX2
|
|
A10 SKE NAME
|
|
A11 LDA SK+1
|
|
A12 LDA SJ
|
|
A13 LDA WORDS
|
|
A15 LDA BASEA,IX2
|
|
A15B LDA BASEB,IX2
|
|
A15L PZE BASEB-BASEA
|
|
A16 PZE BASEC-1
|
|
A19 LDA NUMTAB,IX2
|
|
A22 EOR BUF
|
|
SJ LDA $
|
|
RES 15
|
|
SK LDA $+1
|
|
DATA 0771100 BEGIN
|
|
RES 20
|
|
DELTA DATA 0
|
|
STRMIN SNG BOUND,0
|
|
RES 2
|
|
STRMAJ SNG BOUND,0
|
|
RES 24
|
|
FEFSW RES 1
|
|
A23 STA BASEA
|
|
A24 BRU LW7
|
|
ND DATA 0
|
|
NUMB DATA 0
|
|
NUM1 DATA 0
|
|
NUM2 DATA 0
|
|
NN DATA -1
|
|
NUMTAB RES 28
|
|
NWDS DATA -24
|
|
NOCOD DATA -1
|
|
MTEMP LDA $
|
|
RES 6
|
|
BLKPAR LDA $
|
|
RES 31
|
|
DNSP LDA $
|
|
RES 6
|
|
CW DATA 0300 LBRACK
|
|
DATA 002000200 ASSIGN
|
|
DATA 001000600 THEN (STACK)
|
|
DATA 000000600 THEN (OP)
|
|
DATA 002000700 ELSE (STACK)
|
|
DATA 001000700 ELSE (OP)
|
|
DATA 0400 SWITCH
|
|
DATA 001001000 GOTO
|
|
DATA 07600 SEMCOL
|
|
DATA 01177 END
|
|
DATA 07500 COMMA
|
|
DATA 0771200 LPAREN
|
|
DATA 01277 RPAREN
|
|
DATA 011060006 +
|
|
DATA 011110010 -
|
|
DATA 012140013 /
|
|
DATA 012160015 \
|
|
DATA 012120012 *
|
|
DATA 03250025 EQUIV
|
|
DATA 010320031 GE
|
|
DATA 010310032 LE
|
|
DATA 010300030 EQ
|
|
DATA 010330033 NE
|
|
DATA 010260027 LS
|
|
DATA 010270026 GT
|
|
DATA 04240023 IMPLIC
|
|
DATA 013200017 EOP
|
|
DATA 07400 COLON
|
|
DATA 011000100 UOP
|
|
DATA 07700 BOUND
|
|
DATA 01401 PROC
|
|
DATA 01300 PHI
|
|
DATA 01501 PHI R
|
|
DATA 01400 WHILE
|
|
DATA 01600 UNTIL
|
|
DATA 01500 STEP
|
|
DATA 01700 DO
|
|
DATA 01701
|
|
STT DATA 000204
|
|
PZJMO DATA 040145
|
|
LDJM1 DATA 042101
|
|
LDJM0 DATA 040101
|
|
SSJM0 DATA 040150
|
|
STJM0 DATA 040104
|
|
WHJM0 DATA 040120
|
|
LDNJM0 DATA 040102
|
|
NEG DATA 000003
|
|
OPJM0 DATA 040100
|
|
OPIJM1 DATA 042177
|
|
JFJM0 DATA 040136
|
|
UJNA DATA 000034
|
|
UJJM1 DATA 042134
|
|
UJJM0 DATA 040134
|
|
BSNA DATA 054
|
|
BBNA DATA 043
|
|
BPNA DATA 041
|
|
EBNA DATA 044
|
|
EPNA DATA 042
|
|
IOJM0 DATA 040152
|
|
PJM0 DATA 040155
|
|
PJM1 DATA 042155
|
|
PJM2 DATA 044155
|
|
BCJM0 DATA 040137
|
|
ECJM0 DATA 040153
|
|
SUJM0 DATA 040117
|
|
JPJM0 DATA 040140
|
|
SPLJM0 DATA 040157
|
|
DEALNA DATA 7
|
|
JPJM1 DATA 042140
|
|
ALJM2 DATA 044105
|
|
EFBNA DATA 060
|
|
ALJM0 DATA 040105
|
|
STFA FORM 4,5,15
|
|
BR RES 1
|
|
TAB1 DATA UNKIDT
|
|
DATA VRIDT
|
|
DATA ARIDT
|
|
DATA SWIDT
|
|
DATA PRIDT
|
|
DATA PRIDT
|
|
DATA PRIDT
|
|
DATA SDX
|
|
DATA SDX
|
|
DATA BVAR
|
|
DATA AVAR
|
|
DATA BPRI
|
|
DATA APRI
|
|
DATA BVARP
|
|
DATA AVARP
|
|
IX2 EQU 2
|
|
SPECAL EQU 6
|
|
EMP EQU 0
|
|
PRHED EQU SPECAL-5
|
|
BLKHD EQU SPECAL-4
|
|
BOUND EQU SPECAL-3
|
|
MOP EQU 4
|
|
BEGINB EQU SPECAL-2
|
|
USI EQU 5
|
|
BEGINC EQU SPECAL-1
|
|
RPAR EQU 6
|
|
STMTSQ EQU SPECAL
|
|
ASN EQU 7
|
|
COLON EQU 7
|
|
EQUAL EQU 8
|
|
ULBLK EQU 8
|
|
LPT EQU 9
|
|
BLOCK EQU 9
|
|
RPT EQU 10
|
|
CMPD EQU 10
|
|
AST EQU 11
|
|
UCS EQU 11
|
|
AOP EQU 12
|
|
IDT EQU 13
|
|
APRI EQU 14
|
|
COMMA EQU 15
|
|
END EQU 16
|
|
SEMCOL EQU 17
|
|
RPAREN EQU 18
|
|
LPAREN EQU 19
|
|
ELSE EQU 20
|
|
APOST EQU 21
|
|
UBS EQU 21
|
|
ROP EQU 22
|
|
STRING EQU 22
|
|
DGT EQU 23
|
|
UFORS EQU 23
|
|
LTR EQU 24
|
|
ULCOMP EQU 24
|
|
IDTP EQU 25
|
|
SWDES EQU 25
|
|
USIP EQU 26
|
|
SWIDT EQU 26
|
|
IDTPA EQU 27
|
|
FL EQU 27
|
|
ARIDT EQU 28
|
|
APL EQU 29
|
|
REAL EQU 30
|
|
INTGER EQU 31
|
|
BOOL EQU 32
|
|
FORS EQU 33
|
|
BEGIN EQU 34
|
|
SDX EQU 35
|
|
IFS EQU 36
|
|
CS EQU 37
|
|
SUBX EQU 38
|
|
PROCED EQU 39
|
|
ARRAY EQU 40
|
|
VRIDT EQU 41
|
|
PRIDT EQU 42
|
|
ALPL EQU 43
|
|
DO EQU 44
|
|
FPL EQU 45
|
|
AX EQU 46
|
|
ARLIS EQU 47
|
|
PRHDB EQU 48
|
|
BPL EQU 49
|
|
BOX EQU 50
|
|
STRX EQU 51
|
|
THEN EQU 52
|
|
BLPL EQU 53
|
|
DEX EQU 54
|
|
LBLSL EQU 55
|
|
AVAR EQU 56
|
|
FDZ EQU 57
|
|
STMT EQU 58
|
|
AFCT EQU 59
|
|
ATRM EQU 60
|
|
SAX EQU 61
|
|
BVAR EQU 62
|
|
BPRI EQU 63
|
|
BSEC EQU 64
|
|
BFCT EQU 65
|
|
BTRM EQU 66
|
|
IMP EQU 67
|
|
SBX EQU 68
|
|
PRODEC EQU 69
|
|
LABEL EQU 70
|
|
IFC EQU 71
|
|
SWITCH EQU 72
|
|
FPLPD EQU 73
|
|
PRHDA EQU 74
|
|
STEP EQU 76
|
|
ELA EQU 77
|
|
UNTIL EQU 78
|
|
ELB EQU 79
|
|
ELC EQU 80
|
|
WHILE EQU 81
|
|
ELD EQU 82
|
|
FCP EQU 83
|
|
LBROCK EQU 86
|
|
FDZP EQU 89
|
|
VUL EQU 90
|
|
USNA EQU 95
|
|
ARSEG EQU 97
|
|
LBRACK EQU 98
|
|
PRHDCP EQU 99
|
|
LPD EQU 100
|
|
AVARP EQU 101
|
|
SUBL EQU 102
|
|
BVARP EQU 103
|
|
DECLAR EQU 104
|
|
LOB EQU 105
|
|
XPRIDT EQU 106
|
|
BXP EQU 109
|
|
IF EQU 110
|
|
PRHDEP EQU 111
|
|
APLPD EQU 112
|
|
SPECLS EQU 113
|
|
ERROR EQU 114
|
|
DXP EQU 116
|
|
ASSIGN EQU 117
|
|
SWL EQU 118
|
|
GOTO EQU 119
|
|
TEN EQU 121
|
|
FORC EQU 124
|
|
PT EQU 125
|
|
USN EQU 127
|
|
SWDP EQU 131
|
|
VRLIS EQU 132
|
|
USNB EQU 133
|
|
IFSP EQU 134
|
|
XTRNAL EQU 135
|
|
PIFS EQU 136
|
|
UNKIDT EQU 137
|
|
LBL EQU 139
|
|
XPRLIS EQU 141
|
|
AXP EQU 142
|
|
ARY EQU 145
|
|
EXT EQU 146
|
|
PROC EQU 147
|
|
OWN EQU 148
|
|
SWDESP EQU 149
|
|
FOR EQU 150
|
|
AFCTP EQU 151
|
|
ATRMP EQU 152
|
|
SAXP EQU 153
|
|
EOP EQU 154
|
|
RELP EQU 156
|
|
NOT EQU 157
|
|
BFCTP EQU 158
|
|
AND EQU 159
|
|
BTRMP EQU 160
|
|
OR EQU 161
|
|
IMPP EQU 162
|
|
IMPLIC EQU 163
|
|
SBXP EQU 164
|
|
EQUIV EQU 165
|
|
VALUE EQU 166
|
|
UNDEF EQU 167
|
|
PRGRAM EQU 168
|
|
TRUE EQU 169
|
|
FALSE EQU 170
|
|
FORMAT EQU 171
|
|
COMENT EQU 172
|
|
ILLEG EQU 173
|
|
IGNOR EQU 174
|
|
UOP EQU 175
|
|
DOTDOT EQU 176
|
|
BLANK EQU 177
|
|
APOST2 EQU 180
|
|
TYPE EQU 181
|
|
COMST EQU 182
|
|
USNC EQU 184
|
|
USND EQU 185
|
|
PRHDC EQU 187
|
|
ROPE EQU 188
|
|
MOPE EQU 189
|
|
COLONE EQU 190
|
|
SUBD EQU 0
|
|
IMPA EQU 1
|
|
RULE EQU 2
|
|
RULEF EQU 3
|
|
ICON FORM 6,10,8
|
|
CON FORM 8,8,8
|
|
RL FORM 2,2,2,10,8
|
|
DICT FORM 3,9,12
|
|
MMIN RES 0
|
|
DICT SUBD,BOUND,BND1
|
|
DICT SUBD,MOP,MOP1
|
|
DICT RULEF,USI,RR9
|
|
DICT SUBD,RPAR,RPAR1
|
|
DICT RULEF,COLON,RR3
|
|
DICT RULEF,EQUAL,RR4
|
|
DICT RULEF,LPT,RR5
|
|
DICT RULEF,RPT,RR6
|
|
DICT RULEF,AST,RR7
|
|
DICT SUBD,AOP,AOP1
|
|
DICT SUBD,IDT,IDT1
|
|
DICT SUBD,APRI,APR1
|
|
DICT SUBD,COMMA,COM1
|
|
DICT SUBD,END,END1
|
|
DICT SUBD,SEMCOL,SEM1
|
|
DICT RULEF,RPAREN,RR8
|
|
DICT SUBD,LPAREN,LPAR1
|
|
DICT SUBD,ELSE,ELS1
|
|
DICT SUBD,APOST,APST1
|
|
DICT SUBD,ROP,ROP1
|
|
DICT IMPA,DGT,X2
|
|
DICT IMPA,LTR,X1
|
|
DICT RULEF,IDTP,RR1
|
|
DICT RULEF,USIP,RR2
|
|
DICT RULEF,IDTPA,RR10
|
|
LDICTN EQU $-MMIN
|
|
USI1 RES 0
|
|
DICT 4+IMPA,BOUND,X3
|
|
IDT1 RES 0
|
|
DICT 4+IMPA,BOUND,X4
|
|
SEM1 RES 0
|
|
DICT IMPA,BOUND,X5
|
|
DICT IMPA,END,X6
|
|
DICT 4+SUBD,COMENT,SEM11
|
|
COM1 RES 0
|
|
DICT 4+IMPA,BOUND,X7
|
|
LPAR1 RES 0
|
|
DICT 4+IMPA,BOUND,X8
|
|
RPAR1 RES 0
|
|
DICT 4+IMPA,BOUND,X9
|
|
AOP1 RES 0
|
|
DICT IMPA,TEN,X24
|
|
DICT IMPA,USNB,X26
|
|
DICT 4+IMPA,BOUND,X12
|
|
ROP1 RES 0
|
|
DICT 4+IMPA,BOUND,X14
|
|
MOP1 RES 0
|
|
DICT 4+IMPA,BOUND,X15
|
|
ELS1 RES 0
|
|
DICT IMPA,BOUND,X16
|
|
DICT 4+IMPA,END,X17
|
|
END1 DICT 4+IMPA,END,X18
|
|
BND1 DICT 4+SUBD,END,BND11
|
|
APST1 DICT SUBD,IDT,APST12
|
|
DICT 4+IMPA,APOST,X19
|
|
SEM11 DICT 4+IMPA,BOUND,X20
|
|
BND11 DICT 4+IMPA,BOUND,X22
|
|
APST12 DICT 4+IMPA,APOST,X23
|
|
APR1 DICT 4+IMPA,BOUND,X3
|
|
X1 ICON 1,SN1-N,IDTP
|
|
X2 ICON 1,SN2-N,USIP
|
|
X3 ICON 1,SN3-N,BOUND
|
|
X4 ICON 1,SN4-N,BOUND
|
|
X5 ICON 1,SN5-N,BOUND
|
|
X6 ICON 1,SN6-N,SEMCOL
|
|
X7 ICON 1,SN7-N,BOUND
|
|
X8 ICON 1,SN8-N,BOUND
|
|
X9 ICON 1,SN9-N,BOUND
|
|
X12 ICON 1,SN12-N,BOUND
|
|
X14 ICON 1,SN14-N,BOUND
|
|
X15 ICON 1,SN15-N,BOUND
|
|
X16 ICON 1,SN16-N,BOUND
|
|
X17 ICON 1,SN6-N,ELSE
|
|
X18 ICON 1,SN6-N,END
|
|
X19 ICON 1,SN19-N,APOST2
|
|
X20 ICON 1,SN24B-N,BOUND
|
|
X22 ICON 1,SN22-N,BOUND
|
|
X23 ICON 0,LWCHK-N,0
|
|
X24 ICON 1,SN24A-N,TEN
|
|
X26 ICON 1,SN24A-N,USNB
|
|
RR1 RL 1,1,1,SN-N,LPD
|
|
CON LPD,0,0
|
|
RL 1,0,1,SN24-N,LTR
|
|
CON IDTP,0,0
|
|
RL 1,0,1,SN24-N,DGT
|
|
CON IDTP,0,0
|
|
RL 1,0,1,SN-N,COLON
|
|
CON IDTPA,0,0
|
|
RL 0,0,1,SN40-N,IDT
|
|
RR2 RL 1,0,1,SN26-N,DGT
|
|
CON USIP,0,0
|
|
RL 0,0,1,SN-N,USI
|
|
RR3 RL 2,1,1,SN-N,LPD
|
|
CON LPAREN,COMMA,0
|
|
RL 2,1,1,SN27A-N,BOUND
|
|
CON EQUAL,BOUND,0
|
|
RL 1,1,1,SN13-N,BOUND
|
|
CON BOUND,0,0
|
|
RR4 RL 2,1,1,SN28-N,BOUND
|
|
CON EQUAL,BOUND,0
|
|
RL 1,0,1,SN29-N,RPT
|
|
CON ROP,0,0
|
|
RL 1,0,1,SN30-N,LPT
|
|
CON ROP,0,0
|
|
RL 0,0,1,SN31-N,ROP
|
|
RR5 RL 1,0,1,SN32-N,RPT
|
|
CON ROP,0,0
|
|
RL 1,0,1,SN30-N,EQUAL
|
|
CON ROP,0,0
|
|
RL 0,0,1,SN34-N,ROP
|
|
RR6 RL 2,1,1,SN35-N,BOUND
|
|
CON RPT,BOUND,0
|
|
RL 1,0,1,SN32-N,LPT
|
|
CON ROP,0,0
|
|
RL 1,0,1,SN29-N,EQUAL
|
|
CON ROP,0,0
|
|
RL 0,0,1,SN38-N,ROP
|
|
RR7 RL 2,1,1,SN39-N,BOUND
|
|
CON AST,BOUND,0
|
|
RL 0,0,1,SN-N,MOP
|
|
RR8 RL 1,0,1,SN-N,LTR
|
|
CON LPD,0,0
|
|
RL 0,0,1,SN-N,RPAR
|
|
RR9 RL 1,0,1,R9D1-N,PT
|
|
CON USNA,0,0
|
|
RL 2,1,2,R9D2-N,USNA
|
|
CON TEN,USNB,TEN
|
|
RL 1,1,1,R9D3-N,USNA
|
|
CON APRI,0,0
|
|
RL 2,1,2,R9D2-N,PT
|
|
CON TEN,USNB,TEN
|
|
RL 1,1,1,R9D3-N,PT
|
|
CON APRI,0,0
|
|
RL 1,0,2,R9D1-N,TEN
|
|
CON USNB,TEN,0
|
|
RL 2,2,1,R9D4-N,USNB
|
|
CON TEN,APRI,0
|
|
RL 1,1,1,R9D6-N,TEN
|
|
CON APRI,0,0
|
|
RL 0,0,1,R9D5-N,APRI
|
|
RR10 RL 2,1,1,SN27-N,BOUND
|
|
CON EQUAL,BOUND,0
|
|
RL 1,1,1,LABDEF-N,BOUND
|
|
CON BOUND,0,0
|
|
LEX FORM 4,3,5,12
|
|
LWTAB LEX 1,3,0,IF
|
|
TEXT 4,IF
|
|
LEX 1,0,1,DO
|
|
TEXT 4,DO
|
|
LEX 1,0,2,OR
|
|
TEXT 4,OR
|
|
LEX 2,6,3,FOR
|
|
TEXT 4,FOR
|
|
LEX 2,2,0,END
|
|
TEXT 4,END
|
|
LEX 2,1,0,OWN
|
|
TEXT 4,OWN
|
|
LEX 2,0,5,AND
|
|
TEXT 4,AND
|
|
LEX 2,0,6,NOT
|
|
TEXT 4,NOT
|
|
LEX 3,0,7,THEN
|
|
TEXT 4,THEN
|
|
LEX 3,2,0,ELSE
|
|
TEXT 4,ELSE
|
|
LEX 3,1,0,REAL
|
|
TEXT 4,REAL
|
|
LEX 3,0,9,STEP
|
|
TEXT 4,STEP
|
|
LEX 3,3,10,GOTO
|
|
TEXT 4,GOTO
|
|
LEX 3,4,0,BPRI
|
|
TEXT 4,TRUE
|
|
LEX 4,3,11,BEGIN
|
|
TEXT 8,BEGIN
|
|
LEX 4,1,0,ARRAY
|
|
TEXT 8,ARRAY
|
|
LEX 4,0,12,UNTIL
|
|
TEXT 8,UNTIL
|
|
LEX 4,0,13,WHILE
|
|
TEXT 8,WHILE
|
|
LEX 4,5,0,BPRI
|
|
TEXT 8,FALSE
|
|
LEX 4,1,0,VALUE
|
|
TEXT 8,VALUE
|
|
LEX 4,1,0,LABEL
|
|
TEXT 8,LABEL
|
|
LEX 5,1,0,FORMAT
|
|
TEXT 8,FORMAT
|
|
LEX 5,1,0,SWITCH
|
|
TEXT 8,SWITCH
|
|
LEX 5,1,0,STRING
|
|
TEXT 8,STRING
|
|
LEX 6,1,0,INTGER
|
|
TEXT 8,INTEGER
|
|
LEX 6,2,0,COMENT
|
|
TEXT 8,COMMENT
|
|
LEX 6,1,0,BOOL
|
|
TEXT 8,BOOLEAN
|
|
LEX 7,1,0,XTRNAL
|
|
TEXT 8,EXTERNAL
|
|
LEX 7,1,8,PROCED
|
|
TEXT 8,PROCEDUR
|
|
OPTAB DATA 0500 IF
|
|
DATA 01700 DO
|
|
DATA 05210021 OR
|
|
DATA 01300 FOR
|
|
DATA 0400 SWITCH
|
|
DATA 06220022 AND
|
|
DATA 07000100 NOT
|
|
DATA 0600 THEN(OP)
|
|
DATA 0 PROCEDURE
|
|
DATA 01500 STEP
|
|
DATA 01001000 GO TO
|
|
DATA 0771100 BEGIN
|
|
DATA 01600 UNTIL
|
|
DATA 01400 WHILE
|
|
MMAJ RES 0
|
|
DICT SUBD,BEGINB,BGB1
|
|
DICT SUBD,BEGINC,BGC1
|
|
DICT SUBD,STMTSQ,DEC1
|
|
DICT IMPA,ASN,Y93
|
|
DICT RULE,ULBLK,R34
|
|
DICT RULEF,BLOCK,R38
|
|
DICT RULEF,CMPD,R38
|
|
DICT RULE,UCS,R29
|
|
DICT IMPA,AOP,Y137
|
|
DICT RULE,IDT,R2
|
|
DICT RULE,APRI,R12
|
|
DICT SUBD,COMMA,CM1
|
|
DICT SUBD,END,END2
|
|
DICT RULE,SEMCOL,R1
|
|
DICT SUBD,RPAREN,RPR1
|
|
DICT SUBD,LPAREN,LPR1
|
|
DICT RULE,ELSE,R44
|
|
DICT RULE,UBS,R31
|
|
DICT SUBD,STRING,STRG1
|
|
DICT RULE,UFORS,R32
|
|
DICT RULE,ULCOMP,R33
|
|
DICT IMPA,SWDES,Y62
|
|
DICT RULEF,SWIDT,R36
|
|
DICT SUBD,FL,FL1
|
|
DICT RULEF,ARIDT,R26
|
|
DICT SUBD,APL,APL1
|
|
DICT IMPA,REAL,Y1
|
|
DICT IMPA,INTGER,Y2
|
|
DICT IMPA,BOOL,Y3
|
|
DICT RULE,FORS,R35
|
|
DICT RULEF,BEGIN,R6
|
|
DICT RULEF,SDX,R27
|
|
DICT RULEF,IFS,R30
|
|
DICT IMPA,CS,R35Z
|
|
DICT RULEF,SUBX,R3
|
|
DICT RULE,PROCED,R4
|
|
DICT RULE,ARRAY,R5
|
|
DICT RULE,VRIDT,R7
|
|
DICT RULEF,PRIDT,R8
|
|
DICT SUBD,ALPL,ALPL1
|
|
DICT RULE,DO,R16
|
|
DICT SUBD,FPL,FPL1
|
|
DICT SUBD,AX,AX1
|
|
DICT SUBD,ARLIS,ARL1
|
|
DICT RULEF,PRHDB,R37
|
|
DICT SUBD,BPL,BPL1
|
|
DICT SUBD,BOX,BX1
|
|
DICT RULE,STRX,R40
|
|
DICT RULE,THEN,R42
|
|
DICT SUBD,BLPL,BLPL1
|
|
DICT SUBD,DEX,DEX1
|
|
DICT SUBD,LBLSL,LBLS1
|
|
DICT RULEF,AVAR,R10
|
|
DICT RULE,FDZ,R11
|
|
DICT RULEF,STMT,R18
|
|
DICT RULEF,AFCT,R13
|
|
DICT RULEF,ATRM,R14
|
|
DICT RULEF,SAX,R15
|
|
DICT RULEF,BVAR,R17
|
|
DICT RULE,BPRI,R19
|
|
DICT RULE,BSEC,R20
|
|
DICT RULEF,BFCT,R21
|
|
DICT RULEF,BTRM,R22
|
|
DICT RULEF,IMP,R23
|
|
DICT RULEF,SBX,R24
|
|
DICT RULEF,PRODEC,R39
|
|
DICT SUBD,LABEL,LAB1
|
|
DICT SUBD,IFC,IFC1
|
|
DICT SUBD,SWITCH,SWCH1
|
|
LDICTJ EQU $-MMAJ
|
|
DEC1 DICT 4+IMPA,STMTSQ,Y112
|
|
IFC1 RES 0
|
|
DICT IMPA,LBLSL,Y124
|
|
DICT IMPA,FORC,Y123
|
|
DICT IMPA,BEGINC,Y121
|
|
DICT IMPA,STMTSQ,Y122
|
|
DICT IMPA,BLKHD,Y120
|
|
DICT IMPA,IFSP,Y125
|
|
DICT 4+IMPA,PIFS,Y126
|
|
SWCH1 DICT 4+IMPA,PRHDC,Y132
|
|
LAB1 DICT 4+IMPA,PRHDC,Y133
|
|
STRG1 DICT 4+IMPA,PRHDC,Y134
|
|
CM1 DICT IMPA,FPL,Y15
|
|
DICT IMPA,APL,Y39
|
|
DICT 4+SUBD,AX,CM12
|
|
CM12 DICT IMPA,FCP,Y48
|
|
DICT 4+SUBD,COMMA,CM121
|
|
CM121 DICT 4+IMPA,FL,Y50
|
|
BGB1 DICT 4+SUBD,PRHDC,BGB11
|
|
BGB11 DICT 4+IMPA,PRHDA,Y22
|
|
FPL1 DICT 4+IMPA,FPLPD,Y16
|
|
LPR1 DICT 4+IMPA,ARSEG,Y17
|
|
BGC1 DICT 4+SUBD,PRHDC,BGC11
|
|
BGC11 DICT 4+IMPA,PRHDA,Y23
|
|
APL1 DICT 4+IMPA,APLPD,R36Z
|
|
ALPL1 DICT 4+IMPA,ALPL,Y42
|
|
FL1 DICT 4+SUBD,COMMA,FL11
|
|
FL11 DICT 4+IMPA,FL,Y103
|
|
AX1 DICT IMPA,AXP,R15Z
|
|
DICT IMPA,ALPL,Y43
|
|
DICT IMPA,FDZP,Y52
|
|
DICT IMPA,LBRACK,Y74
|
|
DICT SUBD,UNTIL,ELC1
|
|
DICT IMPA,APLPD,Y95
|
|
DICT SUBD,COLONE,AX11
|
|
DICT 4+SUBD,COMMA,AX12
|
|
AX11 DICT 4+IMPA,AX,Y71
|
|
AX12 DICT 4+IMPA,SUBL,R3Z
|
|
ARL1 DICT 4+SUBD,COMMA,ARL11
|
|
ARL11 DICT 4+IMPA,ARLIS,Y67
|
|
BPL1 DICT 4+SUBD,COMMA,BPL11
|
|
BPL11 DICT 4+IMPA,BPL,Y71
|
|
RPR1 DICT SUBD,SUBL,RPR11
|
|
DICT SUBD,BPL,RPR12
|
|
DICT SUBD,DEX,RPR13
|
|
DICT SUBD,BOX,RPR14
|
|
DICT SUBD,AX,RPR15
|
|
DICT 4+SUBD,APL,RPR161
|
|
RPR11 DICT 4+SUBD,LBRACK,RPR111
|
|
RPR111 DICT IMPA,BVARP,Y66
|
|
DICT 4+IMPA,AVARP,Y65
|
|
RPR12 DICT 4+SUBD,LBROCK,RPR121
|
|
RPR121 DICT 4+IMPA,ARSEG,Y64
|
|
RPR13 DICT 4+IMPA,LPAREN,Y62
|
|
RPR14 DICT 4+IMPA,LPAREN,R17Z
|
|
RPR15 DICT 4+IMPA,LPAREN,R10Z
|
|
RPR161 DICT 4+IMPA,FDZP,R8Z
|
|
BX1 DICT IMPA,APLPD,Y95
|
|
DICT SUBD,WHILE,ELC3
|
|
DICT IMPA,FDZP,Y52
|
|
DICT IMPA,BXP,R24Z
|
|
DICT 4+IMPA,BLPL,Y43
|
|
BLPL1 DICT 4+IMPA,BLPL,Y83
|
|
DEX1 DICT IMPA,GOTO,Y93
|
|
DICT IMPA,APLPD,Y95
|
|
DICT IMPA,FDZP,Y52
|
|
DICT IMPA,DXP,R27Z
|
|
DICT IMPA,ASSIGN,Y91
|
|
DICT 4+SUBD,COMMA,DEX11
|
|
DEX11 DICT 4+IMPA,SWL,Y92
|
|
LBLS1 DICT 4+IMPA,LBLSL,Y97
|
|
END2 DICT IMPA,LBLSL,Y98
|
|
DICT 4+SUBD,STMTSQ,SQ1
|
|
ELC1 DICT 4+SUBD,AX,ELC2
|
|
ELC2 DICT 4+SUBD,STEP,ELC3
|
|
ELC3 DICT 4+IMPA,AX,Y103
|
|
SQ1 DICT IMPA,BLKHD,Y114
|
|
DICT 4+IMPA,BEGINC,Y110
|
|
Y1 ICON 1,SM1-M,TYPE
|
|
Y2 ICON 1,SM2-M,TYPE
|
|
Y3 ICON 1,SM3-M,TYPE
|
|
Y15 ICON 1,SM-M,FPLPD
|
|
Y16 ICON 1,SM-M,FPL
|
|
Y17 ICON 2,SM17-M,ARSEG
|
|
CON LBROCK,0,0
|
|
Y22 ICON 2,SM22-M,PRHED
|
|
CON BEGINB,0,0
|
|
Y23 ICON 2,SM22-M,PRHED
|
|
CON BEGINC,0,0
|
|
Y39 ICON 1,SM-M,APLPD
|
|
Y42 ICON 1,SM-M,ALPL
|
|
Y43 ICON 1,SM-M,ASN
|
|
Y48 ICON 3,SM-M,FCP
|
|
CON FL,COMMA,0
|
|
Y50 ICON 2,SM-M,FL
|
|
CON COMMA,0,0
|
|
Y52 ICON 2,SM-M,FDZP
|
|
CON APL,0,0
|
|
Y62 ICON 1,SM-M,SDX
|
|
Y64 ICON 1,SM64-M,ARLIS
|
|
Y65 ICON 1,SM-M,AVAR
|
|
Y66 ICON 1,SM-M,BVAR
|
|
Y67 ICON 1,SM-M,ARLIS
|
|
Y71 ICON 1,SM-M,BPL
|
|
Y74 ICON 2,SM-M,LBRACK
|
|
CON SUBX,0,0
|
|
Y83 ICON 1,SM-M,BLPL
|
|
Y91 ICON 2,SM-M,ASSIGN
|
|
CON SWL,0,0
|
|
Y92 ICON 1,SM-M,SWL
|
|
Y93 ICON 1,SM-M,UBS
|
|
Y95 ICON 2,SM-M,APLPD
|
|
CON APL,0,0
|
|
Y97 ICON 1,SM-M,LBLSL
|
|
Y98 ICON 2,SM-M,UCS
|
|
CON END,0,0
|
|
Y103 ICON 1,SM-M,FL
|
|
Y110 ICON 1,SM-M,ULCOMP
|
|
Y112 ICON 1,SM-M,STMTSQ
|
|
Y114 ICON 1,SM-M,ULBLK
|
|
Y120 ICON 2,SM-M,BLKHD
|
|
CON PIFS,0,0
|
|
Y121 ICON 2,SM-M,BEGINC
|
|
CON PIFS,0,0
|
|
Y122 ICON 2,SM-M,STMTSQ
|
|
CON PIFS,0,0
|
|
Y123 ICON 2,SM-M,FORC
|
|
CON PIFS,0,0
|
|
Y124 ICON 1,SM-M,PIFS
|
|
Y125 ICON 2,SM-M,IFSP
|
|
CON PIFS,0,0
|
|
Y126 ICON 2,SM-M,PIFS
|
|
CON PIFS,0,0
|
|
Y137 ICON 1,SM137-M,UOP
|
|
Y132 ICON 1,R2D6-M,PRHDEP
|
|
Y133 ICON 1,SM133-M,PRHDEP
|
|
Y134 ICON 1,SM134-M,PRHDEP
|
|
R40 RL 2,2,1,R40D1-M,LBLSL
|
|
CON FORMAT,STMT,0
|
|
RL 0,0,1,SM-M,APL
|
|
R35 RL 1,1,1,SM-M,PIFS
|
|
CON STMT,0,0
|
|
R35Z RL 0,0,1,SM-M,STMT
|
|
R6 RL 1,0,2,BEGBLK-M,REAL
|
|
CON BEGINB,REAL,0
|
|
RL 1,0,2,BEGBLK-M,INTGER
|
|
CON BEGINB,INTGER,0
|
|
RL 1,0,2,BEGBLK-M,BOOL
|
|
CON BEGINB,BOOL,0
|
|
RL 1,0,2,BEGBLK-M,OWN
|
|
CON BEGINB,OWN,0
|
|
RL 1,0,2,BEGBLK-M,PROCED
|
|
CON BEGINB,PROCED,0
|
|
RL 1,0,2,BEGBLK-M,ARRAY
|
|
CON BEGINB,ARRAY,0
|
|
RL 1,0,2,BEGBLK-M,SWITCH
|
|
CON BEGINB,SWITCH,0
|
|
RL 1,0,2,BEGBLK-M,XTRNAL
|
|
CON BEGINB,XTRNAL,0
|
|
RL 0,0,1,SM-M,BEGINC
|
|
R4 RL 1,1,1,R4D1-M,PRHDC
|
|
CON PRHDEP,0,0
|
|
RL 2,2,1,R4D2-M,PRHDC
|
|
CON TYPE,PRHDEP,0
|
|
RL 1,1,1,SM-M,TYPE
|
|
CON PROC,0,0
|
|
RL 0,0,1,R4D4-M,PROC
|
|
R5 RL 1,1,1,R5D1-M,PRHDC
|
|
CON PRHDEP,0,0
|
|
RL 2,2,1,R5D2-M,OWN
|
|
CON TYPE,ARY,0
|
|
RL 2,2,1,R5D3-M,PRHDC
|
|
CON TYPE,PRHDEP,0
|
|
RL 1,1,1,R5D4-M,TYPE
|
|
CON ARY,0,0
|
|
RL 1,1,1,R5D5-M,OWN
|
|
CON ARY,0,0
|
|
RL 0,0,1,R5D6-M,ARY
|
|
R7 RL 2,2,1,VAR-M,VRLIS
|
|
CON COMMA,VRLIS,0
|
|
RL 2,2,1,R7D2-M,OWN
|
|
CON TYPE,VRLIS,0
|
|
RL 1,1,1,VAR-M,TYPE
|
|
CON VRLIS,0,0
|
|
RL 0,0,1,R7D4-M,AVAR
|
|
R8 RL 1,0,1,R8D2-M,LPAREN
|
|
CON FDZP,0,0
|
|
RL 1,0,2,R7D4-M,ASSIGN
|
|
CON AVAR,ASSIGN,0
|
|
R8Z RL 0,0,1,SM-M,FDZ
|
|
R11 RL 1,1,2,SM-M,STMTSQ
|
|
CON STMTSQ,UBS,0
|
|
RL 1,1,2,SM-M,BEGINC
|
|
CON BEGINC,UBS,0
|
|
RL 1,1,2,SM-M,BLKHD
|
|
CON BLKHD,UBS,0
|
|
RL 1,1,2,SM-M,FORC
|
|
CON FORC,UBS,0
|
|
RL 1,1,2,SM-M,LBLSL
|
|
CON LBLSL,UBS,0
|
|
RL 1,1,2,SM-M,IFSP
|
|
CON IFSP,UBS,0
|
|
RL 1,1,2,SM-M,PIFS
|
|
CON PIFS,UBS,0
|
|
RL 0,0,1,R11D14-M,APRI
|
|
R3 RL 3,2,1,SM-M,SWDESP
|
|
CON LBRACK,RPAREN,SWDES
|
|
R3Z RL 0,0,1,SM-M,SUBL
|
|
R10 RL 2,1,1,R10D2-M,FOR
|
|
CON ASSIGN,FCP,0
|
|
RL 1,0,1,R10D2-M,ASSIGN
|
|
CON ALPL,0,0
|
|
R10Z RL 0,0,1,SM-M,APRI
|
|
R12 RL 1,1,1,SM-M,AFCTP
|
|
CON AFCT,0,0
|
|
RL 0,0,1,SM-M,AFCT
|
|
R13 RL 1,0,1,SM-M,EOP
|
|
CON AFCTP,0,0
|
|
RL 1,1,1,SM-M,ATRMP
|
|
CON ATRM,0,0
|
|
RL 0,0,1,SM-M,ATRM
|
|
R14 RL 1,0,1,SM-M,MOPE
|
|
CON ATRMP,0,0
|
|
RL 1,1,1,SM-M,SAXP
|
|
CON SAX,0,0
|
|
RL 1,1,1,SM-M,UOP
|
|
CON SAX,0,0
|
|
RL 0,0,1,SM-M,SAX
|
|
R15 RL 1,0,1,SM-M,AOP
|
|
CON SAXP,0,0
|
|
RL 1,0,1,SM-M,ROPE
|
|
CON RELP,0,0
|
|
RL 2,1,1,SM-M,IFC
|
|
CON ELSE,AXP,0
|
|
RL 1,1,1,SM-M,RELP
|
|
CON BPRI,0,0
|
|
R15Z RL 0,0,1,SM-M,AX
|
|
R16 RL 2,2,1,SM-M,FCP
|
|
CON FL,FORC,0
|
|
RL 1,1,2,SM-M,AX
|
|
CON FL,DO,0
|
|
RL 0,0,1,SYND-M,ERROR
|
|
R18 RL 2,1,1,R1D1-M,STMTSQ
|
|
CON SEMCOL,STMTSQ,0
|
|
RL 1,1,1,SM-M,FORC
|
|
CON UFORS,0,0
|
|
RL 1,1,1,SM-M,IFSP
|
|
CON STMT,0,0
|
|
RL 1,0,2,SM-M,END
|
|
CON STMTSQ,END,0
|
|
RL 3,2,2,SM135-M,PRHDA
|
|
CON PRHDC,SEMCOL,PRODEC
|
|
CON SEMCOL,0,0
|
|
RL 2,1,2,SM135-M,PRHED
|
|
CON SEMCOL,PRODEC,SEMCOL
|
|
RL 1,0,1,R1D1-M,SEMCOL
|
|
CON STMTSQ,0,0
|
|
RL 0,0,1,SYNS-M,ERROR
|
|
R17 RL 1,0,1,R10D2-M,ASSIGN
|
|
CON BLPL,0,0
|
|
R17Z RL 0,0,1,SM-M,BPRI
|
|
R19 RL 1,1,1,SM-M,NOT
|
|
CON BSEC,0,0
|
|
RL 0,0,1,SM-M,BSEC
|
|
R20 RL 1,1,1,SM-M,BFCTP
|
|
CON BFCT,0,0
|
|
RL 0,0,1,SM-M,BFCT
|
|
R21 RL 1,0,1,SM-M,AND
|
|
CON BFCTP,0,0
|
|
RL 1,1,1,SM-M,BTRMP
|
|
CON BTRM,0,0
|
|
RL 0,0,1,SM-M,BTRM
|
|
R22 RL 1,0,1,SM-M,OR
|
|
CON BTRMP,0,0
|
|
RL 1,1,1,SM-M,IMPP
|
|
CON IMP,0,0
|
|
RL 0,0,1,SM-M,IMP
|
|
R23 RL 1,0,1,SM-M,IMPLIC
|
|
CON IMPP,0,0
|
|
RL 1,1,1,SM-M,SBXP
|
|
CON SBX,0,0
|
|
RL 0,0,1,SM-M,SBX
|
|
R24 RL 1,0,1,SM-M,EQUIV
|
|
CON SBXP,0,0
|
|
RL 2,1,1,SM-M,IFC
|
|
CON ELSE,BXP,0
|
|
R24Z RL 0,0,1,SM-M,BOX
|
|
R37 RL 1,0,1,SM-M,VALUE
|
|
CON PRHDCP,0,0
|
|
RL 0,0,1,SM-M,PRHDC
|
|
R36 RL 1,1,1,SWIT-M,SWITCH
|
|
CON SWDP,0,0
|
|
RL 1,0,2,SM-M,LPAREN
|
|
CON SWDESP,LBRACK,0
|
|
R36Z RL 0,0,1,SM-M,APL
|
|
R34 RL 1,1,1,ENDBLK-M,LBLSL
|
|
CON BLOCK,0,0
|
|
RL 0,0,1,ENDBLK-M,BLOCK
|
|
R38 RL 2,1,1,R39D2-M,BOUND
|
|
CON BOUND,PRGRAM,0
|
|
RL 0,0,1,SM-M,UCS
|
|
R26 RL 1,0,2,R26D4-M,LPAREN
|
|
CON AVARP,LBRACK,0
|
|
RL 0,0,1,SM-M,APL
|
|
R27 RL 2,1,1,SM-M,IFC
|
|
CON ELSE,DXP,0
|
|
R27Z RL 0,0,1,SM-M,DEX
|
|
R29 RL 1,1,1,SM-M,PIFS
|
|
CON IFS,0,0
|
|
RL 0,0,1,R29D1-M,STMT
|
|
R30 RL 1,0,1,SM-M,ELSE
|
|
CON IFSP,0,0
|
|
RL 0,0,1,SM-M,STMT
|
|
R31 RL 1,1,1,SM-M,LBLSL
|
|
CON UCS,0,0
|
|
RL 0,0,1,SM-M,UCS
|
|
R32 RL 1,1,1,SM-M,LBLSL
|
|
CON FORS,0,0
|
|
RL 0,0,1,SM-M,FORS
|
|
R33 RL 1,1,1,SM-M,LBLSL
|
|
CON CMPD,0,0
|
|
RL 0,0,1,SM-M,CMPD
|
|
R39 RL 2,1,1,R39D1-M,BOUND
|
|
CON SEMCOL,PRGRAM,0
|
|
RL 0,0,1,SM22-M,DECLAR
|
|
R2 RL 2,2,2,R2D1-M,PRHDC
|
|
CON TYPE,PRHDEP,SPECLS
|
|
RL 1,1,2,R2D2-M,TYPE
|
|
CON TYPE,VRIDT,0
|
|
RL 2,2,3,SM-M,VRLIS
|
|
CON COMMA,VRLIS,COMMA
|
|
CON VRIDT,0,0
|
|
RL 1,1,1,R2D4-M,ARY
|
|
CON ARSEG,0,0
|
|
RL 2,2,3,R2D5-M,ARLIS
|
|
CON COMMA,ARLIS,COMMA
|
|
CON ARSEG,0,0
|
|
RL 2,2,1,R2D6A-M,ARSEG
|
|
CON COMMA,ARSEG,0
|
|
RL 1,1,2,R2D6-M,SWITCH
|
|
CON SWITCH,SWIDT,0
|
|
RL 2,2,1,R2D7-M,TYPE
|
|
CON XTRNAL,XPRLIS,0
|
|
RL 1,1,1,R2D8-M,XTRNAL
|
|
CON XPRLIS,0,0
|
|
RL 2,2,1,R2D7-M,XPRLIS
|
|
CON COMMA,XPRLIS,0
|
|
RL 2,2,2,R2D9A-M,BOUND
|
|
CON PROC,BOUND,PRHDA
|
|
RL 1,1,1,R2D9-M,PROC
|
|
CON PRHDA,0,0
|
|
RL 2,2,3,R2D10-M,PRHDA
|
|
CON LPAREN,PRHDA,LPAREN
|
|
CON FPL,0,0
|
|
RL 1,1,1,R2D11-M,FPLPD
|
|
CON FPL,0,0
|
|
RL 1,1,2,R2D12-M,PRHDCP
|
|
CON PRHDCP,VUL,0
|
|
RL 2,2,1,R2D12-M,VUL
|
|
CON COMMA,VUL,0
|
|
RL 1,1,2,R2D14-M,PRHDEP
|
|
CON PRHDEP,SPECLS,0
|
|
RL 2,2,1,R2D14-M,SPECLS
|
|
CON COMMA,SPECLS,0
|
|
RL 0,0,1,MODA-M,SDX
|
|
R1 RL 2,2,1,R1D2-M,BLKHD
|
|
CON DECLAR,BLKHD,0
|
|
RL 1,1,2,SM117-M,VRLIS
|
|
CON DECLAR,SEMCOL,0
|
|
RL 1,1,2,SM68-M,ARLIS
|
|
CON DECLAR,SEMCOL,0
|
|
RL 1,1,1,SM-M,PRHDA
|
|
CON PRHED,0,0
|
|
RL 3,3,1,SM-M,LPAREN
|
|
CON FPL,RPAREN,PRHDB
|
|
RL 2,2,1,SM-M,PRHDCP
|
|
CON VUL,PRHDC,0
|
|
RL 2,2,1,SM-M,PRHDEP
|
|
CON SPECLS,PRHDC,0
|
|
RL 1,1,2,SM-M,XPRLIS
|
|
CON DECLAR,SEMCOL,0
|
|
RL 2,2,1,R1D2-M,BEGINB
|
|
CON DECLAR,BLKHD,0
|
|
RL 3,3,2,SM-M,SWDP
|
|
CON ASSIGN,SWL,DECLAR
|
|
CON SEMCOL,0,0
|
|
RL 1,1,2,SM-M,LBLSL
|
|
CON UCS,SEMCOL,0
|
|
RL 1,1,1,SM-M,STMTSQ
|
|
CON STMTSQ,0,0
|
|
RL 1,1,1,SM-M,BLKHD
|
|
CON BLKHD,0,0
|
|
RL 0,0,1,SYN-M,ERROR
|
|
R42 RL 2,2,1,SM-M,IF
|
|
CON BOX,IFC,0
|
|
RL 0,0,1,SYND-M,ERROR
|
|
R44 RL 1,1,2,SM-M,LBLSL
|
|
CON UCS,ELSE,0
|
|
RL 0,0,1,SYND-M,ERROR
|
|
LITERA RES NLIT
|
|
STFA FORM 4,5,15
|
|
STFB FORM 9,15
|
|
BASEA STFA 5,4,0
|
|
STFA 5,4,0
|
|
STFA 5,4,0
|
|
STFA 5,4,0
|
|
STFA 5,4,0
|
|
STFA 5,4,0
|
|
XPON STFA 5,4,0
|
|
STFA 5,4,0
|
|
STFA 5,4,0
|
|
STFA 5,4,0
|
|
STFA 5,4,0
|
|
STFA 5,4,0
|
|
STFA 5,0,0
|
|
STFA 5,0,0
|
|
STFA 5,0,0
|
|
IO DATA $+024000000
|
|
START HLT
|
|
LDA =1
|
|
STA 017777
|
|
SKE 017777
|
|
BRU STRT0
|
|
LDX STRTN
|
|
LDA BASEB+NIMF,IX2
|
|
ADD STRTK
|
|
STA BASSB+NIMF,IX2
|
|
BRX $-3
|
|
LDA STRTB
|
|
ADD A3
|
|
STA A15B
|
|
LDA STRTL
|
|
STA A15L
|
|
LDA STRTC
|
|
STA A16
|
|
LDX STRTM
|
|
LDA BASEC+LIMF,IX2
|
|
STA BASSC+LIMF,IX2
|
|
BRX $-2
|
|
LDA OBJ4
|
|
SKE OBJTY BRM OBJTY
|
|
BRU STRT0
|
|
STA OBJT
|
|
BRU STRT0
|
|
OBJ4 BRM OBJTY
|
|
BASSB EQU BASEA+1000
|
|
BASSC EQU BASSB+1000
|
|
STRTB PZE BASSB
|
|
STRTC PZE BASSC-1
|
|
STRTK DATA BASSC-BASEC
|
|
STRTL PZE BASSB-BASEA
|
|
STRTM DATA -LIMF
|
|
STRTN DATA -NIMF
|
|
AORG BASEA+NIMF+STL
|
|
BASEB STFB 2,BASEC-1
|
|
STFB 3,BASEC
|
|
STFB 2,BASEC+1
|
|
STFB 2,BASEC+2
|
|
STFB 2,BASEC+3
|
|
STFB 5,BASEC+4
|
|
STFB 3,BASEC+6
|
|
STFB 1,BASEC+7
|
|
STFB 2,BASEC+8
|
|
STFB 3,BASEC+9
|
|
STFB 2,BASEC+10
|
|
STFB 2,BASEC+11
|
|
STFB 4,BASEC+12
|
|
STFB 4,BASEC+14
|
|
STFB 5,BASEC+16
|
|
STFB 1,BASEC+18
|
|
STRT0 BPT 1
|
|
BRU $+2
|
|
BRU STRT1
|
|
LDX STRT5
|
|
LDA STRT3,IX2
|
|
STA READ,IX2
|
|
BRX $-2
|
|
STRT1 BPT 2
|
|
BRU FETCH
|
|
LDX STRT6
|
|
LDA STRT4,IX2
|
|
STA WRITE,IX2
|
|
BRX $-2
|
|
BRU FETCH
|
|
STRT5 DATA STRT2-STRT3
|
|
STRT6 DATA STRT3-STRT4
|
|
AORG BASEB+NIMF+STL
|
|
BASEC TEXT 4,ABS
|
|
TEXT 4,SIGN
|
|
TEXT 4,MOD
|
|
TEXT 4,MIN
|
|
TEXT 4,MAX
|
|
TEXT 8,ARCTAN
|
|
TEXT 4,1EXP
|
|
TEXT 4,LN
|
|
TEXT 4,EXP
|
|
TEXT 4,SQRT
|
|
TEXT 4,COS
|
|
TEXT 4,SIN
|
|
TEXT 8,ENDIO
|
|
TEXT 8,INPUT
|
|
TEXT 8,OUTPUT
|
|
TEXT 4,IO
|
|
* READ ONE HOLLERITH CODED CARD,UNIT 1,W BUFFER
|
|
STRT2 PZE READ CARD
|
|
BPT 3
|
|
TYY =052000000 CARRIAGE RETURN
|
|
CARD1 BRM CARD+20 CLEAR W AND DISCONNECT
|
|
SKS 012006 SKIP IF READER IS READY
|
|
BRU CARD+4
|
|
EOM 02606 START CARD READER
|
|
LDX =-20
|
|
WIM IMAGE+20,IX2 READ 4 CHARACTERS
|
|
SKS 021000 SKIP IF BUFFER READY BEFORE LAST WORD
|
|
BRU CARD+12
|
|
BRU CARD+17 READ ERROR-CARD FEED
|
|
BRX CARD+8
|
|
SKS 020010 SKIP IF NO BUFFER ERROR
|
|
BRU CARD+17 READ ERROR-DATA TRANSMISSION
|
|
BRM CARD+20 CLEAR W AND DISCONNECT
|
|
BRR CARD **EXIT**
|
|
ERR 'B' INPUT ERROR. RE-READ LAST CARD
|
|
HLT
|
|
BRU CARD+3
|
|
PZE *ENTRY*
|
|
EOM DISCONNECT
|
|
SKS 021000 SKIP IF BUFFER IS READY
|
|
BRU CARD+22
|
|
BRR CARD+20 *EXIT*
|
|
DATA 71 HICOL. HIGHEST CARD COLUMN
|
|
* PUNCH TAPE
|
|
STRT3 PZE
|
|
PNCHT LDA =BUF
|
|
STA PUNCH+24
|
|
LDA BUF
|
|
RSH 15
|
|
ETR =037
|
|
SUB =1
|
|
STA PUNCH+25
|
|
BRTW
|
|
BRU PUNCH+7
|
|
EOM 01644 PUNCH TAPE WITH LEADER
|
|
PNCHT1 MIW *PUNCH+24
|
|
MIN PUNCH+24
|
|
SKR PUNCH+25
|
|
BRU PUNCH+11
|
|
SKS 020010
|
|
HLT BAD PAPER PUNCH
|
|
EOM 014000
|
|
SKS 021000
|
|
BRU PUNCH+18
|
|
EOM 0
|
|
CLR
|
|
STA BUF+26
|
|
BRR PUNCH
|
|
PNCHTA PZE 0
|
|
PNCHTB PZE 0
|
|
STRT4 RES 0
|
|
AORG BASEC+LIMF+2*STL
|
|
AORG LITERA
|
|
END
|
|
*EOF*
|