Trailing-Edge
-
PDP-10 Archives
-
decuslib20-02
-
decus/20-0057/eactph.fas
There are 2 other files named eactph.fas in the archive. Click here to see a list.
;* * * * * * * * *
;* * DECLARATIONS * * * * *
;* * * * * * * * *
;*
;* LOCAL
;*
; DECLARE('SNOBOL.SUBPROGRAM','EACTPH')
; DECLARE('OPTION','NO.STNO')
; DECLARE('PURGE.VARIABLE',ALL)
; DECLARE('PURGE.LABEL',ALL)
; DECLARE('EXTERNAL.FUNCTION','PUTOUT,ERRMSG,NEWLAB,SUBS,GETATR,
;.GETBKT')
; DECLARE('ENTRY.VARIABLE','BRKTB1,BRKTB2,BRKTB3,BRKTB4')
; DECLARE('INTEGER','BRKTB1,BRKTB2,BRKTB3,BRKTB4')
; DECLARE('INTEGER','I,J,K,L,M,NVAR,NSYM')
; DECLARE('ENTRY.FUNCTION','INIEAC()')
; DECLARE('ENTRY.FUNCTION','EACTPH()')
;*
;* SYSTEM COMMON
;*
;* TABLES AND LISTS
; DECLARE('EXTERNAL.VARIABLE',
;.'SYMBTB,XNAMTB,KEYWTB,CTRLTB,DECLTB,CROSTB,CONSTB,ENTFTB,DSIZTB,
;.BOPRTB,UOPRTB')
; DECLARE('EXTERNAL.VARIABLE',
;.'ENTRLS,EXTRLS,FORTLS')
;* ARRAYS
; DECLARE('EXTERNAL.VARIABLE',
;.'PTVRAR,PTFNAR,PRIMAR,GOTOAR,DECLAR,PROGAR,VARBAR,MACHAR,STENAR,BOPRAR,
;.UOPRAR,PATRAR,EXPRAR,AROPAR,ARITAR,EACTAR')
;* PARAMETERS (STRINGS,DATATYPES)
; DECLARE('EXTERNAL.VARIABLE',
;.'C,INDENT,SPLASH,ITNAM,ITENT,NOFAIL,SNONAM,SUBNAM,PARBLK,PRGNAM,STARTP,
;.TEMLOC,P1,P2,P3,P4,P5')
;* PARAMETERS (INTEGERS)
; DECLARE('EXTERNAL.VARIABLE',
;.'P,OBJFLG,LISTSR,INTGER,ITTYP,ITATR,PRGALV,PRGALL,PRGALF,STNFLG,HSHSIZ,
;.STRTIM,DMPFLG,LISTOB,STNO,MAXTMP')
; DECLARE('INTEGER',
;.'P,OBJFLG,LISTSR,INTGER,ITTYP,ITATR,PRGALV,PRGALL,PRGALF,STNFLG,HSHSIZ,
;.STRTIM,DMPFLG,LISTOB,STNO,MAXTMP')
; DECLARE('EXTERNAL.VARIABLE',
;.'XNATRB,VTATRB,VDATRB,LTATRB,FTATRB,FDATRB,TXATRB,VNATRB,VXATRB,VIATRB,
;.VGATRB,LIATRB,LGATRB,FIATRB,FGATRB,FXATRB,SKATRB,SDATRB,BTATRB')
; DECLARE('INTEGER',
;.'XNATRB,VTATRB,VDATRB,LTATRB,FTATRB,FDATRB,TXATRB,VNATRB,VXATRB,VIATRB,
;.VGATRB,LIATRB,LGATRB,FIATRB,FGATRB,FXATRB,SKATRB,SDATRB,BTATRB')
; DECLARE('EXTERNAL.VARIABLE',
;.'XNVATR,XNLATR,XNFATR,XNXMSK,VTVATR,VDDATR,VDPATR,VDDMSK,LTDATR,LTTMSK,
;.FTFATR,FDPATR,FDIATR,FDDMSK,TXTATR,TXTMSK,VNNATR,VXXATR,VIPATR,VGGATR,
;.LIPATR,LGGATR,FIPATR,FGGATR,FXXATR,FXXMSK,SKRATR,SDRATR,BTRATR')
; DECLARE('INTEGER',
;.'XNVATR,XNLATR,XNFATR,XNXMSK,VTVATR,VDDATR,VDPATR,VDDMSK,LTDATR,LTTMSK,
;.FTFATR,FDPATR,FDIATR,FDDMSK,TXTATR,TXTMSK,VNNATR,VXXATR,VIPATR,VGGATR,
;.LIPATR,LGGATR,FIPATR,FGGATR,FXXATR,FXXMSK,SKRATR,SDRATR,BTRATR')
;* SPECIAL CHARACTERS,CHARACTER SEQUENCES, AND CHARACTER CLASSES
; DECLARE('EXTERNAL.VARIABLE',
;.'FFCHR,CRLCHR,LFCHR,CRCHR,SQCHR,DQCHR,TBCHR,LCSCHR,BLNCHR,EQLCHR,
;.QTSCHR,ELTCHR,LBCHR')
;* PATTERNS AND MATCHES
; DECLARE('EXTERNAL.VARIABLE',
;.'COMSPT,INTGPT,BLNKPT,OPBLPT,PCOMPT,PCPRMT,IDENPT,DCLCMT,RSIDPT,LABLPT,
;.POPRMT,IDENMT,SQLTPT,DQLTPT,LBDCPT,IDDCPT')
;*
;* MINIMAL SYMBOL TABLE
;*
; DECLARE('UNPURGE.VARIABLE','INIEAC,EACTPH,PUTLIT,STR1')
; DECLARE('UNPURGE.LABEL','INIEAC EACTPH PUTLIT')
; DECLARE('PURGE.FUNCTION','DATA,ARRAY,DIFFER,DATATYPE,SIZE,
;.SUBSTR,IDENT')
;* * * * * * * * *
;* * INITIALIZE END-ACTION PHASE * * *
;* * * * * * * * *
;INIEAC DEFINE('PUTLIT(STR1)')
TITLE EACTPH
OPDEF UFERR$ [1B8]
OPDEF CFERR$ [2B8]
OPDEF FCALV$ [3B8]
OPDEF FCALN$ [4B8]
OPDEF DASGN$ [5B8]
OPDEF DCONC$ [6B8]
OPDEF DICNV$ [7B8]
OPDEF DRCNV$ [10B8]
OPDEF AREFV$ [11B8]
OPDEF AREFN$ [12B8]
ENTRY EACTPH,INIEAC,BRKTB4,BRKTB3,BRKTB2,BRKTB1
EXTERN IDDCPT,LBDCPT,DQLTPT,SQLTPT,IDENMT,POPRMT,LABLPT,RSIDPT,DCLCMT,IDENPT
EXTERN PCPRMT,PCOMPT,OPBLPT,BLNKPT,INTGPT,COMSPT,LBCHR,ELTCHR,QTSCHR,EQLCHR
EXTERN BLNCHR,LCSCHR,TBCHR,DQCHR,SQCHR,CRCHR,LFCHR,CRLCHR,FFCHR,BTRATR
EXTERN SDRATR,SKRATR,FXXMSK,FXXATR,FGGATR,FIPATR,LGGATR,LIPATR,VGGATR,VIPATR
EXTERN VXXATR,VNNATR,TXTMSK,TXTATR,FDDMSK,FDIATR,FDPATR,FTFATR,LTTMSK,LTDATR
EXTERN VDDMSK,VDPATR,VDDATR,VTVATR,XNXMSK,XNFATR,XNLATR,XNVATR,BTATRB,SDATRB
EXTERN SKATRB,FXATRB,FGATRB,FIATRB,LGATRB,LIATRB,VGATRB,VIATRB,VXATRB,VNATRB
EXTERN TXATRB,FDATRB,FTATRB,LTATRB,VDATRB,VTATRB,XNATRB,MAXTMP,STNO,LISTOB
EXTERN DMPFLG,STRTIM,HSHSIZ,STNFLG,PRGALF,PRGALL,PRGALV,ITATR,ITTYP,INTGER
EXTERN LISTSR,OBJFLG,P,P5,P4,P3,P2,P1,TEMLOC,STARTP
EXTERN PRGNAM,PARBLK,SUBNAM,SNONAM,NOFAIL,ITENT,ITNAM,SPLASH,INDENT,C
EXTERN EACTAR,ARITAR,AROPAR,EXPRAR,PATRAR,UOPRAR,BOPRAR,STENAR,MACHAR,VARBAR
EXTERN PROGAR,DECLAR,GOTOAR,PRIMAR,PTFNAR,PTVRAR,FORTLS,EXTRLS,ENTRLS,UOPRTB
EXTERN BOPRTB,DSIZTB,ENTFTB,CONSTB,CROSTB,DECLTB,CTRLTB,KEYWTB,XNAMTB,SYMBTB
EXTERN GETBKT,GETATR,SUBS,NEWLAB,ERRMSG,PUTOUT
L10102:
MOVEI 14,Q10002
MOVEM 14,S$$FLP##
MOVE 1,S10248
FCALV$ ^D1,F10066
Q10002:
; DATA('SYM(INAM,ATRB)')
MOVEI 14,Q10003
MOVEM 14,S$$FLP##
MOVE 1,S10249
FCALV$ ^D1,F10060
Q10003:
; DATA('SNT(SNX,STY,SNM,SVL)') :(RETURN)
MOVEI 14,S$$SRT##
MOVEM 14,S$$FLP##
MOVE 1,S10250
FCALV$ ^D1,F10060
JRST S$$SRT##
;* * * * * * * * *
;* * GENERATE END-ACTION STORAGE * * *
;* * * * * * * * *
;EACTPH
L10104:
;* TEMP LOCATIONS
; PUTOUT(SUBS(EACTAR<1>,TEMLOC,MAXTMP))
MOVEI 14,Q10004
MOVEM 14,S$$FLP##
MOVE 1,I10251
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,@TEMLOC
PUSH 16,1
MOVE ^D1,MAXTMP
TLO 1,1B18
TLZ 1,1B19
FCALV$ ^D3,SUBS
FCALV$ ^D1,PUTOUT
Q10004:
;* RELEASE CODE ARRAYS IN CASE STORAGE IS NEEDED
;*
; GOTOAR =
MOVEI 14,Q10005
MOVEM 14,S$$FLP##
SETZM @GOTOAR
Q10005:
; DECLAR =
MOVEI 14,Q10006
MOVEM 14,S$$FLP##
SETZM @DECLAR
Q10006:
; PROGAR =
MOVEI 14,Q10007
MOVEM 14,S$$FLP##
SETZM @PROGAR
Q10007:
; VARBAR =
MOVEI 14,Q10008
MOVEM 14,S$$FLP##
SETZM @VARBAR
Q10008:
; MACHAR =
MOVEI 14,Q10009
MOVEM 14,S$$FLP##
SETZM @MACHAR
Q10009:
; STENAR =
MOVEI 14,Q10010
MOVEM 14,S$$FLP##
SETZM @STENAR
Q10010:
; PATRAR =
MOVEI 14,Q10011
MOVEM 14,S$$FLP##
SETZM @PATRAR
Q10011:
; PTVRAR =
MOVEI 14,Q10012
MOVEM 14,S$$FLP##
SETZM @PTVRAR
Q10012:
; PTFNAR =
MOVEI 14,Q10013
MOVEM 14,S$$FLP##
SETZM @PTFNAR
Q10013:
; EXPRAR =
MOVEI 14,Q10014
MOVEM 14,S$$FLP##
SETZM @EXPRAR
Q10014:
; AROPAR =
MOVEI 14,Q10015
MOVEM 14,S$$FLP##
SETZM @AROPAR
Q10015:
; ARITAR =
MOVEI 14,Q10016
MOVEM 14,S$$FLP##
SETZM @ARITAR
Q10016:
;* CONVERT INTEGER AND REAL CONSTANTS TABLE TO ARRAY, GENERATE
;* REQUIRED CONSTANTS AND/OR DESCRIPTORS
; ?INE(OBJFLG + LISTOB,0) :F(EAC2)
MOVEI 14,L10253
MOVEM 14,S$$FLP##
MOVE ^D1,OBJFLG
ADD ^D1,LISTOB
MOVEM 1,Q10001+^D0
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,Q10001+^D0
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
; LISTAR = ARRAY(CONSTB) :F(EAC2)
MOVEI 14,L10253
MOVEM 14,S$$FLP##
MOVE 1,@CONSTB
FCALV$ ^D1,F10063
MOVEM 1,@N10254
; CONSTB = ?TABLE(CONSTB)
MOVEI 14,Q10017
MOVEM 14,S$$FLP##
MOVE 1,@CONSTB
FCALV$ ^D1,F10064
SETZ 1,
MOVEM 1,@CONSTB
Q10017:
; I = 1
MOVE ^D1,K10251
MOVEM 1,V10095
;EAC1 STR1 = LISTAR<I,1> :F(EAC2)
L10255:
MOVEI 14,L10253
MOVEM 14,S$$FLP##
MOVE ^D1,V10095
TLO 1,1B18
TLZ 1,1B19
PUSH 16,1
MOVE 1,I10251
AREFV$ ^D2,N10254
MOVEM 1,@N10247
; J =
MOVEI 14,Q10018
MOVEM 14,S$$FLP##
SETZM V10096
Q10018:
; J = ?DIFFER(DATATYPE(STR1),'INTEGER') 1
MOVEI 14,Q10019
MOVEM 14,S$$FLP##
MOVE 1,@N10247
FCALV$ ^D1,F10052
PUSH 16,1
MOVE 1,S10048
FCALV$ ^D2,F10071
SETZ 1,
MOVE ^D1,K10251
MOVEM 1,V10096
Q10019:
; STR2 = LISTAR<I,2>
MOVEI 14,Q10020
MOVEM 14,S$$FLP##
MOVE ^D1,V10095
TLO 1,1B18
TLZ 1,1B19
PUSH 16,1
MOVE 1,I10257
AREFV$ ^D2,N10254
MOVEM 1,@N10256
Q10020:
; ITATR = ATRB(STR2)
MOVEI 14,Q10021
MOVEM 14,S$$FLP##
MOVE 1,@N10256
FCALV$ ^D1,F10258
DASGN$ 2,ITATR
Q10021:
; STR2 = INAM(STR2)
MOVEI 14,Q10022
MOVEM 14,S$$FLP##
MOVE 1,@N10256
FCALV$ ^D1,F10259
MOVEM 1,@N10256
Q10022:
; (?INE(AND(ITATR,1048576),0) ?PUTOUT(SUBS(EACTAR<2 + J>,STR2,
;.STR1)))
MOVEI 14,Q10023
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$AND##
JUMP 0,ITATR
JUMP 0,K10260
ADD 16,S$$STB##
MOVE 1,0
MOVEM 1,Q10001+^D0
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,Q10001+^D0
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
MOVE ^D1,K10257
ADD ^D1,V10096
TLO 1,1B18
TLZ 1,1B19
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,@N10256
PUSH 16,1
MOVE 1,@N10247
FCALV$ ^D3,SUBS
FCALV$ ^D1,PUTOUT
SETZ 1,
Q10023:
; (?INE(AND(ITATR,524288),0) ?PUTOUT(SUBS(EACTAR<4 + J>,STR2,STR1)
;.))
MOVEI 14,Q10024
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$AND##
JUMP 0,ITATR
JUMP 0,K10261
ADD 16,S$$STB##
MOVE 1,0
MOVEM 1,Q10001+^D0
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,Q10001+^D0
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
MOVE ^D1,K10262
ADD ^D1,V10096
TLO 1,1B18
TLZ 1,1B19
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,@N10256
PUSH 16,1
MOVE 1,@N10247
FCALV$ ^D3,SUBS
FCALV$ ^D1,PUTOUT
SETZ 1,
Q10024:
; I = I + 1 :(EAC1)
MOVE ^D1,V10095
ADD ^D1,K10251
MOVEM 1,V10095
JRST L10255
;EAC2 LISTAR =
L10253:
MOVEI 14,Q10025
MOVEM 14,S$$FLP##
SETZM @N10254
Q10025:
;* CONVERT SYMBOL TABLE TO ARRAY, INITIALIZE FOR SYMBOL LOOP
; VARBLK = NEWLAB()
MOVEI 14,Q10026
MOVEM 14,S$$FLP##
FCALV$ ^D0,NEWLAB
MOVEM 1,@N10263
Q10026:
; LISTAR = ARRAY(SYMBTB)
MOVEI 14,Q10027
MOVEM 14,S$$FLP##
MOVE 1,@SYMBTB
FCALV$ ^D1,F10063
MOVEM 1,@N10254
Q10027:
; SYMBTB = ?TABLE(SYMBTB)
MOVEI 14,Q10028
MOVEM 14,S$$FLP##
MOVE 1,@SYMBTB
FCALV$ ^D1,F10064
SETZ 1,
MOVEM 1,@SYMBTB
Q10028:
; I = 1
MOVE ^D1,K10251
MOVEM 1,V10095
;* SYMBOL LOOP, GENERATE ALL STORAGE EXCEPT UNDEDICATED VARIABLE
;* LOCATIONS AND SYMBOL BLOCK ENTRIES
;EAC3 STR1 = LISTAR<I,1> :F(EAC22)
L10264:
MOVEI 14,L10265
MOVEM 14,S$$FLP##
MOVE ^D1,V10095
TLO 1,1B18
TLZ 1,1B19
PUSH 16,1
MOVE 1,I10251
AREFV$ ^D2,N10254
MOVEM 1,@N10247
; STR2 = LISTAR<I,2>
MOVEI 14,Q10029
MOVEM 14,S$$FLP##
MOVE ^D1,V10095
TLO 1,1B18
TLZ 1,1B19
PUSH 16,1
MOVE 1,I10257
AREFV$ ^D2,N10254
MOVEM 1,@N10256
Q10029:
; ITATR = ATRB(STR2)
MOVEI 14,Q10030
MOVEM 14,S$$FLP##
MOVE 1,@N10256
FCALV$ ^D1,F10258
DASGN$ 2,ITATR
Q10030:
; STR2 = INAM(STR2)
MOVEI 14,Q10031
MOVEM 14,S$$FLP##
MOVE 1,@N10256
FCALV$ ^D1,F10259
MOVEM 1,@N10256
Q10031:
; ?INE(OBJFLG + LISTOB,0) :F(EAC10)
MOVEI 14,L10266
MOVEM 14,S$$FLP##
MOVE ^D1,OBJFLG
ADD ^D1,LISTOB
MOVEM 1,Q10001+^D0
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,Q10001+^D0
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
;* STRING ATTRIBUTES
; ITTYP = 3
MOVE ^D1,K10267
MOVEM 1,ITTYP
; GETATR()
MOVEI 14,Q10032
MOVEM 14,S$$FLP##
FCALV$ ^D0,GETATR
Q10032:
;* BREAK TABLE ATTRIBUTE
; ITTYP = 4
MOVE ^D1,K10262
MOVEM 1,ITTYP
; (?GETATR() ?INE(BTATRB,0) ?GETBKT(STR1) ?PUTOUT(SUBS(EACTAR<6>,
;.STR2,BRKTB1)) ?PUTOUT(SUBS(EACTAR<7>,RSHIFT(BRKTB2,18),AND(BRKTB2,
;.262143))) ?PUTOUT(SUBS(EACTAR<7>,RSHIFT(BRKTB3,18),AND(BRKTB3,262143)))
;. ?PUTOUT(SUBS(EACTAR<7>,RSHIFT(BRKTB4,18),AND(BRKTB4,262143))))
MOVEI 14,Q10033
MOVEM 14,S$$FLP##
FCALV$ ^D0,GETATR
SETZ 1,
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,BTATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
MOVE 1,@N10247
FCALV$ ^D1,GETBKT
SETZ 1,
MOVE 1,I10268
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,@N10256
PUSH 16,1
MOVE ^D1,BRKTB1
TLO 1,1B18
TLZ 1,1B19
FCALV$ ^D3,SUBS
FCALV$ ^D1,PUTOUT
SETZ 1,
MOVE 1,I10269
AREFV$ ^D1,EACTAR
PUSH 16,1
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$RSH##
JUMP 0,BRKTB2
JUMP 0,K10270
ADD 16,S$$STB##
MOVE 1,0
TLO 1,1B18
TLZ 1,1B19
PUSH 16,1
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$AND##
JUMP 0,BRKTB2
JUMP 0,K10271
ADD 16,S$$STB##
MOVE 1,0
TLO 1,1B18
TLZ 1,1B19
FCALV$ ^D3,SUBS
FCALV$ ^D1,PUTOUT
SETZ 1,
MOVE 1,I10269
AREFV$ ^D1,EACTAR
PUSH 16,1
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$RSH##
JUMP 0,BRKTB3
JUMP 0,K10270
ADD 16,S$$STB##
MOVE 1,0
TLO 1,1B18
TLZ 1,1B19
PUSH 16,1
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$AND##
JUMP 0,BRKTB3
JUMP 0,K10271
ADD 16,S$$STB##
MOVE 1,0
TLO 1,1B18
TLZ 1,1B19
FCALV$ ^D3,SUBS
FCALV$ ^D1,PUTOUT
SETZ 1,
MOVE 1,I10269
AREFV$ ^D1,EACTAR
PUSH 16,1
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$RSH##
JUMP 0,BRKTB4
JUMP 0,K10270
ADD 16,S$$STB##
MOVE 1,0
TLO 1,1B18
TLZ 1,1B19
PUSH 16,1
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$AND##
JUMP 0,BRKTB4
JUMP 0,K10271
ADD 16,S$$STB##
MOVE 1,0
TLO 1,1B18
TLZ 1,1B19
FCALV$ ^D3,SUBS
FCALV$ ^D1,PUTOUT
SETZ 1,
Q10033:
;* VARIABLE ATTRIBUTES
; ITTYP = 5
MOVE ^D1,K10272
MOVEM 1,ITTYP
; (?GETATR() ?INE(VTATRB,0) ?INE(VDATRB,VDPATR)) :F(EAC10)
MOVEI 14,L10266
MOVEM 14,S$$FLP##
FCALV$ ^D0,GETATR
SETZ 1,
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,VTATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,VDATRB
JUMP 0,VDPATR
ADD 16,S$$STB##
SETZ 1,
; (?INE(VXATRB,0) ?IEQ(VNATRB,0)) :S(EAC10)
MOVEI 14,Q10034
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,VXATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$EQP##
JUMP 0,VNATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
JRST L10266
Q10034:
; (?INE(VXATRB,0) ?PUTOUT(SUBS(EACTAR<11>,STR2,VDATRB / VDDATR,
;.XNAMTB[STR2]))) :S(EAC10)
MOVEI 14,Q10035
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,VXATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
MOVE 1,I10273
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,@N10256
PUSH 16,1
MOVE ^D1,VDATRB
IDIV ^D1,VDDATR
TLO 1,1B18
TLZ 1,1B19
PUSH 16,1
MOVE 1,@N10256
AREFV$ ^D1,XNAMTB
FCALV$ ^D4,SUBS
FCALV$ ^D1,PUTOUT
SETZ 1,
JRST L10266
Q10035:
; NVAR = ?IEQ(VDATRB,0) NVAR + 1 :F(EAC5)
MOVEI 14,L10274
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$EQP##
JUMP 0,VDATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
MOVE ^D1,V10100
ADD ^D1,K10251
MOVEM 1,V10100
; STR3 = ?INE(XNATRB,XNVATR) 'N' STR2 :S(EAC4)
MOVEI 14,Q10036
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,XNATRB
JUMP 0,XNVATR
ADD 16,S$$STB##
SETZ 1,
MOVE 1,S10276
PUSH 16,1
MOVE 1,@N10256
JSP 14,S$$CNC##
EXP ^D2
MOVEM 1,@N10275
JRST L10277
Q10036:
; STR3 = XNAMTB[STR2]
MOVEI 14,Q10037
MOVEM 14,S$$FLP##
MOVE 1,@N10256
AREFV$ ^D1,XNAMTB
MOVEM 1,@N10275
Q10037:
;EAC4 STR3 = SUBS(EACTAR<8>,STR3,VARBLK,NVAR) :(EAC8)
L10277:
MOVEI 14,L10279
MOVEM 14,S$$FLP##
MOVE 1,I10278
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,@N10275
PUSH 16,1
MOVE 1,@N10263
PUSH 16,1
MOVE ^D1,V10100
TLO 1,1B18
TLZ 1,1B19
FCALV$ ^D4,SUBS
MOVEM 1,@N10275
JRST L10279
;EAC5 STR3 = ?INE(XNATRB,XNVATR) 'V' STR2 :S(EAC6)
L10274:
MOVEI 14,Q10038
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,XNATRB
JUMP 0,XNVATR
ADD 16,S$$STB##
SETZ 1,
MOVE 1,S10280
PUSH 16,1
MOVE 1,@N10256
JSP 14,S$$CNC##
EXP ^D2
MOVEM 1,@N10275
JRST L10281
Q10038:
; STR3 = XNAMTB[STR2]
MOVEI 14,Q10039
MOVEM 14,S$$FLP##
MOVE 1,@N10256
AREFV$ ^D1,XNAMTB
MOVEM 1,@N10275
Q10039:
;EAC6 (?INE(VDATRB,VDDATR) ?PUTOUT(SUBS(EACTAR<9>,STR3))) :S(EAC7)
L10281:
MOVEI 14,Q10040
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,VDATRB
JUMP 0,VDDATR
ADD 16,S$$STB##
SETZ 1,
MOVE 1,I10282
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,@N10275
FCALV$ ^D2,SUBS
FCALV$ ^D1,PUTOUT
SETZ 1,
JRST L10283
Q10040:
; J = DSIZTB[STR2]
MOVEI 14,Q10041
MOVEM 14,S$$FLP##
MOVE 1,@N10256
AREFV$ ^D1,DSIZTB
DASGN$ 2,V10096
Q10041:
; K = J / 5
MOVE ^D1,V10096
IDIV ^D1,K10272
MOVEM 1,V10097
; K = ?INE(J,5 * K) K + 1
MOVEI 14,Q10042
MOVEM 14,S$$FLP##
MOVE ^D1,K10272
IMUL ^D1,V10097
MOVEM 1,Q10001+^D0
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,V10096
JUMP 0,Q10001+^D0
ADD 16,S$$STB##
SETZ 1,
MOVE ^D1,V10097
ADD ^D1,K10251
MOVEM 1,V10097
Q10042:
; PUTOUT(SUBS(EACTAR<10>,STR3,K))
MOVEI 14,Q10043
MOVEM 14,S$$FLP##
MOVE 1,I10284
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,@N10275
PUSH 16,1
MOVE ^D1,V10097
TLO 1,1B18
TLZ 1,1B19
FCALV$ ^D3,SUBS
FCALV$ ^D1,PUTOUT
Q10043:
;EAC7 (?IEQ(VNATRB,0) ?IEQ(VGATRB,0) ?INE(VIATRB,0)) :S(EAC10)
L10283:
MOVEI 14,Q10044
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$EQP##
JUMP 0,VNATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$EQP##
JUMP 0,VGATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,VIATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
JRST L10266
Q10044:
; STR3 = SUBS(EACTAR<11>,STR2,VDATRB / VDDATR,STR3)
MOVEI 14,Q10045
MOVEM 14,S$$FLP##
MOVE 1,I10273
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,@N10256
PUSH 16,1
MOVE ^D1,VDATRB
IDIV ^D1,VDDATR
TLO 1,1B18
TLZ 1,1B19
PUSH 16,1
MOVE 1,@N10275
FCALV$ ^D4,SUBS
MOVEM 1,@N10275
Q10045:
;EAC8 (?IEQ(VGATRB,0) ?INE(VIATRB,0) ?PUTOUT(STR3)) :S(EAC10)
L10279:
MOVEI 14,Q10046
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$EQP##
JUMP 0,VGATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,VIATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
MOVE 1,@N10275
FCALV$ ^D1,PUTOUT
SETZ 1,
JRST L10266
Q10046:
; SKATRB = 1
MOVE ^D1,K10251
MOVEM 1,SKATRB
; K = 1 + VGATRB / VGGATR
MOVE ^D1,K10251
MOVE ^D2,VGATRB
IDIV ^D2,VGGATR
ADD ^D1,^D2
MOVEM 1,V10097
; K = ?INE(SDATRB,0) 8 + K :F(EAC9)
MOVEI 14,L10285
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,SDATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
MOVE ^D1,K10278
ADD ^D1,V10097
MOVEM 1,V10097
; SDATRB =
MOVEI 14,Q10047
MOVEM 14,S$$FLP##
SETZM SDATRB
Q10047:
;EAC9 SYMLST = SNT(SYMLST,K,STR2,STR3)
L10285:
MOVEI 14,Q10048
MOVEM 14,S$$FLP##
MOVE 1,@N10286
PUSH 16,1
MOVE ^D1,V10097
TLO 1,1B18
TLZ 1,1B19
PUSH 16,1
MOVE 1,@N10256
PUSH 16,1
MOVE 1,@N10275
FCALV$ ^D4,F10287
MOVEM 1,@N10286
Q10048:
; NSYM = NSYM + 1
MOVE ^D1,V10101
ADD ^D1,K10251
MOVEM 1,V10101
;* LABEL ATTRIBUTES
;EAC10 ITTYP = 6
L10266:
MOVE ^D1,K10268
MOVEM 1,ITTYP
; (?GETATR() ?INE(LTATRB,0)) :F(EAC14)
MOVEI 14,L10288
MOVEM 14,S$$FLP##
FCALV$ ^D0,GETATR
SETZ 1,
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,LTATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
; (?INE(LTATRB,LTDATR) ?ERRMSG('UNDEFINED LABEL: ' STR1))
MOVEI 14,Q10049
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,LTATRB
JUMP 0,LTDATR
ADD 16,S$$STB##
SETZ 1,
MOVE 1,S10289
PUSH 16,1
MOVE 1,@N10247
JSP 14,S$$CNC##
EXP ^D2
FCALV$ ^D1,ERRMSG
SETZ 1,
Q10049:
; ?INE(OBJFLG + LISTOB,0) :F(EAC21)
MOVEI 14,L10290
MOVEM 14,S$$FLP##
MOVE ^D1,OBJFLG
ADD ^D1,LISTOB
MOVEM 1,Q10001+^D0
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,Q10001+^D0
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
; (?IEQ(LGATRB,0) ?INE(LIATRB,0) ?IEQ(LTATRB,LTDATR)) :S(EAC15)
MOVEI 14,Q10050
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$EQP##
JUMP 0,LGATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,LIATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$EQP##
JUMP 0,LTATRB
JUMP 0,LTDATR
ADD 16,S$$STB##
SETZ 1,
JRST L10291
Q10050:
; STR3 = ?INE(XNATRB,XNLATR) 'L' STR2 :S(EAC11)
MOVEI 14,Q10051
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,XNATRB
JUMP 0,XNLATR
ADD 16,S$$STB##
SETZ 1,
MOVE 1,S10098
PUSH 16,1
MOVE 1,@N10256
JSP 14,S$$CNC##
EXP ^D2
MOVEM 1,@N10275
JRST L10292
Q10051:
; STR3 = XNAMTB[STR2]
MOVEI 14,Q10052
MOVEM 14,S$$FLP##
MOVE 1,@N10256
AREFV$ ^D1,XNAMTB
MOVEM 1,@N10275
Q10052:
;EAC11 STR3 = ?INE(LTATRB,LTDATR) SUBS(EACTAR<31>,STR3,EACTAR<12>)
;. :S(EAC12)
L10292:
MOVEI 14,Q10053
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,LTATRB
JUMP 0,LTDATR
ADD 16,S$$STB##
SETZ 1,
MOVE 1,I10293
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,@N10275
PUSH 16,1
MOVE 1,I10294
AREFV$ ^D1,EACTAR
FCALV$ ^D3,SUBS
MOVEM 1,@N10275
JRST L10295
Q10053:
; STR3 = SUBS(EACTAR<13>,STR3)
MOVEI 14,Q10054
MOVEM 14,S$$FLP##
MOVE 1,I10296
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,@N10275
FCALV$ ^D2,SUBS
MOVEM 1,@N10275
Q10054:
;EAC12 (?IEQ(LGATRB,0) ?INE(LIATRB,0) ?PUTOUT(STR3)) :S(EAC15)
L10295:
MOVEI 14,Q10055
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$EQP##
JUMP 0,LGATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,LIATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
MOVE 1,@N10275
FCALV$ ^D1,PUTOUT
SETZ 1,
JRST L10291
Q10055:
; SKATRB = 1
MOVE ^D1,K10251
MOVEM 1,SKATRB
; K = 3 + LGATRB / LGGATR
MOVE ^D1,K10267
MOVE ^D2,LGATRB
IDIV ^D2,LGGATR
ADD ^D1,^D2
MOVEM 1,V10097
; K = ?INE(SDATRB,0) 8 + K :F(EAC13)
MOVEI 14,L10297
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,SDATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
MOVE ^D1,K10278
ADD ^D1,V10097
MOVEM 1,V10097
; SDATRB =
MOVEI 14,Q10056
MOVEM 14,S$$FLP##
SETZM SDATRB
Q10056:
;EAC13 SYMLST = SNT(SYMLST,K,STR2,STR3)
L10297:
MOVEI 14,Q10057
MOVEM 14,S$$FLP##
MOVE 1,@N10286
PUSH 16,1
MOVE ^D1,V10097
TLO 1,1B18
TLZ 1,1B19
PUSH 16,1
MOVE 1,@N10256
PUSH 16,1
MOVE 1,@N10275
FCALV$ ^D4,F10287
MOVEM 1,@N10286
Q10057:
; NSYM = NSYM + 1
MOVE ^D1,V10101
ADD ^D1,K10251
MOVEM 1,V10101
;* FUNCTION ATTRIBUTES
;EAC14 ?INE(OBJFLG + LISTOB,0) :F(EAC21)
L10288:
MOVEI 14,L10290
MOVEM 14,S$$FLP##
MOVE ^D1,OBJFLG
ADD ^D1,LISTOB
MOVEM 1,Q10001+^D0
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,Q10001+^D0
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
;EAC15 ITTYP = 7
L10291:
MOVE ^D1,K10269
MOVEM 1,ITTYP
; (?GETATR() ?INE(FTATRB,0) ?IEQ(FDATRB,0) ?INE(FXATRB,FXXATR))
;. :F(EAC19)
MOVEI 14,L10298
MOVEM 14,S$$FLP##
FCALV$ ^D0,GETATR
SETZ 1,
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,FTATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$EQP##
JUMP 0,FDATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,FXATRB
JUMP 0,FXXATR
ADD 16,S$$STB##
SETZ 1,
; STR3 = ?IEQ(FXATRB,0) SUBS(EACTAR<14>,STR2) :S(EAC17)
MOVEI 14,Q10058
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$EQP##
JUMP 0,FXATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
MOVE 1,I10299
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,@N10256
FCALV$ ^D2,SUBS
MOVEM 1,@N10275
JRST L10300
Q10058:
; STR3 = ?IEQ(FXATRB,FXXMSK) PRIMAR<TXATRB / TXTATR> :F(EAC16)
MOVEI 14,L10301
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$EQP##
JUMP 0,FXATRB
JUMP 0,FXXMSK
ADD 16,S$$STB##
SETZ 1,
MOVE ^D1,TXATRB
IDIV ^D1,TXTATR
TLO 1,1B18
TLZ 1,1B19
AREFV$ ^D1,PRIMAR
MOVEM 1,@N10275
; STR3 RTAB(3) $ K REM $ STR3
MOVEI 14,Q10059
MOVEM 14,S$$FLP##
MOVE 1,@N10275
PUSH 16,1
JSP 14,S$$MTX##
XWD ^D-1,0
BYTE (2)2(16)1(18).+1
JSP 11,S$$VAS##
HRRZ 1,K10267
JSP 11,S$$RTB##
MOVE 1,N10097
JSP 11,S$$IVA##
JSP 11,S$$VAS##
JSP 11,S$$REM##
MOVE 1,N10275
JSP 11,S$$IVA##
JSP 11,S$$MTS##
Q10059:
; STR3 = SUBS(EACTAR<16>,STR2,K,STR3) :(EAC17)
MOVEI 14,L10300
MOVEM 14,S$$FLP##
MOVE 1,I10302
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,@N10256
PUSH 16,1
MOVE ^D1,V10097
TLO 1,1B18
TLZ 1,1B19
PUSH 16,1
MOVE 1,@N10275
FCALV$ ^D4,SUBS
MOVEM 1,@N10275
JRST L10300
;EAC16 STR3 = ENTFTB[STR2]
L10301:
MOVEI 14,Q10060
MOVEM 14,S$$FLP##
MOVE 1,@N10256
AREFV$ ^D1,ENTFTB
MOVEM 1,@N10275
Q10060:
; K = STR3<4>
MOVEI 14,Q10061
MOVEM 14,S$$FLP##
MOVE 1,I10262
AREFV$ ^D1,N10275
DASGN$ 2,V10097
Q10061:
; STR3 = SUBS(EACTAR<15>,STR1,K,STR2)
MOVEI 14,Q10062
MOVEM 14,S$$FLP##
MOVE 1,I10303
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,@N10247
PUSH 16,1
MOVE ^D1,V10097
TLO 1,1B18
TLZ 1,1B19
PUSH 16,1
MOVE 1,@N10256
FCALV$ ^D4,SUBS
MOVEM 1,@N10275
Q10062:
;EAC17 (?IEQ(FGATRB,0) ?INE(FIATRB,0) ?PUTOUT(STR3)) :S(EAC19)
L10300:
MOVEI 14,Q10063
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$EQP##
JUMP 0,FGATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,FIATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
MOVE 1,@N10275
FCALV$ ^D1,PUTOUT
SETZ 1,
JRST L10298
Q10063:
; SKATRB = 1
MOVE ^D1,K10251
MOVEM 1,SKATRB
; K = 5 + FGATRB / FGGATR
MOVE ^D1,K10272
MOVE ^D2,FGATRB
IDIV ^D2,FGGATR
ADD ^D1,^D2
MOVEM 1,V10097
; K = ?INE(SDATRB,0) 8 + K :F(EAC18)
MOVEI 14,L10304
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,SDATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
MOVE ^D1,K10278
ADD ^D1,V10097
MOVEM 1,V10097
; SDATRB =
MOVEI 14,Q10064
MOVEM 14,S$$FLP##
SETZM SDATRB
Q10064:
;EAC18 SYMLST = SNT(SYMLST,K,STR2,STR3)
L10304:
MOVEI 14,Q10065
MOVEM 14,S$$FLP##
MOVE 1,@N10286
PUSH 16,1
MOVE ^D1,V10097
TLO 1,1B18
TLZ 1,1B19
PUSH 16,1
MOVE 1,@N10256
PUSH 16,1
MOVE 1,@N10275
FCALV$ ^D4,F10287
MOVEM 1,@N10286
Q10065:
; NSYM = NSYM + 1
MOVE ^D1,V10101
ADD ^D1,K10251
MOVEM 1,V10101
;* GENERATE STRING BLOCK AND DESCRIPTOR,IF REQUIRED
;EAC19 (?INE(SDATRB,0) ?PUTOUT(SUBS(EACTAR<17>,STR2)))
L10298:
MOVEI 14,Q10066
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,SDATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
MOVE 1,I10305
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,@N10256
FCALV$ ^D2,SUBS
FCALV$ ^D1,PUTOUT
SETZ 1,
Q10066:
; J = ?INE(SKATRB,0) SIZE(STR1) :F(EAC21)
MOVEI 14,L10290
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,SKATRB
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
MOVE 1,@N10247
FCALV$ ^D1,F10050
DASGN$ 2,V10096
; K = J / 5
MOVE ^D1,V10096
IDIV ^D1,K10272
MOVEM 1,V10097
; K = ?INE(J,5 * K) K + 1
MOVEI 14,Q10067
MOVEM 14,S$$FLP##
MOVE ^D1,K10272
IMUL ^D1,V10097
MOVEM 1,Q10001+^D0
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,V10096
JUMP 0,Q10001+^D0
ADD 16,S$$STB##
SETZ 1,
MOVE ^D1,V10097
ADD ^D1,K10251
MOVEM 1,V10097
Q10067:
; PUTOUT(SUBS(EACTAR<18>,STR2,K,J))
MOVEI 14,Q10068
MOVEM 14,S$$FLP##
MOVE 1,I10270
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,@N10256
PUSH 16,1
MOVE ^D1,V10097
TLO 1,1B18
TLZ 1,1B19
PUSH 16,1
MOVE ^D1,V10096
TLO 1,1B18
TLZ 1,1B19
FCALV$ ^D4,SUBS
FCALV$ ^D1,PUTOUT
Q10068:
; (?ILE(J,60) ?PUTLIT(STR1)) :S(EAC21)
MOVEI 14,Q10069
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$LEP##
JUMP 0,V10096
JUMP 0,K10306
ADD 16,S$$STB##
SETZ 1,
MOVE 1,@N10247
FCALV$ ^D1,F10246
SETZ 1,
JRST L10290
Q10069:
; P =
MOVEI 14,Q10070
MOVEM 14,S$$FLP##
SETZM P
Q10070:
;EAC20 K = 60
L10307:
MOVE ^D1,K10306
MOVEM 1,V10097
; K = ?IGT(K,J - P) J - P
MOVEI 14,Q10071
MOVEM 14,S$$FLP##
MOVE ^D1,V10096
SUB ^D1,P
MOVEM 1,Q10001+^D0
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$GTP##
JUMP 0,V10097
JUMP 0,Q10001+^D0
ADD 16,S$$STB##
SETZ 1,
MOVE ^D1,V10096
SUB ^D1,P
MOVEM 1,V10097
Q10071:
; PUTLIT(SUBSTR(STR1,K,P))
MOVEI 14,Q10072
MOVEM 14,S$$FLP##
MOVE 1,@N10247
PUSH 16,1
MOVE ^D1,V10097
TLO 1,1B18
TLZ 1,1B19
PUSH 16,1
MOVE ^D1,P
TLO 1,1B18
TLZ 1,1B19
FCALV$ ^D3,F10081
FCALV$ ^D1,F10246
Q10072:
; P = ?INE(P + K,J) P + 60 :S(EAC20)
MOVEI 14,Q10073
MOVEM 14,S$$FLP##
MOVE ^D1,P
ADD ^D1,V10097
MOVEM 1,Q10001+^D0
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,Q10001+^D0
JUMP 0,V10096
ADD 16,S$$STB##
SETZ 1,
MOVE ^D1,P
ADD ^D1,K10306
MOVEM 1,P
JRST L10307
Q10073:
;* BOTTOM OF SYMBOL LOOP
;EAC21 I = I + 1 :(EAC3)
L10290:
MOVE ^D1,V10095
ADD ^D1,K10251
MOVEM 1,V10095
JRST L10264
;* END OF SYMBOL LOOP
;EAC22 LISTAR =
L10265:
MOVEI 14,Q10074
MOVEM 14,S$$FLP##
SETZM @N10254
Q10074:
; ?INE(OBJFLG + LISTOB,0) :F(RETURN)
MOVEI 14,S$$SRT##
MOVEM 14,S$$FLP##
MOVE ^D1,OBJFLG
ADD ^D1,LISTOB
MOVEM 1,Q10001+^D0
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,Q10001+^D0
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
;* GENERATE VARIABLE BLOCK
; (?IGT(NVAR,0) ?PUTOUT(SUBS(EACTAR<20>,VARBLK,NVAR)))
MOVEI 14,Q10075
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$GTP##
JUMP 0,V10100
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
MOVE 1,I10308
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,@N10263
PUSH 16,1
MOVE ^D1,V10100
TLO 1,1B18
TLZ 1,1B19
FCALV$ ^D3,SUBS
FCALV$ ^D1,PUTOUT
SETZ 1,
Q10075:
;* GENERATE SYMBOL BLOCK
; SYMBLK = ?IGT(NSYM,0) NEWLAB() :F(EAC24)
MOVEI 14,L10310
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$GTP##
JUMP 0,V10101
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
FCALV$ ^D0,NEWLAB
MOVEM 1,@N10309
; PUTOUT(SUBS(EACTAR<25>,SYMBLK,NSYM))
MOVEI 14,Q10076
MOVEM 14,S$$FLP##
MOVE 1,I10311
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,@N10309
PUSH 16,1
MOVE ^D1,V10101
TLO 1,1B18
TLZ 1,1B19
FCALV$ ^D3,SUBS
FCALV$ ^D1,PUTOUT
Q10076:
;EAC23 I = STY(SYMLST)
L10312:
MOVEI 14,Q10077
MOVEM 14,S$$FLP##
MOVE 1,@N10286
FCALV$ ^D1,F10313
DASGN$ 2,V10095
Q10077:
; STR1 =
MOVEI 14,Q10078
MOVEM 14,S$$FLP##
SETZM @N10247
Q10078:
; STR1 = ?INE(AND(I,8),0) SUBS(EACTAR<26>,SNM(SYMLST))
MOVEI 14,Q10079
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$AND##
JUMP 0,V10095
JUMP 0,K10278
ADD 16,S$$STB##
MOVE 1,0
MOVEM 1,Q10001+^D0
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,Q10001+^D0
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
MOVE 1,I10314
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,@N10286
FCALV$ ^D1,F10315
FCALV$ ^D2,SUBS
MOVEM 1,@N10247
Q10079:
; I = AND(I,7)
MOVEI 14,Q10080
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$AND##
JUMP 0,V10095
JUMP 0,K10269
ADD 16,S$$STB##
MOVE 1,0
MOVEM 1,V10095
Q10080:
; PUTOUT(SUBS(EACTAR<27>,I,STR1,SNM(SYMLST),SVL(SYMLST)))
MOVEI 14,Q10081
MOVEM 14,S$$FLP##
MOVE 1,I10316
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE ^D1,V10095
TLO 1,1B18
TLZ 1,1B19
PUSH 16,1
MOVE 1,@N10247
PUSH 16,1
MOVE 1,@N10286
FCALV$ ^D1,F10315
PUSH 16,1
MOVE 1,@N10286
FCALV$ ^D1,F10317
FCALV$ ^D5,SUBS
FCALV$ ^D1,PUTOUT
Q10081:
; SYMLST = SNX(SYMLST)
MOVEI 14,Q10082
MOVEM 14,S$$FLP##
MOVE 1,@N10286
FCALV$ ^D1,F10318
MOVEM 1,@N10286
Q10082:
; IDENT(SYMLST) :F(EAC23)
MOVEI 14,L10312
MOVEM 14,S$$FLP##
MOVE 1,@N10286
FCALV$ ^D1,F10072
;* GENERATE PARAMETER BLOCK
;EAC24 VARBLK = ?IEQ(NVAR,0) '0'
L10310:
MOVEI 14,Q10083
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$EQP##
JUMP 0,V10100
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
MOVE 1,S10319
MOVEM 1,@N10263
Q10083:
; SYMBLK = ?IEQ(NSYM,0) '0'
MOVEI 14,Q10084
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$EQP##
JUMP 0,V10101
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
MOVE 1,S10319
MOVEM 1,@N10309
Q10084:
; STNO = ?INE(STNFLG,1) 0
MOVEI 14,Q10085
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,STNFLG
JUMP 0,K10251
ADD 16,S$$STB##
SETZ 1,
MOVE ^D1,K10252
MOVEM 1,STNO
Q10085:
; PUTOUT(SUBS(EACTAR<21>,PRGNAM,PARBLK,VARBLK,SYMBLK,STNO))
MOVEI 14,Q10086
MOVEM 14,S$$FLP##
MOVE 1,I10320
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,@PRGNAM
PUSH 16,1
MOVE 1,@PARBLK
PUSH 16,1
MOVE 1,@N10263
PUSH 16,1
MOVE 1,@N10309
PUSH 16,1
MOVE ^D1,STNO
TLO 1,1B18
TLZ 1,1B19
FCALV$ ^D6,SUBS
FCALV$ ^D1,PUTOUT
Q10086:
;* GENERATE 'ENTRY.FUNCTION' INITIALIZATIONS
; LISTAR = ?DIFFER(ENTFTB) ARRAY(ENTFTB) :F(EAC27)
MOVEI 14,L10321
MOVEM 14,S$$FLP##
MOVE 1,@ENTFTB
FCALV$ ^D1,F10071
SETZ 1,
MOVE 1,@ENTFTB
FCALV$ ^D1,F10063
MOVEM 1,@N10254
; ENTFTB = ?TABLE(ENTFTB)
MOVEI 14,Q10087
MOVEM 14,S$$FLP##
MOVE 1,@ENTFTB
FCALV$ ^D1,F10064
SETZ 1,
MOVEM 1,@ENTFTB
Q10087:
; I = 1
MOVE ^D1,K10251
MOVEM 1,V10095
;EAC25 STR1 = LISTAR<I,1> :F(EAC27)
L10322:
MOVEI 14,L10321
MOVEM 14,S$$FLP##
MOVE ^D1,V10095
TLO 1,1B18
TLZ 1,1B19
PUSH 16,1
MOVE 1,I10251
AREFV$ ^D2,N10254
MOVEM 1,@N10247
; STR2 = LISTAR<I,2>
MOVEI 14,Q10088
MOVEM 14,S$$FLP##
MOVE ^D1,V10095
TLO 1,1B18
TLZ 1,1B19
PUSH 16,1
MOVE 1,I10257
AREFV$ ^D2,N10254
MOVEM 1,@N10256
Q10088:
; STR3 = STR2<3>
MOVEI 14,Q10089
MOVEM 14,S$$FLP##
MOVE 1,I10267
AREFV$ ^D1,N10256
MOVEM 1,@N10275
Q10089:
; STR3 = ?IDENT(STR3) '0' :S(EAC26)
MOVEI 14,Q10090
MOVEM 14,S$$FLP##
MOVE 1,@N10275
FCALV$ ^D1,F10072
SETZ 1,
MOVE 1,S10319
MOVEM 1,@N10275
JRST L10323
Q10090:
; STR3 = SUBS(EACTAR<22>,STR3)
MOVEI 14,Q10091
MOVEM 14,S$$FLP##
MOVE 1,I10324
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,@N10275
FCALV$ ^D2,SUBS
MOVEM 1,@N10275
Q10091:
;EAC26 PUTOUT(SUBS(EACTAR<23>,STR2<1>,PARBLK,STR1,STR2<2>,STR3))
L10323:
MOVEI 14,Q10092
MOVEM 14,S$$FLP##
MOVE 1,I10325
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,I10251
AREFV$ ^D1,N10256
PUSH 16,1
MOVE 1,@PARBLK
PUSH 16,1
MOVE 1,@N10247
PUSH 16,1
MOVE 1,I10257
AREFV$ ^D1,N10256
PUSH 16,1
MOVE 1,@N10275
FCALV$ ^D6,SUBS
FCALV$ ^D1,PUTOUT
Q10092:
; I = I + 1 :(EAC25)
MOVE ^D1,V10095
ADD ^D1,K10251
MOVEM 1,V10095
JRST L10322
;* GENERATE 'ENTRY.FORTRAN.FUNCTION' INITIALIZATIONS
;EAC27 STR1 = ?DIFFER(FORTLS) FORTLS<5> :F(EAC29)
L10321:
MOVEI 14,L10326
MOVEM 14,S$$FLP##
MOVE 1,@FORTLS
FCALV$ ^D1,F10071
SETZ 1,
MOVE 1,I10272
AREFV$ ^D1,FORTLS
MOVEM 1,@N10247
; STR1 = ?IDENT(STR1) '0' :S(EAC28)
MOVEI 14,Q10093
MOVEM 14,S$$FLP##
MOVE 1,@N10247
FCALV$ ^D1,F10072
SETZ 1,
MOVE 1,S10319
MOVEM 1,@N10247
JRST L10327
Q10093:
; STR1 = SUBS(EACTAR<22>,STR1)
MOVEI 14,Q10094
MOVEM 14,S$$FLP##
MOVE 1,I10324
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,@N10247
FCALV$ ^D2,SUBS
MOVEM 1,@N10247
Q10094:
;EAC28 PUTOUT(SUBS(EACTAR<24>,FORTLS<2>,FORTLS<3>,PARBLK,FORTLS<4>,
;.STR1))
L10327:
MOVEI 14,Q10095
MOVEM 14,S$$FLP##
MOVE 1,I10328
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,I10257
AREFV$ ^D1,FORTLS
PUSH 16,1
MOVE 1,I10267
AREFV$ ^D1,FORTLS
PUSH 16,1
MOVE 1,@PARBLK
PUSH 16,1
MOVE 1,I10262
AREFV$ ^D1,FORTLS
PUSH 16,1
MOVE 1,@N10247
FCALV$ ^D6,SUBS
FCALV$ ^D1,PUTOUT
Q10095:
; FORTLS = FORTLS<1> :(EAC27)
MOVEI 14,L10321
MOVEM 14,S$$FLP##
MOVE 1,I10251
AREFV$ ^D1,FORTLS
MOVEM 1,@FORTLS
JRST L10321
;* GENERATE END STATEMENT
;EAC29 (?INE(DMPFLG,0) ?PUTOUT(EACTAR<30>))
L10326:
MOVEI 14,Q10096
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$NEP##
JUMP 0,DMPFLG
JUMP 0,K10252
ADD 16,S$$STB##
SETZ 1,
MOVE 1,I10329
AREFV$ ^D1,EACTAR
FCALV$ ^D1,PUTOUT
SETZ 1,
Q10096:
; (?DIFFER(SNONAM) ?PUTOUT(SUBS(EACTAR<29>,STARTP))) :S(RETURN)
MOVEI 14,Q10097
MOVEM 14,S$$FLP##
MOVE 1,@SNONAM
FCALV$ ^D1,F10071
SETZ 1,
MOVE 1,I10330
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,@STARTP
FCALV$ ^D2,SUBS
FCALV$ ^D1,PUTOUT
SETZ 1,
JRST S$$SRT##
Q10097:
; PUTOUT(EACTAR<28>) :(RETURN)
MOVEI 14,S$$SRT##
MOVEM 14,S$$FLP##
MOVE 1,I10331
AREFV$ ^D1,EACTAR
FCALV$ ^D1,PUTOUT
JRST S$$SRT##
;* * * * * * * * *
;* * SUBROUTINES * * * * *
;* * * * * * * * *
;* * PUTLIT(STR1) OUTPUTS QUOTED STRING
;* IF STRING CONTAINS BOTH SINGLE AND DOUBLE QUOTES, IT IS BRO-
;* KEN UP AND THE TOUGH SECTION PUT OUT AS BYTES
;*
;PUTLIT STR1 BREAK(SQCHR) :S(PUTLT1)
L10246:
MOVEI 14,Q10098
MOVEM 14,S$$FLP##
MOVE 1,@N10247
PUSH 16,1
MOVE 1,@SQCHR
JSP 11,S$$MBT##
EXP .
PUSH 16,1
JSP 14,S$$MTX##
XWD ^D2,0
MOVE 1,^D1(15)
JSP 11,S$$BRK##
JSP 11,S$$MTS##
JRST L10332
Q10098:
; PUTOUT(SUBS(EACTAR<19>,SQCHR,STR1)) :(RETURN)
MOVEI 14,S$$SRT##
MOVEM 14,S$$FLP##
MOVE 1,I10333
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,@SQCHR
PUSH 16,1
MOVE 1,@N10247
FCALV$ ^D3,SUBS
FCALV$ ^D1,PUTOUT
JRST S$$SRT##
;PUTLT1 STR1 BREAK(DQCHR) :S(PUTLT2)
L10332:
MOVEI 14,Q10099
MOVEM 14,S$$FLP##
MOVE 1,@N10247
PUSH 16,1
MOVE 1,@DQCHR
JSP 11,S$$MBT##
EXP .
PUSH 16,1
JSP 14,S$$MTX##
XWD ^D2,0
MOVE 1,^D1(15)
JSP 11,S$$BRK##
JSP 11,S$$MTS##
JRST L10334
Q10099:
; PUTOUT(SUBS(EACTAR<19>,DQCHR,STR1)) :(RETURN)
MOVEI 14,S$$SRT##
MOVEM 14,S$$FLP##
MOVE 1,I10333
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,@DQCHR
PUSH 16,1
MOVE 1,@N10247
FCALV$ ^D3,SUBS
FCALV$ ^D1,PUTOUT
JRST S$$SRT##
;PUTLT2 L = SIZE(STR1)
L10334:
MOVEI 14,Q10100
MOVEM 14,S$$FLP##
MOVE 1,@N10247
FCALV$ ^D1,F10050
DASGN$ 2,V10098
Q10100:
; (?IGT(L,5) ?PUTLIT(SUBSTR(STR1,5)) ?PUTLIT(SUBSTR(STR1
;.,SIZE(STR1) - 5,5))) :S(RETURN)
MOVEI 14,Q10101
MOVEM 14,S$$FLP##
SUB 16,S$$STB##
MOVEM 16,S$$STS##
JSA 16,F$$GTP##
JUMP 0,V10098
JUMP 0,K10272
ADD 16,S$$STB##
SETZ 1,
MOVE 1,@N10247
PUSH 16,1
MOVE 1,I10272
FCALV$ ^D2,F10081
FCALV$ ^D1,F10246
SETZ 1,
MOVE 1,@N10247
PUSH 16,1
MOVE 1,@N10247
FCALV$ ^D1,F10050
DICNV$ 0
SUB ^D1,K10272
TLO 1,1B18
TLZ 1,1B19
PUSH 16,1
MOVE 1,I10272
FCALV$ ^D3,F10081
FCALV$ ^D1,F10246
SETZ 1,
JRST S$$SRT##
Q10101:
; A = ARRAY('5',0)
MOVEI 14,Q10102
MOVEM 14,S$$FLP##
MOVE 1,S10336
PUSH 16,1
MOVE 1,I10252
FCALV$ ^D2,F10063
MOVEM 1,@N10335
Q10102:
; L =
MOVEI 14,Q10103
MOVEM 14,S$$FLP##
SETZM V10098
Q10103:
;PUTLT3 &ALPHABET ARB SUBSTR(STR1,1,L) @M :F(PUTLT4)
L10337:
MOVEI 14,L10338
MOVEM 14,S$$FLP##
MOVE 1,S$$KWD##+^D7
PUSH 16,1
MOVE 1,@N10247
PUSH 16,1
MOVE 1,I10251
PUSH 16,1
MOVE ^D1,V10098
TLO 1,1B18
TLZ 1,1B19
FCALV$ ^D3,F10081
JSP 11,S$$MKP##
PUSH 16,1
JSP 14,S$$MTX##
XWD ^D2,0
PUSHJ 16,S$$ARB##
MOVE 1,^D1(15)
JSP 11,S$$PTX##
HRRZ 1,@S$$SJC##
SUBI 1,(13)
MOVEM 1,V10099
JSP 11,S$$MTS##
; L = L + 1
MOVE ^D1,V10098
ADD ^D1,K10251
MOVEM 1,V10098
; A<L> = M - 1 :(PUTLT3)
MOVEI 14,L10337
MOVEM 14,S$$FLP##
MOVE ^D1,V10098
TLO 1,1B18
TLZ 1,1B19
AREFN$ ^D1,N10335
PUSH 16,1
MOVE ^D1,V10099
SUB ^D1,K10251
TLO 1,1B18
TLZ 1,1B19
JSP 11,S$$ASG##
JRST L10337
;PUTLT4 PUTOUT(SUBS(EACTAR<32>,A<1>,A<2>,A<3>,A<4>,A<5>))
;. :(RETURN)
L10338:
MOVEI 14,S$$SRT##
MOVEM 14,S$$FLP##
MOVE 1,I10339
AREFV$ ^D1,EACTAR
PUSH 16,1
MOVE 1,I10251
AREFV$ ^D1,N10335
PUSH 16,1
MOVE 1,I10257
AREFV$ ^D1,N10335
PUSH 16,1
MOVE 1,I10267
AREFV$ ^D1,N10335
PUSH 16,1
MOVE 1,I10262
AREFV$ ^D1,N10335
PUSH 16,1
MOVE 1,I10272
AREFV$ ^D1,N10335
FCALV$ ^D6,SUBS
FCALV$ ^D1,PUTOUT
JRST S$$SRT##
;* * * * * * * * *
;END
JRST S$$SXT##
Q10001: BLOCK ^D1
K10251: EXP ^D1
I10251: EXP ^D1!1B0
K10252: EXP ^D0
I10252: EXP ^D0!1B0
K10257: EXP ^D2
I10257: EXP ^D2!1B0
K10260: EXP ^D1048576
K10261: EXP ^D524288
K10262: EXP ^D4
I10262: EXP ^D4!1B0
K10267: EXP ^D3
I10267: EXP ^D3!1B0
K10268: EXP ^D6
I10268: EXP ^D6!1B0
K10269: EXP ^D7
I10269: EXP ^D7!1B0
K10270: EXP ^D18
I10270: EXP ^D18!1B0
K10271: EXP ^D262143
K10272: EXP ^D5
I10272: EXP ^D5!1B0
I10273: EXP ^D11!1B0
K10278: EXP ^D8
I10278: EXP ^D8!1B0
I10282: EXP ^D9!1B0
I10284: EXP ^D10!1B0
I10293: EXP ^D31!1B0
I10294: EXP ^D12!1B0
I10296: EXP ^D13!1B0
I10299: EXP ^D14!1B0
I10302: EXP ^D16!1B0
I10303: EXP ^D15!1B0
I10305: EXP ^D17!1B0
K10306: EXP ^D60
I10308: EXP ^D20!1B0
I10311: EXP ^D25!1B0
I10314: EXP ^D26!1B0
I10316: EXP ^D27!1B0
I10320: EXP ^D21!1B0
I10324: EXP ^D22!1B0
I10325: EXP ^D23!1B0
I10328: EXP ^D24!1B0
I10329: EXP ^D30!1B0
I10330: EXP ^D29!1B0
I10331: EXP ^D28!1B0
I10333: EXP ^D19!1B0
I10339: EXP ^D32!1B0
S10048: POINT 7,A10048,35
A10048: BYTE (2)2(16)^D2+1(18)^D7
ASCII 'INTEGER'
F10050: BYTE (4)4(4)0(5)^D1(5)0(18)P$$SIZ##
F10052: BYTE (4)4(4)0(5)^D1(5)0(18)P$$DTY##
F10060: BYTE (4)4(4)0(5)^D1(5)0(18)P$$DAT##
F10063: BYTE (4)4(4)0(5)^D2(5)0(18)P$$ARR##
A10064: BYTE (2)2(16)^D1+1(18)^D5
ASCII 'TABLE'
A10066: BYTE (2)2(16)^D2+1(18)^D6
ASCII 'DEFINE'
F10071: BYTE (4)4(4)0(5)^D2(5)0(18)P$$DIF##
F10072: BYTE (4)4(4)0(5)^D2(5)0(18)P$$IDT##
F10081: BYTE (4)4(4)0(5)^D3(5)0(18)P$$SBS##
BRKTB1: EXP 0
BRKTB2: EXP 0
BRKTB3: EXP 0
BRKTB4: EXP 0
V10095: EXP 0
V10096: EXP 0
V10097: EXP 0
N10097: BYTE (4)4(2)2(12)0(18)V10097
V10098: EXP 0
S10098: POINT 7,A10098,35
A10098: BYTE (2)2(16)^D1+1(18)^D1
ASCII 'L'
V10099: EXP 0
V10100: EXP 0
V10101: EXP 0
A10102: BYTE (2)2(16)^D2+1(18)^D6
ASCII 'INIEAC'
A10103: BYTE (2)2(16)^D2+1(18)^D8
ASCII 'INIEAC()'
A10104: BYTE (2)2(16)^D2+1(18)^D6
ASCII 'EACTPH'
A10105: BYTE (2)2(16)^D2+1(18)^D8
ASCII 'EACTPH()'
A10246: BYTE (2)2(16)^D2+1(18)^D6
ASCII 'PUTLIT'
A10247: BYTE (2)2(16)^D1+1(18)^D4
ASCII 'STR1'
S10248: POINT 7,A10248,35
A10248: BYTE (2)2(16)^D3+1(18)^D12
ASCII 'PUTLIT(STR1)'
S10249: POINT 7,A10249,35
A10249: BYTE (2)2(16)^D3+1(18)^D14
ASCII 'SYM(INAM,ATRB)'
S10250: POINT 7,A10250,35
A10250: BYTE (2)2(16)^D4+1(18)^D20
ASCII 'SNT(SNX,STY,SNM,SVL)'
N10254: BYTE (4)4(14)0(18)Q10104+^D5
N10256: BYTE (4)4(14)0(18)Q10104+^D6
A10258: BYTE (2)2(16)^D1+1(18)^D4
ASCII 'ATRB'
A10259: BYTE (2)2(16)^D1+1(18)^D4
ASCII 'INAM'
N10263: BYTE (4)4(14)0(18)Q10104+^D7
N10275: BYTE (4)4(14)0(18)Q10104+^D8
S10276: POINT 7,A10276,35
A10276: BYTE (2)2(16)^D1+1(18)^D1
ASCII 'N'
S10280: POINT 7,A10280,35
A10280: BYTE (2)2(16)^D1+1(18)^D1
ASCII 'V'
N10286: BYTE (4)4(14)0(18)Q10104+^D9
A10287: BYTE (2)2(16)^D1+1(18)^D3
ASCII 'SNT'
S10289: POINT 7,A10289,35
A10289: BYTE (2)2(16)^D4+1(18)^D17
ASCII 'UNDEFINED LABEL: '
N10309: BYTE (4)4(14)0(18)Q10104+^D10
A10313: BYTE (2)2(16)^D1+1(18)^D3
ASCII 'STY'
A10315: BYTE (2)2(16)^D1+1(18)^D3
ASCII 'SNM'
A10317: BYTE (2)2(16)^D1+1(18)^D3
ASCII 'SVL'
A10318: BYTE (2)2(16)^D1+1(18)^D3
ASCII 'SNX'
S10319: POINT 7,A10319,35
A10319: BYTE (2)2(16)^D1+1(18)^D1
ASCII '0'
N10335: BYTE (4)4(14)0(18)Q10104+^D11
S10336: POINT 7,A10336,35
A10336: BYTE (2)2(16)^D1+1(18)^D1
ASCII '5'
Q10104: BYTE (2)2(16)^D11+1(18)0
REPEAT ^D11,<0>
Q10105: BYTE (2)2(16)^D19*4+1(18)-^D19
EXP 0
BYTE (5)5(31)0
POINT 7,A10318,35
F10318: BYTE (4)4(4)0(5)20(5)0(18)S$$UDF##
EXP 0
BYTE (5)5(31)0
POINT 7,A10317,35
F10317: BYTE (4)4(4)0(5)20(5)0(18)S$$UDF##
EXP 0
BYTE (5)5(31)0
POINT 7,A10315,35
F10315: BYTE (4)4(4)0(5)20(5)0(18)S$$UDF##
EXP 0
BYTE (5)5(31)0
POINT 7,A10313,35
F10313: BYTE (4)4(4)0(5)20(5)0(18)S$$UDF##
EXP 0
BYTE (5)5(31)0
POINT 7,A10287,35
F10287: BYTE (4)4(4)0(5)20(5)0(18)S$$UDF##
EXP 0
BYTE (5)5(31)0
POINT 7,A10259,35
F10259: BYTE (4)4(4)0(5)20(5)0(18)S$$UDF##
EXP 0
BYTE (5)5(31)0
POINT 7,A10258,35
F10258: BYTE (4)4(4)0(5)20(5)0(18)S$$UDF##
EXP 0
BYTE (5)1(31)0
POINT 7,A10247,35
N10247: BYTE (4)4(14)0(18)Q10104+^D4
EXP 0
BYTE (5)5(31)0
POINT 7,A10246,35
F10246: BYTE (4)4(4)0(5)20(5)0(18)S$$UDF##
EXP 0
BYTE (5)3(31)0
POINT 7,A10246,35
JRST L10246
EXP 0
BYTE (5)1(31)0
POINT 7,A10246,35
N10246: BYTE (4)4(14)0(18)Q10104+^D3
EXP 0
BYTE (5)5(31)0
POINT 7,A10104,35
EACTPH: BYTE (4)4(4)0(5)^D0(5)0(18)E10104
EXP 0
BYTE (5)3(31)0
POINT 7,A10104,35
JRST L10104
EXP 0
BYTE (5)1(31)0
POINT 7,A10104,35
N10104: BYTE (4)4(14)0(18)Q10104+^D2
EXP 0
BYTE (5)5(31)0
POINT 7,A10102,35
INIEAC: BYTE (4)4(4)0(5)^D0(5)0(18)E10102
EXP 0
BYTE (5)3(31)0
POINT 7,A10102,35
JRST L10102
EXP 0
BYTE (5)1(31)0
POINT 7,A10102,35
N10102: BYTE (4)4(14)0(18)Q10104+^D1
EXP 0
BYTE (5)5(31)0
POINT 7,A10066,35
F10066: BYTE (4)4(4)0(5)^D2(5)0(18)P$$DEF##
EXP 0
BYTE (5)5(31)0
POINT 7,A10064,35
F10064: BYTE (4)4(4)0(5)^D2(5)0(18)P$$TBL##
POINT 7,A10104,35
Q10000: XWD 0,Q10104
XWD Q10105,^D0
EXP Q10105
XWD ^D9,Q10000
E10102: JSP 13,S$$EFI##
POINT 7,A10103,35
EXP 0
XWD ^D10,Q10000
E10104: JSP 13,S$$EFI##
POINT 7,A10105,35
EXP 0
END