;* * * * * * * * * ;* * DECLARATIONS * * * * * ;* * * * * * * * * ;* ;* LOCAL ;* ; DECLARE('SNOBOL.SUBPROGRAM','DECLPH') ; DECLARE('OPTION','NO.STNO') ; DECLARE('PURGE.VARIABLE',ALL) ; DECLARE('PURGE.LABEL',ALL) ; DECLARE('EXTERNAL.FUNCTION','GETSTA,STXERR,ERRMSG,PARLIT,GETITM' ;.) ; DECLARE('INTEGER','I,J,K,ITSW,DFATR') ; DECLARE('ENTRY.FUNCTION','INIDEC()') ; DECLARE('ENTRY.FUNCTION','DECLPH()') ;* ;* 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','INIDEC,DECLPH,DFI,DSB,STR1') ; DECLARE('UNPURGE.LABEL','INIDEC DECLPH DFI DSB NO.STNO TIMER ;. HASHSIZE= LD4 VD4 FD4 DCLEND XFF1 DD3 OPT SNO SUB PRV UPV PRL UPL ;. PRF UPF STR INT REL REN GLV GLL GLF EXV ENV EXL ENL EXF ENF XFF NFF') ; DECLARE('PURGE.FUNCTION','DEFINE,DATA,IDENT,DIFFER,TABLE,ARRAY, ;.SUBSTR') ;* * * * * * * * * ;* * INITIALIZE DECLARATION PHASE * * * ;* * * * * * * * * ;INIDEC DEFINE('DFI()') TITLE DECLPH 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 DECLPH,INIDEC 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 GETITM,PARLIT,ERRMSG,STXERR,GETSTA L10095: MOVEI 14,Q10002 MOVEM 14,S$$FLP## MOVE 1,S10275 FCALV$ ^D1,F10066 Q10002: ; DEFINE('DSB(STR1)') MOVEI 14,Q10003 MOVEM 14,S$$FLP## MOVE 1,S10276 FCALV$ ^D1,F10066 Q10003: ; DATA('SYM(INAM,ATRB)') MOVEI 14,Q10004 MOVEM 14,S$$FLP## MOVE 1,S10277 FCALV$ ^D1,F10060 Q10004: ; DATA('CRS(NEXT,CRSI)') :(RETURN) MOVEI 14,S$$SRT## MOVEM 14,S$$FLP## MOVE 1,S10278 FCALV$ ^D1,F10060 JRST S$$SRT## ;* * * * * * * * * ;* * PROCESS DECLARATIONS * * * * ;* * * * * * * * * ;DECLPH L10097: ;* DECLARATION LOOP ;DCLOOP C = GETSTA() :F(NOEND) L10279: MOVEI 14,L10280 MOVEM 14,S$$FLP## FCALV$ ^D0,GETSTA MOVEM 1,@C ; C SPAN(BLNCHR) @P :F(RETURN) MOVEI 14,S$$SRT## MOVEM 14,S$$FLP## MOVE 1,@C PUSH 16,1 MOVE 1,@BLNCHR JSP 11,S$$MBT## EXP . PUSH 16,1 JSP 14,S$$MTX## XWD ^D2,0 MOVE 1,^D1(15) JSP 11,S$$SPN## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,P JSP 11,S$$MTS## ; C LEN(*P) 'DECLARE(' @P :F(RETURN) MOVEI 14,S$$SRT## MOVEM 14,S$$FLP## MOVE 1,@C PUSH 16,1 JSP 14,S$$MTX## XWD ^D-1,0 BYTE (2)2(16)1(18).+1 MOVE ^D1,P JUMPL 1,S$$MIE## JSP 11,S$$LEN## MOVE 1,S10281 JSP 11,S$$MST## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,P JSP 11,S$$MTS## ;* DECLARATION DECODING ; C LEN(*P) NSPAN(BLNCHR) @P SQCHR @P @I ;. SPAN('ABCDEFGHIJKLMNOPQRSTUVWXYZ.') $ DECTYP @P SQCHR @P ;. NSPAN(BLNCHR) ',' NSPAN(BLNCHR) @P (SQCHR ! 'ALL') $ STR1 @P ;. :F(BADDEC) MOVEI 14,L10286 MOVEM 14,S$$FLP## MOVE 1,@C PUSH 16,1 MOVE 1,@BLNCHR JSP 11,S$$MBT## EXP . PUSH 16,1 MOVE 1,@SQCHR JSP 11,S$$MKP## PUSH 16,1 MOVE 1,@SQCHR JSP 11,S$$MKP## PUSH 16,1 MOVE 1,@BLNCHR JSP 11,S$$MBT## EXP . PUSH 16,1 MOVE 1,@BLNCHR JSP 11,S$$MBT## EXP . PUSH 16,1 MOVE 1,@SQCHR JSP 11,S$$MKP## PUSH 16,1 JSP 14,S$$MTX## XWD ^D7,0 MOVE ^D1,P JUMPL 1,S$$MIE## JSP 11,S$$LEN## MOVE 1,^D1(15) JSP 11,S$$NSP## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,P MOVE 1,^D2(15) JSP 11,S$$PTX## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,P HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,V10090 JSP 11,S$$VAS## MOVEI 1,B10282 JSP 11,S$$SPN## MOVE 1,N10283 JSP 11,S$$IVA## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,P MOVE 1,^D3(15) JSP 11,S$$PTX## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,P MOVE 1,^D4(15) JSP 11,S$$NSP## MOVE 1,S10284 JSP 11,S$$MST## MOVE 1,^D5(15) JSP 11,S$$NSP## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,P JSP 11,S$$VAS## JSP 11,S$$APS## XWD .-.,Q10006 MOVE 1,^D6(15) JSP 11,S$$PTX## JRST Q10005 Q10006: JSP 11,S$$APF## MOVE 1,S10285 JSP 11,S$$MST## Q10005: MOVE 1,N10241 JSP 11,S$$IVA## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,P JSP 11,S$$MTS## ; DECTYP = DECLTB[DECTYP] MOVEI 14,Q10007 MOVEM 14,S$$FLP## MOVE 1,@N10283 AREFV$ ^D1,DECLTB MOVEM 1,@N10283 Q10007: ; (?IDENT(STR1,'ALL') ?DIFFER(SUBSTR(DECTYP,2),'PR')) ;. :S(BADDEC) MOVEI 14,Q10008 MOVEM 14,S$$FLP## MOVE 1,@N10241 PUSH 16,1 MOVE 1,S10285 FCALV$ ^D2,F10072 SETZ 1, MOVE 1,@N10283 PUSH 16,1 MOVE 1,I10287 FCALV$ ^D2,F10081 PUSH 16,1 MOVE 1,S10288 FCALV$ ^D2,F10071 SETZ 1, JRST L10286 Q10008: ; P = ?IDENT(DECTYP) I :F($DECTYP) MOVEI 14,Q10009 MOVEM 14,S$$FLP## MOVE 1,@N10283 FCALV$ ^D1,F10072 SETZ 1, MOVE ^D1,V10090 MOVEM 1,P JRST Q10010 Q10009: MOVEI 14,S$$BGT## MOVEM 14,S$$FLP## MOVE 1,@N10283 JSP 14,S$$ILB## Q10010: ;* ERRORS ; STXERR('UNKNOWN DECLARATION') :(DCLOOP) MOVEI 14,L10279 MOVEM 14,S$$FLP## MOVE 1,S10289 FCALV$ ^D1,STXERR JRST L10279 ;BADDEC STXERR('BAD DECLARATION') :(DCLOOP) L10286: MOVEI 14,L10279 MOVEM 14,S$$FLP## MOVE 1,S10290 FCALV$ ^D1,STXERR JRST L10279 ;BADOPT STXERR('UNKNOWN OPTION') :(DCLOOP) L10291: MOVEI 14,L10279 MOVEM 14,S$$FLP## MOVE 1,S10292 FCALV$ ^D1,STXERR JRST L10279 ;BADEXT ERRMSG('MULTIPLE EXTERNAL FOR: ' ITNAM ', IGNORED') ;. :($RETLAB) L10293: MOVEI 14,Q10011 MOVEM 14,S$$FLP## MOVE 1,S10294 PUSH 16,1 MOVE 1,@ITNAM PUSH 16,1 MOVE 1,S10295 JSP 14,S$$CNC## EXP ^D3 FCALV$ ^D1,ERRMSG Q10011: MOVEI 14,S$$BGT## MOVEM 14,S$$FLP## MOVE 1,@N10296 JSP 14,S$$ILB## ;BADDEF ERRMSG('REDEFINITION OF: ' ITNAM ', IGNORED') :($RETLAB) L10297: MOVEI 14,Q10012 MOVEM 14,S$$FLP## MOVE 1,S10298 PUSH 16,1 MOVE 1,@ITNAM PUSH 16,1 MOVE 1,S10295 JSP 14,S$$CNC## EXP ^D3 FCALV$ ^D1,ERRMSG Q10012: MOVEI 14,S$$BGT## MOVEM 14,S$$FLP## MOVE 1,@N10296 JSP 14,S$$ILB## ;NOEND C = :(RETURN) L10280: MOVEI 14,S$$SRT## MOVEM 14,S$$FLP## SETZM @C JRST S$$SRT## ;* DECLARATION LOOP BOTTOM ;DCLEND C DCLCMT :F(BADDEC)S(DCLOOP) L10248: MOVEI 14,L10286 MOVEM 14,S$$FLP## MOVE 1,@C PUSH 16,1 MOVE 1,@DCLCMT JSP 11,S$$MKP## PUSH 16,1 JSP 14,S$$MTX## XWD ^D2,0 MOVE 1,^D1(15) JSP 11,S$$PTX## JSP 11,S$$MTS## JRST L10279 ;DCAEND C PCPRMT @P OPBLPT @P RPOS(0) :F(BADDEC)S(DCLOOP) L10299: MOVEI 14,L10286 MOVEM 14,S$$FLP## MOVE 1,@C PUSH 16,1 MOVE 1,@PCPRMT JSP 11,S$$MKP## PUSH 16,1 MOVE 1,@OPBLPT JSP 11,S$$MKP## PUSH 16,1 JSP 14,S$$MTX## XWD ^D3,0 MOVE 1,^D1(15) JSP 11,S$$PTX## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,P MOVE 1,^D2(15) JSP 11,S$$PTX## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,P HRRZ 1,K10300 CAIE 1,(13) POPJ 16, JSP 11,S$$MTS## JRST L10279 ;* OPTION DECLARATION ;OPT C LEN(*P) ('NO.STNO' ! 'TIMER' ! 'HASHSIZE=') $ DECTYP ;. @P :F(BADOPT)S($DECTYP) L10251: MOVEI 14,L10291 MOVEM 14,S$$FLP## MOVE 1,@C PUSH 16,1 JSP 14,S$$MTX## XWD ^D-1,0 BYTE (2)2(16)1(18).+1 MOVE ^D1,P JUMPL 1,S$$MIE## JSP 11,S$$LEN## JSP 11,S$$VAS## JSP 11,S$$APS## XWD .-.,Q10014 MOVE 1,S10242 JSP 11,S$$MST## JRST Q10013 Q10014: JSP 11,S$$APR## XWD .-.,Q10015 MOVE 1,S10243 JSP 11,S$$MST## JRST Q10013 Q10015: JSP 11,S$$APF## MOVE 1,S10244 JSP 11,S$$MST## Q10013: MOVE 1,N10283 JSP 11,S$$IVA## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,P JSP 11,S$$MTS## MOVEI 14,S$$BGT## MOVEM 14,S$$FLP## MOVE 1,@N10283 JSP 14,S$$ILB## ;NO.STNO STNFLG = -1 :(DCLEND) L10242: MOVN ^D1,K10301 MOVEM 1,STNFLG JRST L10248 ;TIMER STNFLG = 1 :(DCLEND) L10243: MOVE ^D1,K10301 MOVEM 1,STNFLG JRST L10248 ;HASHSIZE= C LEN(*P) INTGPT @P :F(BADDEC) L10244: MOVEI 14,L10286 MOVEM 14,S$$FLP## MOVE 1,@C PUSH 16,1 MOVE 1,@INTGPT JSP 11,S$$MKP## PUSH 16,1 JSP 14,S$$MTX## XWD ^D2,0 MOVE ^D1,P JUMPL 1,S$$MIE## JSP 11,S$$LEN## MOVE 1,^D1(15) JSP 11,S$$PTX## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,P JSP 11,S$$MTS## ; HSHSIZ = INTGER :(DCLEND) MOVE ^D1,INTGER MOVEM 1,HSHSIZ JRST L10248 ;* SNOBOL.MAIN DECLARATION ;SNO C LEN(*P) IDENPT $ SNONAM @P :F(BADDEC)S(DCLEND) L10252: MOVEI 14,L10286 MOVEM 14,S$$FLP## MOVE 1,@C PUSH 16,1 MOVE 1,@IDENPT JSP 11,S$$MKP## PUSH 16,1 JSP 14,S$$MTX## XWD ^D2,0 MOVE ^D1,P JUMPL 1,S$$MIE## JSP 11,S$$LEN## JSP 11,S$$VAS## MOVE 1,^D1(15) JSP 11,S$$PTX## MOVE 1,SNONAM JSP 11,S$$IVA## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,P JSP 11,S$$MTS## JRST L10248 ;* SNOBOL.SUBPROGRAM DECLARATION ;SUB C LEN(*P) IDENPT $ SUBNAM @P :F(BADDEC)S(DCLEND) L10253: MOVEI 14,L10286 MOVEM 14,S$$FLP## MOVE 1,@C PUSH 16,1 MOVE 1,@IDENPT JSP 11,S$$MKP## PUSH 16,1 JSP 14,S$$MTX## XWD ^D2,0 MOVE ^D1,P JUMPL 1,S$$MIE## JSP 11,S$$LEN## JSP 11,S$$VAS## MOVE 1,^D1(15) JSP 11,S$$PTX## MOVE 1,SUBNAM JSP 11,S$$IVA## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,P JSP 11,S$$MTS## JRST L10248 ;* RENAME DECLARATION ;REN C LEN(*P) IDENPT $ STR1 @P SQCHR @P PCOMPT @P SQCHR ;. @P IDENPT $ STR2 @P :F(BADDEC) L10263: MOVEI 14,L10286 MOVEM 14,S$$FLP## MOVE 1,@C PUSH 16,1 MOVE 1,@IDENPT JSP 11,S$$MKP## PUSH 16,1 MOVE 1,@SQCHR JSP 11,S$$MKP## PUSH 16,1 MOVE 1,@PCOMPT JSP 11,S$$MKP## PUSH 16,1 MOVE 1,@SQCHR JSP 11,S$$MKP## PUSH 16,1 MOVE 1,@IDENPT JSP 11,S$$MKP## PUSH 16,1 JSP 14,S$$MTX## XWD ^D6,0 MOVE ^D1,P JUMPL 1,S$$MIE## JSP 11,S$$LEN## JSP 11,S$$VAS## MOVE 1,^D1(15) JSP 11,S$$PTX## MOVE 1,N10241 JSP 11,S$$IVA## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,P MOVE 1,^D2(15) JSP 11,S$$PTX## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,P MOVE 1,^D3(15) JSP 11,S$$PTX## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,P MOVE 1,^D4(15) JSP 11,S$$PTX## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,P JSP 11,S$$VAS## MOVE 1,^D5(15) JSP 11,S$$PTX## MOVE 1,N10302 JSP 11,S$$IVA## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,P JSP 11,S$$MTS## ; STR1 = .SYMBTB[STR1] MOVEI 14,Q10016 MOVEM 14,S$$FLP## MOVE 1,@N10241 AREFN$ ^D1,SYMBTB MOVEM 1,@N10241 Q10016: ; SYMBTB[STR2] = $STR1 MOVEI 14,Q10017 MOVEM 14,S$$FLP## MOVE 1,@N10302 AREFN$ ^D1,SYMBTB PUSH 16,1 MOVE 1,@N10241 JSP 14,S$$IVV## JSP 11,S$$ASG## Q10017: ; $STR1 = :(DCLEND) MOVEI 14,L10248 MOVEM 14,S$$FLP## MOVE 1,@N10241 JSP 14,S$$IVN## SETZM (1) JRST L10248 ;* LABEL DECLARATIONS ;* PURGE.LABEL ;PRL PRGALL = ?IDENT(STR1,'ALL') LIPATR :S(DCAEND) L10256: MOVEI 14,Q10018 MOVEM 14,S$$FLP## MOVE 1,@N10241 PUSH 16,1 MOVE 1,S10285 FCALV$ ^D2,F10072 SETZ 1, MOVE ^D1,LIPATR MOVEM 1,PRGALL JRST L10299 Q10018: ; ITSW = 1 MOVE ^D1,K10301 MOVEM 1,V10093 ; DFATR = 2 * LTDATR + LIPATR MOVE ^D1,K10287 IMUL ^D1,LTDATR ADD ^D1,LIPATR MOVEM 1,V10094 ;LD1 ITPAT = LABLPT L10303: MOVEI 14,Q10019 MOVEM 14,S$$FLP## MOVE 1,@LABLPT MOVEM 1,@N10304 Q10019: ;LD2 ITSEP = SPAN(BLNCHR) ! @I L10305: MOVEI 14,Q10023 MOVEM 14,S$$FLP## MOVE 1,@BLNCHR JSP 11,S$$MBT## EXP . PUSH 16,1 JSP 14,S$$GPB## XWD ^D-2,Q10022 JSP 11,S$$APS## XWD .-.,Q10021 MOVE 1,^D1(15) JSP 11,S$$SPN## JRST Q10020 Q10021: JSP 11,S$$APF## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,V10090 Q10020: JRST S$$PTS## Q10022: MOVEM 1,@N10306 Q10023: ; ITBRK = LBDCPT MOVEI 14,Q10024 MOVEM 14,S$$FLP## MOVE 1,@LBDCPT MOVEM 1,@N10307 Q10024: ; ITTYP = 1 MOVE ^D1,K10301 MOVEM 1,ITTYP ; I = :(LD5) MOVEI 14,L10308 MOVEM 14,S$$FLP## SETZM V10090 JRST L10308 ;* UNPURGE.LABEL ;UPL ITSW = 2 L10257: MOVE ^D1,K10287 MOVEM 1,V10093 ; DFATR = 2 * LTDATR :(LD1) MOVE ^D1,K10287 IMUL ^D1,LTDATR MOVEM 1,V10094 JRST L10303 ;* GLOBAL.LABEL ;GLL ITSW = 3 L10265: MOVE ^D1,K10309 MOVEM 1,V10093 ; DFATR = 2 * LTDATR + LGGATR :(LD1) MOVE ^D1,K10287 IMUL ^D1,LTDATR ADD ^D1,LGGATR MOVEM 1,V10094 JRST L10303 ;* EXTERNAL.LABEL ;EXL ITSW = 4 L10269: MOVE ^D1,K10310 MOVEM 1,V10093 ; DFATR = LTDATR + PRGALL + XNLATR MOVE ^D1,LTDATR ADD ^D1,PRGALL ADD ^D1,XNLATR MOVEM 1,V10094 ;LD3 ITPAT = RSIDPT :(LD2) L10311: MOVEI 14,L10305 MOVEM 14,S$$FLP## MOVE 1,@RSIDPT MOVEM 1,@N10304 JRST L10305 ;* ENTRY.LABEL ;ENL ITSW = 5 L10270: MOVE ^D1,K10312 MOVEM 1,V10093 ; DFATR = 2 * LTDATR + PRGALL + XNLATR :(LD3) MOVE ^D1,K10287 IMUL ^D1,LTDATR ADD ^D1,PRGALL ADD ^D1,XNLATR MOVEM 1,V10094 JRST L10311 ;* COMMON CODE FOR LABELS ;LD4 ?INE(I,P) :F(DCLEND) L10245: MOVEI 14,L10248 MOVEM 14,S$$FLP## SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$NEP## JUMP 0,V10090 JUMP 0,P ADD 16,S$$STB## SETZ 1, ;LD5 STR1 = DFI() :F(BADDEC) L10308: MOVEI 14,L10286 MOVEM 14,S$$FLP## FCALV$ ^D0,F10239 MOVEM 1,@N10241 ; IDENT(STR1) :F(LD7) MOVEI 14,L10313 MOVEM 14,S$$FLP## MOVE 1,@N10241 FCALV$ ^D1,F10072 ;LD6 ?IGE(ITSW,4) :F(LD4) L10314: MOVEI 14,L10245 MOVEM 14,S$$FLP## SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$GEP## JUMP 0,V10093 JUMP 0,K10310 ADD 16,S$$STB## SETZ 1, ; XNAMTB[INAM(ITENT)] = ITNAM MOVEI 14,Q10025 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALV$ ^D1,F10315 AREFN$ ^D1,XNAMTB PUSH 16,1 MOVE 1,@ITNAM JSP 11,S$$ASG## Q10025: ; EXTRLS = ?IEQ(ITSW,4) CRS(EXTRLS,ITNAM) :S(LD4) MOVEI 14,Q10026 MOVEM 14,S$$FLP## SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,V10093 JUMP 0,K10310 ADD 16,S$$STB## SETZ 1, MOVE 1,@EXTRLS PUSH 16,1 MOVE 1,@ITNAM FCALV$ ^D2,F10316 MOVEM 1,@EXTRLS JRST L10245 Q10026: ; ENTRLS = CRS(ENTRLS,ITNAM) :(LD4) MOVEI 14,L10245 MOVEM 14,S$$FLP## MOVE 1,@ENTRLS PUSH 16,1 MOVE 1,@ITNAM FCALV$ ^D2,F10316 MOVEM 1,@ENTRLS JRST L10245 ;LD7 ATRB(ITENT) = ?IEQ(LTATRB,0) OR(ITATR,DFATR) :F(LD9) L10313: MOVEI 14,L10318 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,LTATRB JUMP 0,K10300 ADD 16,S$$STB## SETZ 1, SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$IOR## JUMP 0,ITATR JUMP 0,V10094 ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## ;LD8 ATRB(ITENT) = ?IGE(ITSW,4) ?INE(XNATRB,0) OR(ITATR,DFATR - ;. XNLATR) :F(LD6) L10319: MOVEI 14,L10314 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$GEP## JUMP 0,V10093 JUMP 0,K10310 ADD 16,S$$STB## SETZ 1, SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$NEP## JUMP 0,XNATRB JUMP 0,K10300 ADD 16,S$$STB## SETZ 1, MOVE ^D1,V10094 SUB ^D1,XNLATR MOVEM 1,Q10001+^D0 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$IOR## JUMP 0,ITATR JUMP 0,Q10001+^D0 ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## ; RETLAB = 'LD4' :(BADEXT) MOVEI 14,L10293 MOVEM 14,S$$FLP## MOVE 1,S10245 MOVEM 1,@N10296 JRST L10293 ;LD9 ATRB(ITENT) = ?IEQ(ITSW,3) OR(ITATR,LGGATR) :S(LD4) L10318: MOVEI 14,Q10027 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,V10093 JUMP 0,K10309 ADD 16,S$$STB## SETZ 1, SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$IOR## JUMP 0,ITATR JUMP 0,LGGATR ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## JRST L10245 Q10027: ; ATRB(ITENT) = ?IEQ(ITSW,1) OR(ITATR,LIPATR) :S(LD4) MOVEI 14,Q10028 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,V10093 JUMP 0,K10301 ADD 16,S$$STB## SETZ 1, SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$IOR## JUMP 0,ITATR JUMP 0,LIPATR ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## JRST L10245 Q10028: ; ATRB(ITENT) = ?IEQ(ITSW,2) AND(ITATR,NOT(LIPATR)) :S(LD4) MOVEI 14,Q10029 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,V10093 JUMP 0,K10287 ADD 16,S$$STB## SETZ 1, SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$NOT## JUMP 0,LIPATR ADD 16,S$$STB## MOVE 1,0 MOVEM 1,Q10001+^D0 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$AND## JUMP 0,ITATR JUMP 0,Q10001+^D0 ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## JRST L10245 Q10029: ; ITATR = ITATR - LTATRB MOVE ^D1,ITATR SUB ^D1,LTATRB MOVEM 1,ITATR ; DFATR = DFATR - PRGALL MOVE ^D1,V10094 SUB ^D1,PRGALL MOVEM 1,V10094 ; ATRB(ITENT) = OR(ITATR,DFATR) :(LD8) MOVEI 14,L10319 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$IOR## JUMP 0,ITATR JUMP 0,V10094 ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## JRST L10319 ;* VARIABLE DECLARATIONS ;* PURGE.VARIABLE ;PRV PRGALV = ?IDENT(STR1,'ALL') VIPATR :S(DCAEND) L10254: MOVEI 14,Q10030 MOVEM 14,S$$FLP## MOVE 1,@N10241 PUSH 16,1 MOVE 1,S10285 FCALV$ ^D2,F10072 SETZ 1, MOVE ^D1,VIPATR MOVEM 1,PRGALV JRST L10299 Q10030: ; ITSW = 1 MOVE ^D1,K10301 MOVEM 1,V10093 ; DFATR = VTVATR + VIPATR MOVE ^D1,VTVATR ADD ^D1,VIPATR MOVEM 1,V10094 ;VD1 ITPAT = IDENPT L10320: MOVEI 14,Q10031 MOVEM 14,S$$FLP## MOVE 1,@IDENPT MOVEM 1,@N10304 Q10031: ;VD2 ITSEP = PCOMPT ! @I L10321: MOVEI 14,Q10035 MOVEM 14,S$$FLP## MOVE 1,@PCOMPT JSP 11,S$$MKP## PUSH 16,1 JSP 14,S$$GPB## XWD ^D-2,Q10034 JSP 11,S$$APS## XWD .-.,Q10033 MOVE 1,^D1(15) JSP 11,S$$PTX## JRST Q10032 Q10033: JSP 11,S$$APF## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,V10090 Q10032: JRST S$$PTS## Q10034: MOVEM 1,@N10306 Q10035: ; ITBRK = IDDCPT MOVEI 14,Q10036 MOVEM 14,S$$FLP## MOVE 1,@IDDCPT MOVEM 1,@N10307 Q10036: ; ITTYP = MOVEI 14,Q10037 MOVEM 14,S$$FLP## SETZM ITTYP Q10037: ; I = :(VD5) MOVEI 14,L10322 MOVEM 14,S$$FLP## SETZM V10090 JRST L10322 ;* UNPURGE.VARIABLE ;UPV ITSW = 2 L10255: MOVE ^D1,K10287 MOVEM 1,V10093 ; DFATR = VTVATR :(VD1) MOVE ^D1,VTVATR MOVEM 1,V10094 JRST L10320 ;* GLOBAL.VARIABLE ;GLV ITSW = 3 L10264: MOVE ^D1,K10309 MOVEM 1,V10093 ; DFATR = VTVATR + VGGATR :(VD1) MOVE ^D1,VTVATR ADD ^D1,VGGATR MOVEM 1,V10094 JRST L10320 ;* EXTERNAL.VARIABLE ;EXV ITSW = 4 L10267: MOVE ^D1,K10310 MOVEM 1,V10093 ; DFATR = VTVATR + PRGALV + XNVATR + VXXATR MOVE ^D1,VTVATR ADD ^D1,PRGALV ADD ^D1,XNVATR ADD ^D1,VXXATR MOVEM 1,V10094 ;VD3 ITPAT = RSIDPT :(VD2) L10323: MOVEI 14,L10321 MOVEM 14,S$$FLP## MOVE 1,@RSIDPT MOVEM 1,@N10304 JRST L10321 ;* ENTRY.VARIABLE ;ENV ITSW = 5 L10268: MOVE ^D1,K10312 MOVEM 1,V10093 ; DFATR = VTVATR + PRGALV + XNVATR :(VD3) MOVE ^D1,VTVATR ADD ^D1,PRGALV ADD ^D1,XNVATR MOVEM 1,V10094 JRST L10323 ;* COMMON CODE FOR VARIABLES ;VD4 ?INE(I,P) :F(DCLEND) L10246: MOVEI 14,L10248 MOVEM 14,S$$FLP## SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$NEP## JUMP 0,V10090 JUMP 0,P ADD 16,S$$STB## SETZ 1, ;VD5 STR1 = DFI() :F(BADDEC) L10322: MOVEI 14,L10286 MOVEM 14,S$$FLP## FCALV$ ^D0,F10239 MOVEM 1,@N10241 ; IDENT(STR1) :F(VD7) MOVEI 14,L10324 MOVEM 14,S$$FLP## MOVE 1,@N10241 FCALV$ ^D1,F10072 ;VD6 ?IGE(ITSW,4) :F(VD4) L10325: MOVEI 14,L10246 MOVEM 14,S$$FLP## SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$GEP## JUMP 0,V10093 JUMP 0,K10310 ADD 16,S$$STB## SETZ 1, ; XNAMTB[INAM(ITENT)] = ITNAM MOVEI 14,Q10038 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALV$ ^D1,F10315 AREFN$ ^D1,XNAMTB PUSH 16,1 MOVE 1,@ITNAM JSP 11,S$$ASG## Q10038: ; EXTRLS = ?IEQ(ITSW,4) CRS(EXTRLS,ITNAM) :S(VD4) MOVEI 14,Q10039 MOVEM 14,S$$FLP## SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,V10093 JUMP 0,K10310 ADD 16,S$$STB## SETZ 1, MOVE 1,@EXTRLS PUSH 16,1 MOVE 1,@ITNAM FCALV$ ^D2,F10316 MOVEM 1,@EXTRLS JRST L10246 Q10039: ; ENTRLS = CRS(ENTRLS,ITNAM) :(VD4) MOVEI 14,L10246 MOVEM 14,S$$FLP## MOVE 1,@ENTRLS PUSH 16,1 MOVE 1,@ITNAM FCALV$ ^D2,F10316 MOVEM 1,@ENTRLS JRST L10246 ;VD7 ATRB(ITENT) = ?IEQ(VTATRB,0) OR(ITATR,DFATR) :F(VD9) L10324: MOVEI 14,L10326 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,VTATRB JUMP 0,K10300 ADD 16,S$$STB## SETZ 1, SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$IOR## JUMP 0,ITATR JUMP 0,V10094 ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## ;VD8 ATRB(ITENT) = ?IGE(ITSW,4) ?INE(XNATRB,0) OR(ITATR,DFATR - ;. XNATRB - (5 - ITSW) * VXXATR) :F(VD6) L10327: MOVEI 14,L10325 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$GEP## JUMP 0,V10093 JUMP 0,K10310 ADD 16,S$$STB## SETZ 1, SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$NEP## JUMP 0,XNATRB JUMP 0,K10300 ADD 16,S$$STB## SETZ 1, MOVE ^D1,V10094 SUB ^D1,XNATRB MOVE ^D2,K10312 SUB ^D2,V10093 IMUL ^D2,VXXATR SUB ^D1,^D2 MOVEM 1,Q10001+^D0 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$IOR## JUMP 0,ITATR JUMP 0,Q10001+^D0 ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## ; RETLAB = 'VD4' :(BADEXT) MOVEI 14,L10293 MOVEM 14,S$$FLP## MOVE 1,S10246 MOVEM 1,@N10296 JRST L10293 ;VD9 RETLAB = ?IEQ(VDATRB,VDPATR) 'VD4' :S(BADDEF) L10326: MOVEI 14,Q10040 MOVEM 14,S$$FLP## SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,VDATRB JUMP 0,VDPATR ADD 16,S$$STB## SETZ 1, MOVE 1,S10246 MOVEM 1,@N10296 JRST L10297 Q10040: ; ATRB(ITENT) = ?IEQ(ITSW,3) OR(ITATR,VGGATR) :S(VD4) MOVEI 14,Q10041 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,V10093 JUMP 0,K10309 ADD 16,S$$STB## SETZ 1, SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$IOR## JUMP 0,ITATR JUMP 0,VGGATR ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## JRST L10246 Q10041: ; ATRB(ITENT) = ?IEQ(ITSW,1) OR(ITATR,VIPATR) :S(VD4) MOVEI 14,Q10042 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,V10093 JUMP 0,K10301 ADD 16,S$$STB## SETZ 1, SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$IOR## JUMP 0,ITATR JUMP 0,VIPATR ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## JRST L10246 Q10042: ; ATRB(ITENT) = ?IEQ(ITSW,2) AND(ITATR,NOT(VIPATR)) :S(VD4) MOVEI 14,Q10043 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,V10093 JUMP 0,K10287 ADD 16,S$$STB## SETZ 1, SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$NOT## JUMP 0,VIPATR ADD 16,S$$STB## MOVE 1,0 MOVEM 1,Q10001+^D0 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$AND## JUMP 0,ITATR JUMP 0,Q10001+^D0 ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## JRST L10246 Q10043: ; DFATR = DFATR - PRGALV MOVE ^D1,V10094 SUB ^D1,PRGALV MOVEM 1,V10094 ; ATRB(ITENT) = OR(ITATR,DFATR) :(VD8) MOVEI 14,L10327 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$IOR## JUMP 0,ITATR JUMP 0,V10094 ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## JRST L10327 ;* FUNCTION DECLARATIONS ;* PURGE.FUNCTION ;PRF PRGALF = ?IDENT(STR1,'ALL') FIPATR :S(DCAEND) L10258: MOVEI 14,Q10044 MOVEM 14,S$$FLP## MOVE 1,@N10241 PUSH 16,1 MOVE 1,S10285 FCALV$ ^D2,F10072 SETZ 1, MOVE ^D1,FIPATR MOVEM 1,PRGALF JRST L10299 Q10044: ; ITSW = 1 MOVE ^D1,K10301 MOVEM 1,V10093 ; DFATR = FTFATR + FIPATR MOVE ^D1,FTFATR ADD ^D1,FIPATR MOVEM 1,V10094 ;FD1 ITPAT = IDENPT L10328: MOVEI 14,Q10045 MOVEM 14,S$$FLP## MOVE 1,@IDENPT MOVEM 1,@N10304 Q10045: ;FD2 ITSEP = PCOMPT ! @I L10329: MOVEI 14,Q10049 MOVEM 14,S$$FLP## MOVE 1,@PCOMPT JSP 11,S$$MKP## PUSH 16,1 JSP 14,S$$GPB## XWD ^D-2,Q10048 JSP 11,S$$APS## XWD .-.,Q10047 MOVE 1,^D1(15) JSP 11,S$$PTX## JRST Q10046 Q10047: JSP 11,S$$APF## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,V10090 Q10046: JRST S$$PTS## Q10048: MOVEM 1,@N10306 Q10049: ; ITBRK = IDDCPT MOVEI 14,Q10050 MOVEM 14,S$$FLP## MOVE 1,@IDDCPT MOVEM 1,@N10307 Q10050: ; ITTYP = 7 MOVE ^D1,K10330 MOVEM 1,ITTYP ; I = :(FD5) MOVEI 14,L10331 MOVEM 14,S$$FLP## SETZM V10090 JRST L10331 ;* UNPURGE.FUNCTION ;UPF ITSW = 2 L10259: MOVE ^D1,K10287 MOVEM 1,V10093 ; DFATR = FTFATR :(FD1) MOVE ^D1,FTFATR MOVEM 1,V10094 JRST L10328 ;* GLOBAL.FUNCTION ;GLF ITSW = 3 L10266: MOVE ^D1,K10309 MOVEM 1,V10093 ; DFATR = FTFATR + FGGATR :(FD1) MOVE ^D1,FTFATR ADD ^D1,FGGATR MOVEM 1,V10094 JRST L10328 ;* EXTERNAL.FUNCTION ;EXF ITSW = 4 L10271: MOVE ^D1,K10310 MOVEM 1,V10093 ; DFATR = FTFATR + FXXATR + XNFATR MOVE ^D1,FTFATR ADD ^D1,FXXATR ADD ^D1,XNFATR MOVEM 1,V10094 ; ITPAT = RSIDPT :(FD2) MOVEI 14,L10329 MOVEM 14,S$$FLP## MOVE 1,@RSIDPT MOVEM 1,@N10304 JRST L10329 ;* COMMON CODE FOR FUNCTIONS ;FD4 ?INE(I,P) :F(DCLEND) L10247: MOVEI 14,L10248 MOVEM 14,S$$FLP## SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$NEP## JUMP 0,V10090 JUMP 0,P ADD 16,S$$STB## SETZ 1, ;FD5 STR1 = DFI() :F(BADDEC) L10331: MOVEI 14,L10286 MOVEM 14,S$$FLP## FCALV$ ^D0,F10239 MOVEM 1,@N10241 ; IDENT(STR1) :F(FD7) MOVEI 14,L10332 MOVEM 14,S$$FLP## MOVE 1,@N10241 FCALV$ ^D1,F10072 ;FD6 ?IEQ(ITSW,4) :F(FD4) L10333: MOVEI 14,L10247 MOVEM 14,S$$FLP## SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,V10093 JUMP 0,K10310 ADD 16,S$$STB## SETZ 1, ; XNAMTB[INAM(ITENT)] = ITNAM MOVEI 14,Q10051 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALV$ ^D1,F10315 AREFN$ ^D1,XNAMTB PUSH 16,1 MOVE 1,@ITNAM JSP 11,S$$ASG## Q10051: ; EXTRLS = CRS(EXTRLS,ITNAM) :(FD4) MOVEI 14,L10247 MOVEM 14,S$$FLP## MOVE 1,@EXTRLS PUSH 16,1 MOVE 1,@ITNAM FCALV$ ^D2,F10316 MOVEM 1,@EXTRLS JRST L10247 ;FD7 ITATR = ?IEQ(ITSW,4) ?IEQ(FXATRB,FXXMSK) ITATR - FXATRB - ;. TXATRB L10332: MOVEI 14,Q10052 MOVEM 14,S$$FLP## SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,V10093 JUMP 0,K10310 ADD 16,S$$STB## SETZ 1, 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,ITATR SUB ^D1,FXATRB SUB ^D1,TXATRB MOVEM 1,ITATR Q10052: ; ATRB(ITENT) = ?IEQ(FTATRB,0) OR(ITATR,DFATR) :F(FD9) MOVEI 14,L10334 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,FTATRB JUMP 0,K10300 ADD 16,S$$STB## SETZ 1, SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$IOR## JUMP 0,ITATR JUMP 0,V10094 ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## ;FD8 ATRB(ITENT) = ?IEQ(ITSW,8) ?INE(XNATRB,0) OR(ITATR,FTFATR) ;. :F(FD6) L10335: MOVEI 14,L10333 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,V10093 JUMP 0,K10336 ADD 16,S$$STB## SETZ 1, SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$NEP## JUMP 0,XNATRB JUMP 0,K10300 ADD 16,S$$STB## SETZ 1, SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$IOR## JUMP 0,ITATR JUMP 0,FTFATR ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## ; RETLAB = 'FD4' :(BADEXT) MOVEI 14,L10293 MOVEM 14,S$$FLP## MOVE 1,S10247 MOVEM 1,@N10296 JRST L10293 ;FD9 RETLAB = ?IEQ(FDATRB,FDPATR) 'FD4' :S(BADDEF) L10334: MOVEI 14,Q10053 MOVEM 14,S$$FLP## SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,FDATRB JUMP 0,FDPATR ADD 16,S$$STB## SETZ 1, MOVE 1,S10247 MOVEM 1,@N10296 JRST L10297 Q10053: ; ATRB(ITENT) = ?IEQ(ITSW,3) OR(ITATR,FGGATR) :S(FD4) MOVEI 14,Q10054 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,V10093 JUMP 0,K10309 ADD 16,S$$STB## SETZ 1, SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$IOR## JUMP 0,ITATR JUMP 0,FGGATR ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## JRST L10247 Q10054: ; ATRB(ITENT) = ?IEQ(ITSW,1) OR(ITATR,FIPATR) :S(FD4) MOVEI 14,Q10055 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,V10093 JUMP 0,K10301 ADD 16,S$$STB## SETZ 1, SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$IOR## JUMP 0,ITATR JUMP 0,FIPATR ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## JRST L10247 Q10055: ; ATRB(ITENT) = ?IEQ(ITSW,2) AND(ITATR,NOT(FIPATR)) :S(FD4) MOVEI 14,Q10056 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,V10093 JUMP 0,K10287 ADD 16,S$$STB## SETZ 1, SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$NOT## JUMP 0,FIPATR ADD 16,S$$STB## MOVE 1,0 MOVEM 1,Q10001+^D0 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$AND## JUMP 0,ITATR JUMP 0,Q10001+^D0 ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## JRST L10247 Q10056: ; ATRB(ITENT) = OR(ITATR,DFATR) :(FD8) MOVEI 14,L10335 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$IOR## JUMP 0,ITATR JUMP 0,V10094 ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## JRST L10335 ;* ENTRY.FUNCTION DECLARATION ;ENF J = P L10272: MOVE ^D1,P MOVEM 1,V10091 ; STR1 = PARLIT(SQCHR,SQLTPT) :F(BADDEC) MOVEI 14,L10286 MOVEM 14,S$$FLP## MOVE 1,@SQCHR PUSH 16,1 MOVE 1,@SQLTPT FCALV$ ^D2,PARLIT MOVEM 1,@N10241 ; STR1 @K RSIDPT @K '(' @K BREAK(')') :S(ENFA) MOVEI 14,Q10057 MOVEM 14,S$$FLP## MOVE 1,@N10241 PUSH 16,1 MOVE 1,@RSIDPT JSP 11,S$$MKP## PUSH 16,1 JSP 14,S$$MTX## XWD ^D2,0 HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,V10092 MOVE 1,^D1(15) JSP 11,S$$PTX## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,V10092 MOVE 1,S10337 JSP 11,S$$MST## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,V10092 MOVEI 1,B10338 JSP 11,S$$BRK## JSP 11,S$$MTS## JRST L10339 Q10057: ;ENFX P = J + K :(BADDEC) L10340: MOVE ^D1,V10091 ADD ^D1,V10092 MOVEM 1,P JRST L10286 ;ENFA STR2 = L10339: MOVEI 14,Q10058 MOVEM 14,S$$FLP## SETZM @N10302 Q10058: ; C LEN(*(P + 1)) PCOMPT SQCHR @P :F(ENFB) MOVEI 14,L10341 MOVEM 14,S$$FLP## MOVE 1,@C PUSH 16,1 MOVE 1,@PCOMPT JSP 11,S$$MKP## PUSH 16,1 MOVE 1,@SQCHR JSP 11,S$$MKP## PUSH 16,1 JSP 14,S$$MTX## XWD ^D3,0 MOVE ^D1,P ADD ^D1,K10301 JUMPL 1,S$$MIE## JSP 11,S$$LEN## MOVE 1,^D1(15) JSP 11,S$$PTX## MOVE 1,^D2(15) JSP 11,S$$PTX## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,P JSP 11,S$$MTS## ; STR2 = PARLIT(SQCHR,SQLTPT) :F(BADDEC) MOVEI 14,L10286 MOVEM 14,S$$FLP## MOVE 1,@SQCHR PUSH 16,1 MOVE 1,@SQLTPT FCALV$ ^D2,PARLIT MOVEM 1,@N10302 ;ENFB DFATR = FTFATR + 2 * FXXATR + XNFATR + PRGALF L10341: MOVE ^D1,FTFATR MOVE ^D2,K10287 IMUL ^D2,FXXATR ADD ^D1,^D2 ADD ^D1,XNFATR ADD ^D1,PRGALF MOVEM 1,V10094 ; ITTYP = 7 MOVE ^D1,K10330 MOVEM 1,ITTYP ; ITATR = DFATR MOVE ^D1,V10094 MOVEM 1,ITATR ; (?GETITM() ?IEQ(DFATR,ITATR)) :F(ENF4) MOVEI 14,L10342 MOVEM 14,S$$FLP## FCALV$ ^D0,GETITM SETZ 1, SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,V10094 JUMP 0,ITATR ADD 16,S$$STB## SETZ 1, ;ENF1 XNAMTB[INAM(ITENT)] = ITNAM L10343: MOVEI 14,Q10059 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALV$ ^D1,F10315 AREFN$ ^D1,XNAMTB PUSH 16,1 MOVE 1,@ITNAM JSP 11,S$$ASG## Q10059: ; ENTRLS = CRS(ENTRLS,ITNAM) MOVEI 14,Q10060 MOVEM 14,S$$FLP## MOVE 1,@ENTRLS PUSH 16,1 MOVE 1,@ITNAM FCALV$ ^D2,F10316 MOVEM 1,@ENTRLS Q10060: ; ENTFTB = ?IDENT(ENTFTB) TABLE(3,3) MOVEI 14,Q10061 MOVEM 14,S$$FLP## MOVE 1,@ENTFTB FCALV$ ^D1,F10072 SETZ 1, MOVE 1,I10309 PUSH 16,1 MOVE 1,I10309 FCALV$ ^D2,F10064 MOVEM 1,@ENTFTB Q10061: ; ITPTR = .ENTFTB[INAM(ITENT)] MOVEI 14,Q10062 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALV$ ^D1,F10315 AREFN$ ^D1,ENTFTB MOVEM 1,@N10344 Q10062: ; $ITPTR = ARRAY('4',STNO) MOVEI 14,Q10063 MOVEM 14,S$$FLP## MOVE 1,@N10344 JSP 14,S$$IVN## PUSH 16,1 MOVE 1,S10345 PUSH 16,1 MOVE ^D1,STNO TLO 1,1B18 TLZ 1,1B19 FCALV$ ^D2,F10063 JSP 11,S$$ASG## Q10063: ; ITPTR = $ITPTR MOVEI 14,Q10064 MOVEM 14,S$$FLP## MOVE 1,@N10344 JSP 14,S$$IVV## MOVEM 1,@N10344 Q10064: ; ITPTR<2> = DSB(STR1) MOVEI 14,Q10065 MOVEM 14,S$$FLP## MOVE 1,I10287 AREFN$ ^D1,N10344 PUSH 16,1 MOVE 1,@N10241 FCALV$ ^D1,F10240 JSP 11,S$$ASG## Q10065: ; I = MOVEI 14,Q10066 MOVEM 14,S$$FLP## SETZM V10090 Q10066: ; STR1 BREAK('(') @J '(' NSPAN(BLNCHR) ')' :S(ENF3) MOVEI 14,Q10067 MOVEM 14,S$$FLP## MOVE 1,@N10241 PUSH 16,1 MOVE 1,@BLNCHR JSP 11,S$$MBT## EXP . PUSH 16,1 JSP 14,S$$MTX## XWD ^D2,0 MOVEI 1,B10337 JSP 11,S$$BRK## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,V10091 MOVE 1,S10337 JSP 11,S$$MST## MOVE 1,^D1(15) JSP 11,S$$NSP## MOVE 1,S10338 JSP 11,S$$MST## JSP 11,S$$MTS## JRST L10346 Q10067: ; I = 1 MOVE ^D1,K10301 MOVEM 1,V10090 ;ENF2 STR1 LEN(*(J + 1)) BREAK(',)') @J ',' :F(ENF3) L10347: MOVEI 14,L10346 MOVEM 14,S$$FLP## MOVE 1,@N10241 PUSH 16,1 JSP 14,S$$MTX## XWD ^D-1,0 BYTE (2)2(16)1(18).+1 MOVE ^D1,V10091 ADD ^D1,K10301 JUMPL 1,S$$MIE## JSP 11,S$$LEN## MOVEI 1,B10348 JSP 11,S$$BRK## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,V10091 MOVE 1,S10284 JSP 11,S$$MST## JSP 11,S$$MTS## ; I = I + 1 :(ENF2) MOVE ^D1,V10090 ADD ^D1,K10301 MOVEM 1,V10090 JRST L10347 ;ENF3 ITPTR<4> = I L10346: MOVEI 14,Q10068 MOVEM 14,S$$FLP## MOVE 1,I10310 AREFN$ ^D1,N10344 PUSH 16,1 MOVE ^D1,V10090 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## Q10068: ; ITPTR<3> = ?IDENT(STR2) STR2 :S(DCLEND) MOVEI 14,Q10069 MOVEM 14,S$$FLP## MOVE 1,I10309 AREFN$ ^D1,N10344 PUSH 16,1 MOVE 1,@N10302 FCALV$ ^D1,F10072 SETZ 1, MOVE 1,@N10302 JSP 11,S$$ASG## JRST L10248 Q10069: ; ITPTR<3> = DSB(STR2) :(DCLEND) MOVEI 14,L10248 MOVEM 14,S$$FLP## MOVE 1,I10309 AREFN$ ^D1,N10344 PUSH 16,1 MOVE 1,@N10302 FCALV$ ^D1,F10240 JSP 11,S$$ASG## JRST L10248 ;ENF4 ITATR = ?IEQ(FXATRB,FXXMSK) ITATR - FXATRB - TXATRB L10342: MOVEI 14,Q10070 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,ITATR SUB ^D1,FXATRB SUB ^D1,TXATRB MOVEM 1,ITATR Q10070: ; ATRB(ITENT) = ?IEQ(FTATRB,0) OR(ITATR,DFATR) :F(ENF6) MOVEI 14,L10349 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,FTATRB JUMP 0,K10300 ADD 16,S$$STB## SETZ 1, SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$IOR## JUMP 0,ITATR JUMP 0,V10094 ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## ;ENF5 ATRB(ITENT) = ?INE(XNATRB,0) OR(ITATR,DFATR - 2 * FXXATR - ;. XNFATR) :F(ENF1) L10350: MOVEI 14,L10343 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$NEP## JUMP 0,XNATRB JUMP 0,K10300 ADD 16,S$$STB## SETZ 1, MOVE ^D1,V10094 MOVE ^D2,K10287 IMUL ^D2,FXXATR SUB ^D1,^D2 SUB ^D1,XNFATR MOVEM 1,Q10001+^D0 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$IOR## JUMP 0,ITATR JUMP 0,Q10001+^D0 ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## ; RETLAB = 'DCLEND' :(BADEXT) MOVEI 14,L10293 MOVEM 14,S$$FLP## MOVE 1,S10248 MOVEM 1,@N10296 JRST L10293 ;ENF6 RETLAB = ?IEQ(FDATRB,FDPATR) 'DCLEND' :S(BADDEF) L10349: MOVEI 14,Q10071 MOVEM 14,S$$FLP## SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,FDATRB JUMP 0,FDPATR ADD 16,S$$STB## SETZ 1, MOVE 1,S10248 MOVEM 1,@N10296 JRST L10297 Q10071: ; DFATR = DFATR - PRGALF MOVE ^D1,V10094 SUB ^D1,PRGALF MOVEM 1,V10094 ; ATRB(ITENT) = OR(ITATR,DFATR) :(ENF5) MOVEI 14,L10350 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$IOR## JUMP 0,ITATR JUMP 0,V10094 ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## JRST L10350 ;* EXTERNAL.FORTRAN.FUNCTION DECLARATION ;XFF ITTYP = 7 L10273: MOVE ^D1,K10330 MOVEM 1,ITTYP ; I = :(XFF2) MOVEI 14,L10351 MOVEM 14,S$$FLP## SETZM V10090 JRST L10351 ;XFF1 ?INE(I,P) :F(DCLEND) L10249: MOVEI 14,L10248 MOVEM 14,S$$FLP## SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$NEP## JUMP 0,V10090 JUMP 0,P ADD 16,S$$STB## SETZ 1, ;XFF2 J = P L10351: MOVE ^D1,P MOVEM 1,V10091 ; STR2 = PARLIT(SQCHR,IDDCPT) :F(BADDEC) MOVEI 14,L10286 MOVEM 14,S$$FLP## MOVE 1,@SQCHR PUSH 16,1 MOVE 1,@IDDCPT FCALV$ ^D2,PARLIT MOVEM 1,@N10302 ; STR2 @K RSIDPT $ STR1 @K ('=' ('INTEGER' ! ;. 'REAL') $ STR1 ! '') @K '(' @K INTGPT @K ')' RPOS(0) :F(ENFX) MOVEI 14,L10340 MOVEM 14,S$$FLP## MOVE 1,@N10302 PUSH 16,1 MOVE 1,@RSIDPT JSP 11,S$$MKP## PUSH 16,1 MOVE 1,@INTGPT JSP 11,S$$MKP## PUSH 16,1 JSP 14,S$$MTX## XWD ^D3,0 HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,V10092 JSP 11,S$$VAS## MOVE 1,^D1(15) JSP 11,S$$PTX## MOVE 1,N10241 JSP 11,S$$IVA## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,V10092 JSP 11,S$$APS## XWD .-.,Q10073 MOVE 1,S10352 JSP 11,S$$MST## JSP 11,S$$VAS## JSP 11,S$$APS## XWD .-.,Q10075 MOVE 1,S10048 JSP 11,S$$MST## JRST Q10074 Q10075: JSP 11,S$$APF## MOVE 1,S10049 JSP 11,S$$MST## Q10074: MOVE 1,N10241 JSP 11,S$$IVA## JRST Q10072 Q10073: JSP 11,S$$APF## Q10072: HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,V10092 MOVE 1,S10337 JSP 11,S$$MST## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,V10092 MOVE 1,^D2(15) JSP 11,S$$PTX## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,V10092 MOVE 1,S10338 JSP 11,S$$MST## HRRZ 1,K10300 CAIE 1,(13) POPJ 16, JSP 11,S$$MTS## ; C LEN(*P) (PCOMPT ! @I) @P :F(BADDEC) MOVEI 14,L10286 MOVEM 14,S$$FLP## MOVE 1,@C PUSH 16,1 MOVE 1,@PCOMPT JSP 11,S$$MKP## PUSH 16,1 JSP 14,S$$MTX## XWD ^D2,0 MOVE ^D1,P JUMPL 1,S$$MIE## JSP 11,S$$LEN## JSP 11,S$$APS## XWD .-.,Q10077 MOVE 1,^D1(15) JSP 11,S$$PTX## JRST Q10076 Q10077: JSP 11,S$$APF## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,V10090 Q10076: HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,P JSP 11,S$$MTS## ; J = FDIATR MOVE ^D1,FDIATR MOVEM 1,V10091 ; STR1 NOTANY('IJKLMN') :F(XFF3) MOVEI 14,L10354 MOVEM 14,S$$FLP## MOVE 1,@N10241 PUSH 16,1 JSP 14,S$$MTX## XWD ^D-1,0 BYTE (2)2(16)1(18).+1 MOVEI 1,B10353 JSP 11,S$$NTA## JSP 11,S$$MTS## ; J = FDDMSK MOVE ^D1,FDDMSK MOVEM 1,V10091 ;XFF3 DFATR = FTFATR + J + XNFATR + INTGER * TXTATR L10354: MOVE ^D1,FTFATR ADD ^D1,V10091 ADD ^D1,XNFATR MOVE ^D2,INTGER IMUL ^D2,TXTATR ADD ^D1,^D2 MOVEM 1,V10094 ; ITATR = DFATR MOVE ^D1,V10094 MOVEM 1,ITATR ; (?GETITM() ?IEQ(DFATR,ITATR)) :F(XFF5) MOVEI 14,L10355 MOVEM 14,S$$FLP## FCALV$ ^D0,GETITM SETZ 1, SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,V10094 JUMP 0,ITATR ADD 16,S$$STB## SETZ 1, ;XFF4 XNAMTB[INAM(ITENT)] = ITNAM L10356: MOVEI 14,Q10078 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALV$ ^D1,F10315 AREFN$ ^D1,XNAMTB PUSH 16,1 MOVE 1,@ITNAM JSP 11,S$$ASG## Q10078: ; EXTRLS = CRS(EXTRLS,ITNAM) :(XFF1) MOVEI 14,L10249 MOVEM 14,S$$FLP## MOVE 1,@EXTRLS PUSH 16,1 MOVE 1,@ITNAM FCALV$ ^D2,F10316 MOVEM 1,@EXTRLS JRST L10249 ;XFF5 ITATR = ?IEQ(FXATRB,FXXMSK) ITATR - FXATRB - TXATRB :F(XFF6) L10355: MOVEI 14,L10357 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,ITATR SUB ^D1,FXATRB SUB ^D1,TXATRB MOVEM 1,ITATR ; TXATRB = MOVEI 14,Q10079 MOVEM 14,S$$FLP## SETZM TXATRB Q10079: ;XFF6 RETLAB = ?INE(TXATRB,0) 'XFF1' :S(BADDEF) L10357: MOVEI 14,Q10080 MOVEM 14,S$$FLP## SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$NEP## JUMP 0,TXATRB JUMP 0,K10300 ADD 16,S$$STB## SETZ 1, MOVE 1,S10249 MOVEM 1,@N10296 JRST L10297 Q10080: ; ATRB(ITENT) = ?IEQ(FTATRB,0) OR(ITATR,DFATR) :F(XFF8) MOVEI 14,L10358 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,FTATRB JUMP 0,K10300 ADD 16,S$$STB## SETZ 1, SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$IOR## JUMP 0,ITATR JUMP 0,V10094 ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## ;XFF7 ATRB(ITENT) = ?INE(XNATRB,0) OR(ITATR,DFATR - XNFATR) ;. :F(XFF4) L10359: MOVEI 14,L10356 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$NEP## JUMP 0,XNATRB JUMP 0,K10300 ADD 16,S$$STB## SETZ 1, MOVE ^D1,V10094 SUB ^D1,XNFATR MOVEM 1,Q10001+^D0 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$IOR## JUMP 0,ITATR JUMP 0,Q10001+^D0 ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## ; RETLAB = 'XFF1' :(BADEXT) MOVEI 14,L10293 MOVEM 14,S$$FLP## MOVE 1,S10249 MOVEM 1,@N10296 JRST L10293 ;XFF8 RETLAB = ?INE(FXATRB,0) 'XFF1' :S(BADDEF) L10358: MOVEI 14,Q10081 MOVEM 14,S$$FLP## SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$NEP## JUMP 0,FXATRB JUMP 0,K10300 ADD 16,S$$STB## SETZ 1, MOVE 1,S10249 MOVEM 1,@N10296 JRST L10297 Q10081: ; ATRB(ITENT) = OR(ITATR,DFATR) :(XFF7) MOVEI 14,L10359 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$IOR## JUMP 0,ITATR JUMP 0,V10094 ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## JRST L10359 ;* ;* ENTRY.FORTRAN.FUNCTION DECLARATION ;NFF J = P L10274: MOVE ^D1,P MOVEM 1,V10091 ; STR1 = PARLIT(SQCHR,SQLTPT) :F(BADDEC) MOVEI 14,L10286 MOVEM 14,S$$FLP## MOVE 1,@SQCHR PUSH 16,1 MOVE 1,@SQLTPT FCALV$ ^D2,PARLIT MOVEM 1,@N10241 ; STR1 @K RSIDPT @K '(' @K BREAK(')') ')' @K ;. RPOS(0) :F(ENFX) MOVEI 14,L10340 MOVEM 14,S$$FLP## MOVE 1,@N10241 PUSH 16,1 MOVE 1,@RSIDPT JSP 11,S$$MKP## PUSH 16,1 JSP 14,S$$MTX## XWD ^D2,0 HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,V10092 MOVE 1,^D1(15) JSP 11,S$$PTX## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,V10092 MOVE 1,S10337 JSP 11,S$$MST## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,V10092 MOVEI 1,B10338 JSP 11,S$$BRK## MOVE 1,S10338 JSP 11,S$$MST## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,V10092 HRRZ 1,K10300 CAIE 1,(13) POPJ 16, JSP 11,S$$MTS## ; STR2 = MOVEI 14,Q10082 MOVEM 14,S$$FLP## SETZM @N10302 Q10082: ; C LEN(*P) PCOMPT SQCHR @P :F(NFF1) MOVEI 14,L10360 MOVEM 14,S$$FLP## MOVE 1,@C PUSH 16,1 MOVE 1,@PCOMPT JSP 11,S$$MKP## PUSH 16,1 MOVE 1,@SQCHR JSP 11,S$$MKP## PUSH 16,1 JSP 14,S$$MTX## XWD ^D3,0 MOVE ^D1,P JUMPL 1,S$$MIE## JSP 11,S$$LEN## MOVE 1,^D1(15) JSP 11,S$$PTX## MOVE 1,^D2(15) JSP 11,S$$PTX## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,P JSP 11,S$$MTS## ; STR2 = PARLIT(SQCHR,SQLTPT) :F(BADDEC) MOVEI 14,L10286 MOVEM 14,S$$FLP## MOVE 1,@SQCHR PUSH 16,1 MOVE 1,@SQLTPT FCALV$ ^D2,PARLIT MOVEM 1,@N10302 ;NFF1 FORTLS = ARRAY('5',FORTLS) L10360: MOVEI 14,Q10083 MOVEM 14,S$$FLP## MOVE 1,S10361 PUSH 16,1 MOVE 1,@FORTLS FCALV$ ^D2,F10063 MOVEM 1,@FORTLS Q10083: ; FORTLS<2> = ITNAM MOVEI 14,Q10084 MOVEM 14,S$$FLP## MOVE 1,I10287 AREFN$ ^D1,FORTLS PUSH 16,1 MOVE 1,@ITNAM JSP 11,S$$ASG## Q10084: ; FORTLS<3> = STNO MOVEI 14,Q10085 MOVEM 14,S$$FLP## MOVE 1,I10309 AREFN$ ^D1,FORTLS PUSH 16,1 MOVE ^D1,STNO TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## Q10085: ; FORTLS<4> = DSB(STR1) MOVEI 14,Q10086 MOVEM 14,S$$FLP## MOVE 1,I10310 AREFN$ ^D1,FORTLS PUSH 16,1 MOVE 1,@N10241 FCALV$ ^D1,F10240 JSP 11,S$$ASG## Q10086: ; FORTLS<5> = ?IDENT(STR2) STR2 :S(NFF2) MOVEI 14,Q10087 MOVEM 14,S$$FLP## MOVE 1,I10312 AREFN$ ^D1,FORTLS PUSH 16,1 MOVE 1,@N10302 FCALV$ ^D1,F10072 SETZ 1, MOVE 1,@N10302 JSP 11,S$$ASG## JRST L10362 Q10087: ; FORTLS<5> = DSB(STR2) MOVEI 14,Q10088 MOVEM 14,S$$FLP## MOVE 1,I10312 AREFN$ ^D1,FORTLS PUSH 16,1 MOVE 1,@N10302 FCALV$ ^D1,F10240 JSP 11,S$$ASG## Q10088: ;NFF2 ENTRLS = CRS(ENTRLS,ITNAM) :(DCLEND) L10362: MOVEI 14,L10248 MOVEM 14,S$$FLP## MOVE 1,@ENTRLS PUSH 16,1 MOVE 1,@ITNAM FCALV$ ^D2,F10316 MOVEM 1,@ENTRLS JRST L10248 ;* DEDICATED VARIABLE DECLARATIONS ;* INTEGER ;INT ITSW = 2 L10261: MOVE ^D1,K10287 MOVEM 1,V10093 ;DD1 ITPAT = IDENPT L10363: MOVEI 14,Q10089 MOVEM 14,S$$FLP## MOVE 1,@IDENPT MOVEM 1,@N10304 Q10089: ;DD2 ITSEP = PCOMPT ! @I L10364: MOVEI 14,Q10093 MOVEM 14,S$$FLP## MOVE 1,@PCOMPT JSP 11,S$$MKP## PUSH 16,1 JSP 14,S$$GPB## XWD ^D-2,Q10092 JSP 11,S$$APS## XWD .-.,Q10091 MOVE 1,^D1(15) JSP 11,S$$PTX## JRST Q10090 Q10091: JSP 11,S$$APF## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,V10090 Q10090: JRST S$$PTS## Q10092: MOVEM 1,@N10306 Q10093: ; DFATR = VTVATR + ITSW * VDDATR + PRGALV MOVE ^D1,VTVATR MOVE ^D2,V10093 IMUL ^D2,VDDATR ADD ^D1,^D2 ADD ^D1,PRGALV MOVEM 1,V10094 ; ITBRK = IDDCPT MOVEI 14,Q10094 MOVEM 14,S$$FLP## MOVE 1,@IDDCPT MOVEM 1,@N10307 Q10094: ; ITTYP = MOVEI 14,Q10095 MOVEM 14,S$$FLP## SETZM ITTYP Q10095: ; I = :(DD4) MOVEI 14,L10365 MOVEM 14,S$$FLP## SETZM V10090 JRST L10365 ;* REAL ;REL ITSW = 3 :(DD1) L10262: MOVE ^D1,K10309 MOVEM 1,V10093 JRST L10363 ;* STRING ;STR ITSW = 1 L10260: MOVE ^D1,K10301 MOVEM 1,V10093 ; ITPAT = IDENPT '(' INTGPT ')' :(DD2) MOVEI 14,L10364 MOVEM 14,S$$FLP## MOVE 1,@IDENPT PUSH 16,1 MOVE 1,S10337 PUSH 16,1 MOVE 1,@INTGPT PUSH 16,1 MOVE 1,S10338 JSP 14,S$$CNC## EXP ^D4 MOVEM 1,@N10304 JRST L10364 ;* COMMON CODE FOR DEDICATED VARIABLES ;DD3 ?INE(I,P) :F(DCLEND) L10250: MOVEI 14,L10248 MOVEM 14,S$$FLP## SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$NEP## JUMP 0,V10090 JUMP 0,P ADD 16,S$$STB## SETZ 1, ;DD4 STR1 = DFI() :F(BADDEC) L10365: MOVEI 14,L10286 MOVEM 14,S$$FLP## FCALV$ ^D0,F10239 MOVEM 1,@N10241 ; IDENT(STR1) :F(DD6) MOVEI 14,L10366 MOVEM 14,S$$FLP## MOVE 1,@N10241 FCALV$ ^D1,F10072 ;DD5 ?IEQ(ITSW,1) :F(DD3) L10367: MOVEI 14,L10250 MOVEM 14,S$$FLP## SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,V10093 JUMP 0,K10301 ADD 16,S$$STB## SETZ 1, ; DSIZTB = ?IDENT(DSIZTB) TABLE(3,3) MOVEI 14,Q10096 MOVEM 14,S$$FLP## MOVE 1,@DSIZTB FCALV$ ^D1,F10072 SETZ 1, MOVE 1,I10309 PUSH 16,1 MOVE 1,I10309 FCALV$ ^D2,F10064 MOVEM 1,@DSIZTB Q10096: ; DSIZTB[INAM(ITENT)] = INTGER :(DD3) MOVEI 14,L10250 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALV$ ^D1,F10315 AREFN$ ^D1,DSIZTB PUSH 16,1 MOVE ^D1,INTGER TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## JRST L10250 ;DD6 ATRB(ITENT) = ?IEQ(VTATRB,0) OR(ITATR,DFATR) :S(DD5) L10366: MOVEI 14,Q10097 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,VTATRB JUMP 0,K10300 ADD 16,S$$STB## SETZ 1, SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$IOR## JUMP 0,ITATR JUMP 0,V10094 ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## JRST L10367 Q10097: ; ATRB(ITENT) = ?IEQ(VDATRB,0) OR(ITATR,ITSW * VDDATR) ;. :S(DD5) MOVEI 14,Q10098 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,VDATRB JUMP 0,K10300 ADD 16,S$$STB## SETZ 1, MOVE ^D1,V10093 IMUL ^D1,VDDATR MOVEM 1,Q10001+^D0 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$IOR## JUMP 0,ITATR JUMP 0,Q10001+^D0 ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## JRST L10367 Q10098: ; RETLAB = 'DD3' :(BADDEF) MOVEI 14,L10297 MOVEM 14,S$$FLP## MOVE 1,S10250 MOVEM 1,@N10296 JRST L10297 ;* * * * * * * * * ;* * SUBROUTINES * * * * * ;* * * * * * * * * ;* DFI() DEFINE ITEM ;* EXPECTS ITPAT SET TO ITEM RECOGNIZER PATTERN, ITBRK TO THE BREAK ;* PATTERN THAT ENDS THE ITEM, ITSEP TO THE SEPARATOR PATTERN, ;* ITTYP, DFATR TO THE DEFINING ATTRIBUTES, AND RETURNS A NON-NULL ;* VALUE IF THE SYMBOL HAS ALREADY BEEN ENTERED ;* ;DFI PARLIT(SQCHR,ITBRK) ITPAT :F(FRETURN) L10239: MOVEI 14,S$$FRT## MOVEM 14,S$$FLP## MOVE 1,@SQCHR PUSH 16,1 MOVE 1,@N10307 FCALV$ ^D2,PARLIT PUSH 16,1 MOVE 1,@N10304 JSP 11,S$$MKP## PUSH 16,1 JSP 14,S$$MTX## XWD ^D2,0 MOVE 1,^D1(15) JSP 11,S$$PTX## JSP 11,S$$MTS## ; C LEN(*P) ITSEP @P :F(FRETURN) MOVEI 14,S$$FRT## MOVEM 14,S$$FLP## MOVE 1,@C PUSH 16,1 MOVE 1,@N10306 JSP 11,S$$MKP## PUSH 16,1 JSP 14,S$$MTX## XWD ^D2,0 MOVE ^D1,P JUMPL 1,S$$MIE## JSP 11,S$$LEN## MOVE 1,^D1(15) JSP 11,S$$PTX## HRRZ 1,@S$$SJC## SUBI 1,(13) MOVEM 1,P JSP 11,S$$MTS## ; ITATR = DFATR MOVE ^D1,V10094 MOVEM 1,ITATR ; DFI = ?GETITM() ?INE(ITATR,DFATR) 'OLD' :(RETURN) MOVEI 14,S$$SRT## MOVEM 14,S$$FLP## FCALV$ ^D0,GETITM SETZ 1, SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$NEP## JUMP 0,ITATR JUMP 0,V10094 ADD 16,S$$STB## SETZ 1, MOVE 1,S10368 MOVEM 1,@N10239 JRST S$$SRT## ;* * * * * * * * * ;* DSB(STR1) DEFINE STRING BLOCK ;* CREATES DEFINITION FOR STRING BLOCK, RETURNS INAM ;* ;DSB ITTYP = 3 L10240: MOVE ^D1,K10309 MOVEM 1,ITTYP ; ITATR = SKRATR MOVE ^D1,SKRATR MOVEM 1,ITATR ; ITNAM = STR1 MOVEI 14,Q10099 MOVEM 14,S$$FLP## MOVE 1,@N10241 MOVEM 1,@ITNAM Q10099: ; GETITM() MOVEI 14,Q10100 MOVEM 14,S$$FLP## FCALV$ ^D0,GETITM Q10100: ; ATRB(ITENT) = ?IEQ(SKATRB,0) OR(ITATR,SKRATR) MOVEI 14,Q10101 MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALN$ ^D1,F10317 PUSH 16,1 SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$EQP## JUMP 0,SKATRB JUMP 0,K10300 ADD 16,S$$STB## SETZ 1, SUB 16,S$$STB## MOVEM 16,S$$STS## JSA 16,F$$IOR## JUMP 0,ITATR JUMP 0,SKRATR ADD 16,S$$STB## MOVE 1,0 TLO 1,1B18 TLZ 1,1B19 JSP 11,S$$ASG## Q10101: ; DSB = INAM(ITENT) :(RETURN) MOVEI 14,S$$SRT## MOVEM 14,S$$FLP## MOVE 1,@ITENT FCALV$ ^D1,F10315 MOVEM 1,@N10240 JRST S$$SRT## ;* * * * * * * * * ;END JRST S$$SXT## Q10001: BLOCK ^D1 K10287: EXP ^D2 I10287: EXP ^D2!1B0 K10300: EXP ^D0 K10301: EXP ^D1 K10309: EXP ^D3 I10309: EXP ^D3!1B0 K10310: EXP ^D4 I10310: EXP ^D4!1B0 K10312: EXP ^D5 I10312: EXP ^D5!1B0 K10330: EXP ^D7 K10336: EXP ^D8 S10048: POINT 7,A10048,35 A10048: BYTE (2)2(16)^D2+1(18)^D7 ASCII 'INTEGER' S10049: POINT 7,A10049,35 A10049: BYTE (2)2(16)^D1+1(18)^D4 ASCII 'REAL' 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## F10064: BYTE (4)4(4)0(5)^D2(5)0(18)P$$TBL## F10066: BYTE (4)4(4)0(5)^D2(5)0(18)P$$DEF## 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## V10090: EXP 0 V10091: EXP 0 V10092: EXP 0 V10093: EXP 0 V10094: EXP 0 A10095: BYTE (2)2(16)^D2+1(18)^D6 ASCII 'INIDEC' A10096: BYTE (2)2(16)^D2+1(18)^D8 ASCII 'INIDEC()' A10097: BYTE (2)2(16)^D2+1(18)^D6 ASCII 'DECLPH' A10098: BYTE (2)2(16)^D2+1(18)^D8 ASCII 'DECLPH()' A10239: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'DFI' A10240: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'DSB' A10241: BYTE (2)2(16)^D1+1(18)^D4 ASCII 'STR1' A10242: BYTE (2)2(16)^D2+1(18)^D7 ASCII 'NO.STNO' A10243: BYTE (2)2(16)^D1+1(18)^D5 ASCII 'TIMER' A10244: BYTE (2)2(16)^D2+1(18)^D9 ASCII 'HASHSIZE=' A10245: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'LD4' A10246: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'VD4' A10247: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'FD4' A10248: BYTE (2)2(16)^D2+1(18)^D6 ASCII 'DCLEND' A10249: BYTE (2)2(16)^D1+1(18)^D4 ASCII 'XFF1' A10250: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'DD3' A10251: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'OPT' A10252: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'SNO' A10253: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'SUB' A10254: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'PRV' A10255: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'UPV' A10256: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'PRL' A10257: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'UPL' A10258: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'PRF' A10259: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'UPF' A10260: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'STR' A10261: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'INT' A10262: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'REL' A10263: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'REN' A10264: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'GLV' A10265: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'GLL' A10266: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'GLF' A10267: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'EXV' A10268: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'ENV' A10269: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'EXL' A10270: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'ENL' A10271: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'EXF' A10272: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'ENF' A10273: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'XFF' A10274: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'NFF' S10275: POINT 7,A10275,35 A10275: BYTE (2)2(16)^D1+1(18)^D5 ASCII 'DFI()' S10276: POINT 7,A10276,35 A10276: BYTE (2)2(16)^D2+1(18)^D9 ASCII 'DSB(STR1)' S10277: POINT 7,A10277,35 A10277: BYTE (2)2(16)^D3+1(18)^D14 ASCII 'SYM(INAM,ATRB)' S10278: POINT 7,A10278,35 A10278: BYTE (2)2(16)^D3+1(18)^D14 ASCII 'CRS(NEXT,CRSI)' S10281: POINT 7,A10281,35 A10281: BYTE (2)2(16)^D2+1(18)^D8 ASCII 'DECLARE(' B10282: EXP ^D32256 XWD ^D0,^D32512 XWD ^D0,^D32520 XWD ^D0,^D16128 A10282: BYTE (2)2(16)^D6+1(18)^D27 ASCII 'ABCDEFGHIJKLMNOPQRSTUVWXYZ.' N10283: BYTE (4)4(14)0(18)Q10102+^D6 S10284: POINT 7,A10284,35 A10284: BYTE (2)2(16)^D1+1(18)^D1 ASCII ',' S10285: POINT 7,A10285,35 A10285: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'ALL' S10288: POINT 7,A10288,35 A10288: BYTE (2)2(16)^D1+1(18)^D2 ASCII 'PR' S10289: POINT 7,A10289,35 A10289: BYTE (2)2(16)^D4+1(18)^D19 ASCII 'UNKNOWN DECLARATION' S10290: POINT 7,A10290,35 A10290: BYTE (2)2(16)^D3+1(18)^D15 ASCII 'BAD DECLARATION' S10292: POINT 7,A10292,35 A10292: BYTE (2)2(16)^D3+1(18)^D14 ASCII 'UNKNOWN OPTION' S10294: POINT 7,A10294,35 A10294: BYTE (2)2(16)^D5+1(18)^D23 ASCII 'MULTIPLE EXTERNAL FOR: ' S10295: POINT 7,A10295,35 A10295: BYTE (2)2(16)^D2+1(18)^D9 ASCII ', IGNORED' N10296: BYTE (4)4(14)0(18)Q10102+^D7 S10298: POINT 7,A10298,35 A10298: BYTE (2)2(16)^D4+1(18)^D17 ASCII 'REDEFINITION OF: ' N10302: BYTE (4)4(14)0(18)Q10102+^D8 N10304: BYTE (4)4(14)0(18)Q10102+^D9 N10306: BYTE (4)4(14)0(18)Q10102+^D10 N10307: BYTE (4)4(14)0(18)Q10102+^D11 A10315: BYTE (2)2(16)^D1+1(18)^D4 ASCII 'INAM' A10316: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'CRS' A10317: BYTE (2)2(16)^D1+1(18)^D4 ASCII 'ATRB' B10337: EXP ^D4 XWD ^D0,^D0 XWD ^D0,^D0 XWD ^D0,^D0 S10337: POINT 7,A10337,35 A10337: BYTE (2)2(16)^D1+1(18)^D1 ASCII '(' B10338: EXP ^D0 XWD ^D0,^D4 XWD ^D0,^D0 XWD ^D0,^D0 S10338: POINT 7,A10338,35 A10338: BYTE (2)2(16)^D1+1(18)^D1 ASCII ')' N10344: BYTE (4)4(14)0(18)Q10102+^D12 S10345: POINT 7,A10345,35 A10345: BYTE (2)2(16)^D1+1(18)^D1 ASCII '4' B10348: EXP ^D8 XWD ^D0,^D4 XWD ^D0,^D0 XWD ^D0,^D0 A10348: BYTE (2)2(16)^D1+1(18)^D2 ASCII ',)' S10352: POINT 7,A10352,35 A10352: BYTE (2)2(16)^D1+1(18)^D1 ASCII '=' B10353: EXP ^D2048 XWD ^D0,^D3072 XWD ^D0,^D3072 XWD ^D0,^D1024 A10353: BYTE (2)2(16)^D2+1(18)^D6 ASCII 'IJKLMN' S10361: POINT 7,A10361,35 A10361: BYTE (2)2(16)^D1+1(18)^D1 ASCII '5' S10368: POINT 7,A10368,35 A10368: BYTE (2)2(16)^D1+1(18)^D3 ASCII 'OLD' Q10102: BYTE (2)2(16)^D12+1(18)0 REPEAT ^D12,<0> Q10103: BYTE (2)2(16)^D49*4+1(18)-^D49 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,A10316,35 F10316: 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)3(31)0 POINT 7,A10274,35 JRST L10274 EXP 0 BYTE (5)3(31)0 POINT 7,A10273,35 JRST L10273 EXP 0 BYTE (5)3(31)0 POINT 7,A10272,35 JRST L10272 EXP 0 BYTE (5)3(31)0 POINT 7,A10271,35 JRST L10271 EXP 0 BYTE (5)3(31)0 POINT 7,A10270,35 JRST L10270 EXP 0 BYTE (5)3(31)0 POINT 7,A10269,35 JRST L10269 EXP 0 BYTE (5)3(31)0 POINT 7,A10268,35 JRST L10268 EXP 0 BYTE (5)3(31)0 POINT 7,A10267,35 JRST L10267 EXP 0 BYTE (5)3(31)0 POINT 7,A10266,35 JRST L10266 EXP 0 BYTE (5)3(31)0 POINT 7,A10265,35 JRST L10265 EXP 0 BYTE (5)3(31)0 POINT 7,A10264,35 JRST L10264 EXP 0 BYTE (5)3(31)0 POINT 7,A10263,35 JRST L10263 EXP 0 BYTE (5)3(31)0 POINT 7,A10262,35 JRST L10262 EXP 0 BYTE (5)3(31)0 POINT 7,A10261,35 JRST L10261 EXP 0 BYTE (5)3(31)0 POINT 7,A10260,35 JRST L10260 EXP 0 BYTE (5)3(31)0 POINT 7,A10259,35 JRST L10259 EXP 0 BYTE (5)3(31)0 POINT 7,A10258,35 JRST L10258 EXP 0 BYTE (5)3(31)0 POINT 7,A10257,35 JRST L10257 EXP 0 BYTE (5)3(31)0 POINT 7,A10256,35 JRST L10256 EXP 0 BYTE (5)3(31)0 POINT 7,A10255,35 JRST L10255 EXP 0 BYTE (5)3(31)0 POINT 7,A10254,35 JRST L10254 EXP 0 BYTE (5)3(31)0 POINT 7,A10253,35 JRST L10253 EXP 0 BYTE (5)3(31)0 POINT 7,A10252,35 JRST L10252 EXP 0 BYTE (5)3(31)0 POINT 7,A10251,35 JRST L10251 EXP 0 BYTE (5)3(31)0 S10250: POINT 7,A10250,35 JRST L10250 EXP 0 BYTE (5)3(31)0 S10249: POINT 7,A10249,35 JRST L10249 EXP 0 BYTE (5)3(31)0 S10248: POINT 7,A10248,35 JRST L10248 EXP 0 BYTE (5)3(31)0 S10247: POINT 7,A10247,35 JRST L10247 EXP 0 BYTE (5)3(31)0 S10246: POINT 7,A10246,35 JRST L10246 EXP 0 BYTE (5)3(31)0 S10245: POINT 7,A10245,35 JRST L10245 EXP 0 BYTE (5)3(31)0 S10244: POINT 7,A10244,35 JRST L10244 EXP 0 BYTE (5)3(31)0 S10243: POINT 7,A10243,35 JRST L10243 EXP 0 BYTE (5)3(31)0 S10242: POINT 7,A10242,35 JRST L10242 EXP 0 BYTE (5)1(31)0 POINT 7,A10241,35 N10241: BYTE (4)4(14)0(18)Q10102+^D5 EXP 0 BYTE (5)5(31)0 POINT 7,A10240,35 F10240: BYTE (4)4(4)0(5)20(5)0(18)S$$UDF## EXP 0 BYTE (5)3(31)0 POINT 7,A10240,35 JRST L10240 EXP 0 BYTE (5)1(31)0 POINT 7,A10240,35 N10240: BYTE (4)4(14)0(18)Q10102+^D4 EXP 0 BYTE (5)5(31)0 POINT 7,A10239,35 F10239: BYTE (4)4(4)0(5)20(5)0(18)S$$UDF## EXP 0 BYTE (5)3(31)0 POINT 7,A10239,35 JRST L10239 EXP 0 BYTE (5)1(31)0 POINT 7,A10239,35 N10239: BYTE (4)4(14)0(18)Q10102+^D3 EXP 0 BYTE (5)5(31)0 POINT 7,A10097,35 DECLPH: BYTE (4)4(4)0(5)^D0(5)0(18)E10097 EXP 0 BYTE (5)3(31)0 POINT 7,A10097,35 JRST L10097 EXP 0 BYTE (5)1(31)0 POINT 7,A10097,35 N10097: BYTE (4)4(14)0(18)Q10102+^D2 EXP 0 BYTE (5)5(31)0 POINT 7,A10095,35 INIDEC: BYTE (4)4(4)0(5)^D0(5)0(18)E10095 EXP 0 BYTE (5)3(31)0 POINT 7,A10095,35 JRST L10095 EXP 0 BYTE (5)1(31)0 POINT 7,A10095,35 N10095: BYTE (4)4(14)0(18)Q10102+^D1 POINT 7,A10097,35 Q10000: XWD 0,Q10102 XWD Q10103,^D0 EXP Q10103 XWD ^D7,Q10000 E10095: JSP 13,S$$EFI## POINT 7,A10096,35 EXP 0 XWD ^D8,Q10000 E10097: JSP 13,S$$EFI## POINT 7,A10098,35 EXP 0 END