// DATE 150720 // NOHALT * *** RUN MAINT. * // LOAD $MAINT,F1 // RUN // COPY FROM-READER,TO-F1,RETAIN-R,LIBRARY-S,NAME-@B@E MACRO @B@E &EXP-N .* .* 5703-XM1 S/3 BASIC COMPILER SYSTEM EQUATES .* TEXT PRINT OFF AIF (&EXP EQ 'Y').ON PRINT ON REQUESTED ? AIF (&EXP EQ 'N').OFF PRINT OFF REQUESTED ? .ERR MNOTE 00,'INVALID MACRO OPTION SPECIFIED.' AGO .MEND .ON ANOP PRINT ON .OFF ANOP TITLE '$B@EQU - S/3 BASIC COMPILER FIXED ADDRESS EQUATES' *********************************************************************** * COMPILER DISK INPUT/OUTPUT WORK BUFFER ADDRESSES * *********************************************************************** * B$CSBF EQU $ENDNU DISK RESIDENT PMC GENERATORS B$LDRP EQU X'1A00' LOADER PARAM COMM AREA CADDR B$SABF EQU X'1C00' STATEMENT ADDRESS TABLE BFR B$BABF EQU X'1D00' PMC BRANCH ADDRESS TABLE BFR B$GTBF EQU X'1E00' SOURCE TEXT INPUT BUFFER B$PTBF EQU X'1F00' PSEUDO CODE OUTPUT BUFFER B$CSXA EQU X'2000' STARTING CADDR FOR EXCESS CORE EJECT *********************************************************************** * COMPILER STATEMENT PROCESSOR CORE ADDRESS ENTRY POINTS - 8K SYSTEM * * NOTE - AN EQUATE TO ZERO (0) INDICATES PERMANENT CORE RESIDENCY * *********************************************************************** * B$CREM EQU 0 REM B$CDAT EQU B$CSBF+X'00' DATE B$CDEF EQU B$CSBF+X'00' DEF B$CDIM EQU B$CSBF+X'73' DIM B$CLTA EQU 0 LET (ARITHMETIC, SIMPLE) B$CASA EQU 0 ASSIGNMENT (ARITH. SIMPLE) B$CLTM EQU B$CSBF+X'00' LET (ARITHMETIC, MULTIPLE) B$CASM EQU B$CSBF+X'08' ASSIGNMENT (ARITH, MULTIPLE) B$CLTC EQU B$CSBF+X'69' LET (CHARACTER) B$CASC EQU B$CSBF+X'71' ASSIGNMENT (CHARACTER) B$CFOR EQU B$CSBF+X'00' FOR B$CNXT EQU B$CSBF+X'00' NEXT B$CIFA EQU B$CSBF+X'00' IF (ARITHMETIC) B$CIFC EQU B$CSBF+X'00' IF (CHARACTER) B$CGTO EQU B$CSBF+X'B3' GO TO (SIMPLE) B$CCGT EQU B$CSBF+X'00' GO TO (COMPUTED) B$CGSB EQU B$CSBF+X'90' GO SUB B$CRTN EQU B$CSBF+X'CF' RETURN B$CGET EQU B$CSBF+X'A3' GET B$CPUT EQU B$CSBF+X'00' PUT B$CRST EQU B$CSBF+X'A6' RESET B$CCLS EQU B$CSBF+X'95' CLOSE B$CINP EQU B$CSBF+X'00' INPUT B$CREA EQU B$CSBF+X'CF' READ B$CRSR EQU B$CSBF+X'E3' RESTORE B$CPRT EQU B$CSBF+X'00' PRINT B$CPRU EQU B$CSBF+X'00' PRINT USING B$CIMG EQU B$CSBF+X'00' IMAGE B$CMAT EQU B$CSBF+X'00' MAT (ASSIGNMENT) B$CMGT EQU B$CSBF+X'65' MAT GET B$CMIN EQU B$CSBF+X'D3' MAT INPUT B$CMRD EQU B$CSBF+X'D0' MAT READ B$CMPT EQU B$CSBF+X'9B' MAT PUT B$CMPR EQU B$CSBF+X'9B' MAT PRINT B$CMPU EQU B$CSBF+X'00' MAT PRINT USING B$CPSE EQU B$CSBF+X'E7' PAUSE B$CSTP EQU B$CSBF+X'D6' STOP B$CEND EQU B$CSBF+X'00' END B$CEOF EQU B$CEND END-OF-FILE B$CDUM EQU 0 TRUNCATED STATEMENT B$STRL EQU B$CSBF+X'00' LET (CHAR,SIMPLE,SUBSTRING) 1-4 B$STML EQU B$CSBF+X'00' LET (CHAROULT,SUBSTRING) 1-4 B$STAS EQU B$CSBF+X'1B' ASSIGNMENT (C,S,SUBSTRING) 1-4 B$STMA EQU B$CSBF+X'1B' ASSIGNMENT (C,M,SUBSTRING) 1-4 B$STIF EQU B$CSBF+X'06' IF (CHARACTER,SUBSTRING) 1-4 EJECT *********************************************************************** * CORE RESIDENT ROUTINE ENTRY POINTS AND PARAMETER ADDRESSES * * NOTE - THESE ADDRESS CONSTANTS ARE COPIED FROM THE 'COMMON CORE * * ADDRESS EQUATE' SECTION OR THE ASSEMBLED LISTING FOR THE * * COMPILER COMMON SECTION MODULE (BZCOMN). * *********************************************************************** * B$DIST EQU X'0700' ENTRY - COMPILER DISTRIBUTOR B$DST2 EQU X'073A' ENTRY - STMT PROC SEG LOADER B$LINE EQU X'07D0' CURRENT STATEMENT LINE NO. B$TYPE EQU X'0739' CURRENT STATEMENT TYPE B$SDPL EQU X'07DA' STMT ADDR TABLE DPL CADDOR B$SPAT EQU X'07E0' CADDR OF STMT PROCESSOR TABLE * B$BTAB EQU X'1996' ENTRY - BRANCH TABLE ROUTINE B$BRVP EQU X'19EE' BRANCH TABLE VIRTUAL PAGE NO. B$BRVA EQU X'19EF' BRANCH TABLE VIRTUAL PAGE DISP B$BRLN EQU X'19F1' BRANCH TABLE STMT LINE NO. B$BDPL EQU X'19E8' BRANCH ADD, TABLE DPL CADDR B$BDSA EQU X'19EA' BRANCH TBL FILE NEXT AVAIL SCR * B$GETC EQU X'0867' ENTRY - SOURCE TEXT 'GET' RTN B$NUMC EQU X'0873' CHARACTER SKIP PARAMETER B$GPTR EQU X'0878' INPUT BUFFER POINTER * B$PUTC EQU X'093A' ENTRY - COMPILER OUTPUT RTN B$PFNC EQU X'094E' 'PUT' ROUTINE FUNCTION PARAM B$PFWP EQU X'0015' 'PUT' RTN 'WRITE PAGE' CODE B$PFAE EQU X'0033' 'PUT' RTN 'ADD ERROR' FUNC CODE B$PFCL EQU X'009D' RTN 'CLOSE' FUNC CODE B$PARP EQU X'0A41' 'ADD RECORD' DATA PARAMETERS B$PCAD EQU X'0A40' CORE ADDR OF PMC STRIND B$PNBY EQU X'0A41' PMC STRING LENSTH PARAMETER B$PVAD EQU X'0A43' NEYT AVAILABLE VADDR FOR PMC B$PCPG EQU X'0A35' LAST PAGE FILLED WITH CONSTANTS B$PCDL EQU X'09D3' BYTE COUNT FOR LAST PUT STRING B$PBNL EQU X'0A01' NO. BYTES LEFT IN CURR PMC BFR B$PERC EQU X'0A39' COMPILER ERROR MESSAGE CODE B$PECT EQU X'0A44' COMPILER ERROR MESSAGE COUNT * B$FCON EQU X'0A46' ENTRY - CONSTANT ROUTINE B$CTYP EQU X'0A5F' CONSTANT RTN TYPE PARAMETER B$CCON EQU X'001F' CONSTANT RTN CHAR CON CODE B$SCON EQU X'001B' CONSTANT RTN STRING CON CODE B$CBFA EQU X'0CBC' CONSTANT CORE BUFFER ADDR B$CVPG EQU X'0CA5' CONSTANT VIRTUAL PAGE NO. B$CVPD EQU X'0C5D' CONSTANT BUFFER POINTER DISP B$CPCT EQU X'0CA8' CONSTANT RTN SEGMENT COUNT * B$SYMB EQU X'0DBC' ENTRY - SYMBOL TABLE ROUTINE B$FACA EQU X'0E53' FUNC AND ARRAY ATTRIBUTE CADDR B$FSC1 EQU X'0E4C' USER FUNC ARGUMENT 1ST DAR B$FSC2 EQU X'0E4D' USER FUNC ARGUMENT 2ND CHAR B$FSVA EQU X'0E4F' USER FUNC ARGUMENT VADDR B$SVRB EQU X'0E46' VARIABLE ALLOCATION BASE VADDR B$SFAB EQU X'0E48' SEE TABLE ALLOCATION BASE VADDR B$SLVT EQU X'1062' LETTER VAR SYMBOL TABLE CADDR B$SLDT EQU X'109C' LTR-DIG VAR SYMBOL TABLE CADDR B$SCVT EQU X'12E0' CHAR VAR SYMBOL TABLE CADDR B$SNAT EQU X'131A' ARITH ARRAY SYMBOL TABLE CADDR B$SCAT EQU X'13C8' CHAR ARRAY SYMBOL TABLE CADDR B$SFNT EQU X'143C' USER FUNC SYMBOL TABLE CADDR * B$CSCN EQU X'14B0' ENTRY - CHARACTER SCAN RTN * B$SCAN EQU X'1514' ENTRY - ARITHMETIC SCAN RTN B$BCKT EQU X'1590' SYMBOL ADDR OUTPUT PARAMETER B$FAIS EQU X'15AC' VADDR FOR 1ST INTERNAL CONSTANT B$FAIW EQU X'15A0' VADDR FOR 1ST INTERNAL VARIABLE B$FVPE EQU X'15A8' VADDR OR INTERNAL CON 'E' B$FVPP EQU X'15AA' VADDR OF INTERNAL CON 'PI' B$FVPS EQU X'15AC' VADDR OF INTERNAL CON 'SQR2' B$FVME EQU X'15A2' VADDR OF INTERNAL CON '-E' B$FVMP EQU X'15A4' VADDR OF INTERNAL CON '-PI' B$FVMS EQU X'15A6' VADDR OF INTERNAL CON '-SQR2' * B$LIST EQU X'1853' ENTRY - ASSIGNMENT LIST RTN B$LTYP EQU X'18F2' LIST ELEMENT TYPE CODE BYTE * B$MATR EQU X'18F3' ENTRY - MATRIX REFERENCE RTN * B$ZDBN EQU X'19F2' ENTRY - DECIMAL TO BINARY CONV B$BINO EQU X'1A6A' BINARY NUMBER ACCUMULATOR * B$DL4T EQU X'1A6B' ENTRY - DISK 4-TRACK LIOCR * B$RMRK EQU X'1AE6' ENTRY - 'REM' STMT PROCESSOR B$CSTR EQU X'14CC' STRING ENTRY POINT FOR BECSCN1-4 B$CRAD EQU X'150D' RETURN BR OPERAND IN BECSCN 1-4 B$CBAS EQU X'14BB' BASE ADDRESS IN BECSCN 1-4 B$CRBS EQU X'1509' SAVE AREA FOR RTRN BASE REG 1-4 B$LSTR EQU X'1862' ENTRY PT BLISTA FOR STR RTN 1-4 B$LBSV EQU X'18E7' BASE REG SV AREA IN BLISTA 1-4 B$LRTN EQU X'18EB' RETURN ADDR SV AREA IN BLISTA1-4 B$LBAS EQU X'185E' BLISTA BASE ADDRESS 1-4 EJECT *********************************************************************** * MISCELLANEOUS FIXED EQUATES * * NOTE - THESE ADDRESS CONSTANTS ARE COPIED FROM THE 'COMMON CORE * * ADDRESS EQUATE' SECTION OF THE ASSEMBLED LISTING FOR THE * * COMPILER COMMON SECTION MODULE (BZCOMN). * *********************************************************************** * B$INVT EQU X'1B38' INPUT VERIFICATION TABLE ADDR * B$MFBK EQU X'1B8F' MAT ASSIGN FUNCTION BUCKET ADP * B$SSTA EQU X'1BAC' INDICATOR FOR 'STEP' ALLOWED * B$FORT EQU X'1B0E' 'FOR' TABLE STARTING ADDRESS B$FTPT EQU X'1B0D' 'FOR' TABLE POINTER B$FTND EQU X'1B0B' 'FOR' 1NBLE ENDING ADDRESS * B$DLNK EQU X'1B37' 'DATA' FILE LINKAGE OPERAND B$WORK EQU X'15A0' VIRTUAL ADDR CONSTANT FOR WORK B$CWRK EQU X'F500' VADDR CONSTANT FOR CWRK 1-4 * B$PPWA EQU X'0A35' CADDR CF BBPUTC PRECISION AREA B$CPWA EQU X'0CA6' CADDR OF BCFCON PRECISION AREA B$DPWA EQU X'0E46' CADDR OF BDSYMB PRECISION AREA B$FPWA EQU X'15AC' CADDR OF BFSCAN PRECISION AREA B$PRM1 EQU X'1AF3' BSTRIF PARAM WORKAREA 1-4 B$RTRN EQU X'1AF5' BSTMLT-CONTROL RETURN ADDR 1-4 B$BROP EQU X'1AF7' BSTMLT-RETURN BR VADDR OPRND 1-4 B$CADR EQU X'1AF9' BSTMLT-CONTROL CADDR 1-4 B$TTAB EQU X'1AFA' REL OPRTR-COND CODE TBL ADDR 1-4 B$TOD1 EQU 0 DISP FOR TABLE OPERATOR 1-4 B$TCD2 EQU 1 DISP FOR TABLE COND CODE 1-4 B$TLTH EQU 2 LENGTH OF TABLE ENTRY 1-4 B$TOTB EQU B$TTAB-B$TLTH CODE TABLE BASE ADDRESS 1-4 EJECT *********************************************************************** * COMPILER SWITCHES * * NOTE - THESE ADDRESS CONSTANTS ARE COPIED FROM THE 'COMMON CORE * * ADDRESS EQUATE' SECTION OF' THE ASSEMBLED LISTING FOR THE * * COMPILER COMMON SECTION MODULE (BZCOMN). * *********************************************************************** * B$ARSW EQU X'0A45' 'ADD RECORD' EXECUTIOW SWITCH B$ARMK EQU X'0001' 'ADD RECORD' EXEC SWITCH MASK * B$ERSW EQU X'0993' COMPILER ERROR SWITCH B$ERMK EQU X'0007' COMPILER ERROR SWITCH MASK * B$GBSW EQU X'08AF' GETC 'BLANK' BYPASS SWITCH B$GBWK EQU X'0001' GETC 'BLANK' BYPASS SWITCH MASK * B$NXSW EQU X'071D' 'NEXT' UNRESOLVED BRANCH SWITCH B$NXMK EQU X'0007' 'NEXT' UNRESOLVED BRANCH MASK * B$FSSW EQU X'0E5C' USER FUNCTION SCAN SWITCH B$FSMK EQU X'0007' USER FUNCTION SCAN SWITCH MASK * B$ADSW EQU X'159D' AVAILABLE ADDRESS SWITCH B$ADMK EQU X'0001' AVAILABLE ADDRESS SWITCH MASK * B$KWSW EQU X'159E' EXPRESSION KEYWORD SWITCH B$KWMK EQU X'0001' EXPRESSION KEYWORD SWITCH MASK * B$FRSW EQU X'16CC' FUNCTION REFERENCE SWITCH B$FRMK EQU X'0007' FUNCTION REFERENCE SWITCH MASK * B$IFSW EQU X'16E5' INTRINSIC FUNCTION SWITCH B$IFMK EQU X'0007' INTRINSIC FUNCTION SWITCH MASK * B$CRSW EQU X'0E42' CHARACTER REFERENCE SWITCH B$CRMK EQU X'0001' CHARACTER REFERENCE SWITCH MASK * B$CSSW EQU X'14BC' CHARACTER EXPR SCAN SWITCH B$CSMK EQU X'0007' CHARACTER EXPR SCAN SWITCH MASK * B$MRSW EQU X'0DDE' MATRIX REFERENCE SCAN SWITCH B$MRMK EQU X'0007' MATRIX REFERENCE SCAN SW MASK * B$MGSW EQU X'18FF' MAT ASSIGNMENT 'GET' SWITCH B$MGMK EQU X'0007' MAT ASSIGNMENT 'GET' SW MASK * B$MBSW EQU X'1903' MAT SYMBOL PROC BYPASS SWITCH B$MBMK EQU X'0007' MAT SYMBOL PROC BYPASS SW MASK * B$MPSW EQU X'1981' MAT ASSIGNMENT 'PUT' SWITCH B$MPMK EQU X'0007' MAT ASSIGNMENT 'PUT' SW MASK EJECT *********************************************************************** * PSEUDO OP CODE EQUATES * *********************************************************************** * B@CSVC EQU 2 SUPERVISOR CALL B@CHLT EQU 4 HALT EXECUTION B@CADD EQU 6 ADD B@CSUB EQU 8 SUBTRACT B@CMPY EQU 10 MULTIPLY B@CDIV EQU 12 DIVIDE B@CPWR EQU 14 EXPONENTIATE B@CNEG EQU 16 NEGATE B@CFN0 EQU 18 FUNCTION CALL - NO ARGUMENT B@CFN1 EQU 20 FUNCTION CALL - 1 ARGUMENT B@CFCI EQU 22 FUNCTION CALL - INDIRECT B@CMF1 EQU 24 1 MATRIX FUNCTION CALL B@CMF2 EQU 26 2 MATRIX FUNCTION CALL B@CMF3 EQU 28 3 MATRIX FUNCTION CALL B@CMSM EQU 30 MATRIX-SCALAR MPY FUNC CALL B@CSTF EQU 32 STACK FLOATING VALUE B@CSF1 EQU 34 STACK ARITH VECTOR VALUE B@CSF2 EQU 36 STACK ARITH MATRIX VALUE B@CUSF EQU 38 UNSTACK FLOATING VALUE B@CSTC EQU 40 STACK CHARACTER FIELD B@CSC1 EQU 42 STACK CHARACTER ARRAY FIELD B@CUSC EQU 44 UNSTACK CHARACTER FIELD B@CSD0 EQU 46 STACK DOPE VECTOR B@CSD1 EQU 48 STACK DOPE VECTOR - REDIM 1 B@CSD2 EQU 50 STACK DOPE VECTOR - REDIM 2 B@CSTA EQU 52 STACK VIRTUAL ADDRESS B@CSA1 EQU 54 STACK ARITH VECTOR ADDRESS B@CSA2 EQU 56 STACK ARITH MATRIX ADDRESS B@CSB1 EQU 58 STACK CHARACTER ARRAY ADDRESS B@CSTX EQU 60 STACK EXECUTION CONTROL CODE B@CCSA EQU 62 COMPUTE STACKED ADDRESS B@CCMF EQU 64 COMPARE FLOATING VALUES B@CCMC EQU 66 COMPARE CHARACTER FIELDS B@CBRC EQU 68 BRANCH ON CONDITION B@CBRA EQU 70 BRANCH UNCONDITIONALLY B@CBRD EQU 72 BRANCH AND DELETE FUNC REF B@CBNX EQU 74 BRANCH AND SKIP EXECUTION B@CBRS EQU 76 BRANCH TO STACKED ADDRESS B@CFOR EQU 78 BEGIN 'FOR' LOOP B@CNXT EQU 80 CONTINUE 'FOR' LOOP B@CGET EQU 82 INPUT DATA ELEMENT B@CPUT EQU 84 OUTPUT DATA ELEMENT B@CINI EQU 86 INITIATE DATA INPUT B@CADF EQU 88 ACTIVATE DATA FILE B@CRSR EQU 90 RESTORE DATA FILE POINTER B@CRST EQU 92 RESET DATA FILE POINTER B@CCLS EQU 94 CLOSE A DATA FILE B@CPRS EQU 96 PRINT AND SPACE CARRIER B@CPRU EQU 98 PRINT USING IMAGE B@CSTH EQU 100 STATEMENT HEADER B@CIMH EQU 102 IMAGE STATEMENT HEADER B@CEOP EQU 104 END OF PSEUDO CODE PAGE B@CDCA EQU 106 DEFINE CONSTANT ADDRESS B@CDDL EQU 108 DEFINE DATA LINKAGE B@CDWA EQU 110 DEFINE WORK AREA B@CEOF EQU 112 END OF PROGRAM PMC EJECT *********************************************************************** * PSEUDO INSTRUCTION EQUATES * *********************************************************************** * B@LCOP EQU 1 LENGTH OF PSEUDO OPCODE B@LCER EQU 1 LENGTH OF COMPILER ERROR CODE B@LCVA EQU @VADDR LENGTH OF VADDR OPERAND B@LCCC EQU 1 LENGTH OF CONDITION CODE OPRND B@LCNN EQU 1 LENGTH OF COUNT OPERAND B@LCXX EQU 1 LENGTH OF EXEC CTRL CODE OPRND B@LCLN EQU 2 LENGTH OF LINE NO. OPERAND * B@LSVC EQU B@LCOP SUPERVISOR CALL B@LHLT EQU B@LCOP HALT EXECUTION B@LADD EQU B@LCOP ADD B@LSUB EQU B@LCOP SUBTRACT B@LMPY EQU B@LCOP MULTIPLY B@LDIV EQU B@LCOP DIVIDE B@LPWR EQU B@LCOP EXPONENTIATE B@LNEG EQU B@LCOP NEGATE B@LFN0 EQU B@LCOP+B@LCVA FUNCTION CALL - NO ARGUMENT B@LFN1 EQU B@LCOP+B@LCVA FUNCTION CALL - 1 ARGUMENT B@LFCI EQU B@LCOP+B@LCVA FUNCTION CALL - INDIRECT B@LMF1 EQU B@LCOP+B@LCVA 1 MATRIX FUNCTION CALL B@LMF2 EQU B@LCOP+B@LCVA 2 MATRIX FUNCTION CALL B@LMF3 EQU B@LCOP+B@LCVA 3 MATRIY FUNCTION CALL B@LMSM EQU B@LCOP+B@LCVA MATRIX-SCALAR MPY FUNC CALL B@LSTF EQU B@LCOP+B@LCVA STACK FLOATING VALUE B@LSF1 EQU B@LCOP+B@LCVA STACK ARITH VECTOR VALUE B@LSF2 EQU B@LCOP+B@LCVA STACK ARITH MATRIX VALLE B@LUSF EQU B@LCOP UNSTACK, FLOATING VALUE B@LSTC EQU B@LCOP+B@LCVA STACK CHARACTER FIELD B@LSC1 EQU B@LCOP+B@LCVA STACK CHARACTER ARRAY FIELD B@LUSC EQU B@LCOP+B@LCNN UNSTACK CHARACTER FIELD B@LSD0 EQU B@LCOP+B@LCVA STACK DOPE VECTOR B@LSD1 EQU B@LCOP+B@LCVA STACK DOPE VECTOR - REDIM B@LSD2 EQU B@LCOP+B@LCVA STACK DOPE VECTOR - REDIM 2 B@LSTA EQU B@LCOP+B@LCVA STACK VIRTUAL ADDRESS B@LSA1 EQU B@LCOP+B@LCVA STACK ARITH VECTOR ADDRESS B@LSA2 EQU B@LCOP+B@LCVA STACK ARITH MATRIX ADDRESS B@LSB1 EQU B@LCOP+B@LCVA STACK CHARACTER ARRAY ADDRESS B@LSTX EQU B@LCOP+B@LCXX STACK EXECUTION CONTROL CODE B@LCSA EQU B@LCOP+B@LCNN COMPUTE STACKED ADDRESS B@LCMF EQU B@LCOP COMPARE FLOATING VALUES B@LCMC EQU B@LCOP COMPARE CHARACTER FIELDS B@LBRC EQU B@LCOP+B@LCVA+B@LCCC BRANCH ON CONDITION B@LBRA EQU B@LCOP+B@LCVA BRANCH UNCONDITIONALLY B@LBRD EQU B@LCOP+B@LCVA BRANCH AND DELETE FUNC REF B@LBNX EQU B@LCOP+B@LCVA BRANCH AND SKIP EXECUTION B@LBRS EQU B@LCOP BRANCH TO STACKED ADDRESS B@LFOR EQU B@LCOP+B@LCVA BEGIN 'FOR' LOOP B@LNXT EQU B@LCOP+B@LCVA CONTINUE 'FOR' LOOP B@LGET EQU B@LCOP+B@LCVA INPUT DATA ELEMENT B@LPUT EQU B@LCOP+B@LCXX OUTPUT DATA ELEMENT B@LINI EQU B@LCOP+B@LCNN INITIATE DATA INPUT B@LADF EQU B@LCOP+B@LCXX ACTIVATE DATA FLIT B@LRSR EQU B@LCOP RESTORE DATA FILE POINTER B@LRST EQU B@LCOP RESET DATA FILE POINTER B@LCLS EQU B@LCOP CLOSE A DATA RILE B@LPRS EQU B@LCOP+B@LCXX PRINT AND SPACE CARRIER B@LPRU EQU B@LCOP+B@LCXX PRINT USING IMAGE B@LSTH EQU B@LCOP+B@LCLN STATEMENT HEADER B@LIMH EQU B@LCOP+B@LCLN IMAGE STATEMENT HEADER B@LEOP EQU B@LCOP END OF PSEUDO CODE PAGE B@LDCA EQU B@LCOP+B@LCVA DEFINE CONSTANT ADDRESS B@LDDL EQU B@LCOP+B@LCVA DEFINE DATA LINKAGE B@LDWA EQU B@LCOP+B@LCNN DEFINE WORK AREA B@LEOF EQU B@LCOP END OF PROGRAM PMC * B@LERC EQU B@LCER+B@LCLN ERROR MESSAGE RECORD LENSTN EJECT *********************************************************************** * PSEUDO CONDITIONAL BRANCH EQUATES * *********************************************************************** * B@BRLO EQU X'82' BRANCH CONDITION - LOW B@BREQ EQU X'84' BRANCH CONDITION - EQUAL B@BRHI EQU X'88' BRANCH CONDITION - HIGH B@BRNL EQU X'92' BRANCH CONDITION - NOT LOW B@BRNE EQU X'94' BRANCH CONDITION - NOT EQUAL B@BRNH EQU X'98' BRANCH CONDITION - NOT HIGH SPACE *********************************************************************** * PSEUDO PRINT INSTRUCTION EXECUTION CONTROL CODES * *********************************************************************** * * PRINT AND SPACE (PRS) INSTRUCTION CODES * B@PRPN EQU 1 PRINT AND NO SPACE B@PRPL EQU 2 PRINT AND SPACE TO LONG ZONE B@PRPS EQU 3 PRINT AND SPACE TO SHORT ZONE B@PRPR EQU 4 PRINT AND RETURN CARRIAGE B@PRSL EQU 5 SPACE TO LONG ZONE B@PRSS EQU 6 SPACE TO SHORT ZONE B@PRRC EQU 7 RETURN THE CARRIAGE B@PRRL EQU 8 RETURN CARRIAGE CONDITIONALLY * * PRINT USING (PRU) INSTRUCTION CODES * B@PUI0 EQU 1 NULL IMAGE SPECIFICATION B@PUI1 EQU 4 1ST SEGMENT OF IMAGE STRING B@PUI2 EQU 5 SECONDARY IMAGE STRING SEGMENT * B@PUNL EQU 2 NULL PRINT USING LIST B@PUNS EQU 3 NULL CHARACTER STRING B@PUD1 EQU 6 PRIMARY DATA ELEMENT B@PUD2 EQU 7 SECONDARY DATA ELEMENT * B@PUTM EQU X'10' PRINT USING TERMINATION MASK B@PURE EQU X'20' MAY PRINT USING END-OF-ROW MASK EJECT *********************************************************************** * BASIC STATEMENT TYPE CODES * *********************************************************************** * B@TREM EQU 3 REM B@TDAT EQU 6 DATA B@TDEF EQU 9 DEF B@TDIM EQU 12 DIM B@TLTA EQU 15 LET (ARITHMETIC, SIMPLE) B@TASA EQU 18 ASSIGNMENT (ARITH, SIMPLE) B@TLTM EQU 21 LET (ARITHMETIC, MULTIPLE) B@TASM EQU 24 ASSIGNMENT (ARITH, MULTIPLE) B@TLTC EQU 27 LET (CHARACTER) B@TLTS EQU 121 LET (CHAR, SIMPLE, SUBSTR) 1-4 B@TMLS EQU 122 LET (CHAR, MULT, SUBSTR) 1-4 B@TASC EQU 30 ASSIGNMENT (CHARACTER) B@TASS EQU 123 ASSIGN (CHAR, SIMPLE, SUBSTR)1-4 B@TMAS EQU 124 ASSIGN (CHAR, MULT, SUBSTR) 1-4 B@TFOR EQU 33 FOR B@TNXT EQU 36 NEXT B@TIFA EQU 39 IF (ARITHMETIC) B@TIFC EQU 42 IF (CHARACTER) B@TIFS EQU 125 IF (CHAR, SUBSTR) 1-4 B@TGTO EQU 45 GO TO (SIMPLE) B@TCGT EQU 48 GO TO (COMPUTED) B@TGSB EQU 51 GO SUB B@TRTN EQU 54 RETURN B@TGET EQU 57 GET B@TPUT EQU 60 PUT B@TRST EQU 63 RESET B@TCLS EQU 66 CLOSE B@TINP EQU 69 INPUT B@TREA EQU 72 READ B@TRSR EQU 75 RESTORE B@TPRT EQU 78 PRINT B@TPRU EQU 81 PRINT USING B@TIMG EQU 84 IMAGE B@TMAT EQU 87 MAT (ASSIGNMENT) B@TMGT EQU 90 MAT GET B@TMIN EQU 93 MAT INPUT B@TMRD EQU 96 MAT READ B@TMPT EQU 99 MAT PUT B@TMPR EQU 102 MAT PRINT B@TMPU EQU 105 MAT PRINT USING B@TPSE EQU 108 PAUSE B@TSTP EQU 111 STOP B@TEND EQU 114 END B@TEOF EQU 117 END-OF-FILE B@TDUM EQU 120 TRUNCATED STATEMENT EJECT *********************************************************************** * BASIC STATEMENT KEYWORD LENGTH EQUATES * *********************************************************************** * * PRIMARY STATEMENT KEYWORDS * B@LREM EQU 3 REM B@LDAT EQU 4 DATA B@LDEF EQU 3 DEF B@LDIM EQU 3 DIM B@LLET EQU 3 LET B@LKFR EQU 3 FOR B@LNEX EQU 4 NEXT B@LKIF EQU 2 IF B@LGTO EQU 4 GO TO B@LGSB EQU 5 GO SUB B@LRTN EQU 6 RETURN B@LKGT EQU 3 GET B@LKPT EQU 3 PUT B@LKRT EQU 5 RESET B@LKCL EQU 5 CLOSE B@LINP EQU 5 INPUT B@LREA EQU 4 READ B@LKRR EQU 7 RESTORE B@LPRT EQU 5 PRINT B@LKPU EQU 10 PRINT USING B@LIMG EQU 1 IMAGE (:) B@LMAT EQU 3 MAT B@LMGT EQU 6 MAT GET B@LMIN EQU 8 MAT INPUT B@LMRD EQU 7 MAT READ B@LMPT EQU 6 MAT PUT B@LMPR EQU 8 MAT PRINT B@LMPU EQU 13 MAT PRINT USING B@LPSE EQU 5 PAUSE B@LSTP EQU 4 STOP B@LEND EQU 3 END * * SECUNDARY (EMBEDDED) STATEMENT KEYWORDS * B@LKTO EQU 2 TO B@LSTE EQU 4 STEP B@LTHN EQU 4 THEN (SAME LENGTH AS GOTO) * * OTHER SECONDARY STATEMENT KEYWORDS * B@LKON EQU 2 ON EJECT *********************************************************************** * COMPILER STATEMENT PROCESSOR DISK REGION EQUATES (PHYSICAL) * *********************************************************************** * B@DSCY EQU @DSBCY STATEMENT PROCESSOR CYLINDER B@DSS1 EQU @DSCS1 SECTOR ADDR FOR 1ST STMT PROC B@DSNS EQU 24 NO. OF STMT PROCESSOR SECTORS * B@CPMK EQU X'FF' CORE RESIDENT PROCESSOR MASK * * STATEMENT PROCESSOR PHYSICAL SECTOR ADDRESSES * B@DREM EQU B@CPMK REM B@DDAT EQU X'24' DATA B@DDEF EQU X'34' DEF B@DDIM EQU X'04' DIM B@DLTA EQU B@CPMK LET (ARITHMETIC, SIMPLE) B@DASA EQU B@CPMK ASSIGNMENT (ARITH, SIMPLE) B@DLTM EQU X'38' LET (ARITHMETIC, MULTIPLE) B@DASM EQU X'38' ASSIGNMENT (ARITH, MULTIPLE) B@DLTC EQU X'40' LET (CHARACTER) B@DASC EQU X'40' ASSIGNMENT (CHARACTER) B@DFOR EQU X'28' FOR B@DNXT EQU X'44' NEXT B@DIFA EQU X'48' IF (ARITHMETIC) B@DIFC EQU X'4C' IF (CHARACTER) B@DGTO EQU X'44' GO TO (SIMPLE) B@DCGT EQU X'50' GO TO (COMPUTED) B@DGSB EQU X'20' GO SUB B@DRTN EQU X'5C' RETURN B@DGET EQU X'40' SET B@DPUT EQU X'40' PUT B@DRST EQU X'50' RESET B@DCLS EQU X'54' CASE B@DINP EQU X'00' INPUT B@DREA EQU X'0C' READ B@DRSR EQU X'5C' RESTORE B@DPRT EQU X'2C' PRINT B@DPRU EQU X'30' PRINT USING B@DIMG EQU X'3C' IMAGE B@DMAT EQU X'08' MAT (ASSIGNMENT) B@DMGT EQU X'44' MAT GET B@DMIN EQU X'38' MAT INPUT B@DMRD EQU X'3C' MAT READ B@DMPT EQU X'4C' MAT PUT B@DMPR EQU X'48' MAT PRINT B@DMPU EQU X'54' MAT PRINT USING B@DPSE EQU X'50' PAUSE B@DSTP EQU X'54' STOP B@DEND EQU X'58' END B@DEOF EQU B@DEND END-OF-FILE B@DDUM EQU B@CPMK TRUNCATED STATEMENT B@DSLT EQU X'10' LET - SUBSTRINS 1-4 B@DSIF EQU X'1C' IF - SUBSTRING 1-4 B@DSML EQU X'10' LET - MULTIPLE, SUBSTRING 1-4 EJECT *********************************************************************** * COMPILER DISK REGION EQUATES (LOGICAL) * *********************************************************************** * B@DWCY EQU @DWBCY BASE CYL FOR SYSTEM WORK FILE B@DWT1 EQU @DWTB1 SECTOR ADDR FOR 1ST TEXT BLOCK * B@DVCY EQU @DVBCY BASE CYL FOR VIRTUAL MEMORY B@DVC1 EQU @VENTA SECTOR ADDR FOR 1ST PMC PAGE * B@DTCY EQU @DCBCY BASE CYL FOR COMPILER TABLES B@DTS1 EQU @DCST1 STMT ADDRESS TABLE 1ST SECTOR B@DTSN EQU 16 NO. OF SECTORS IN STMT TABLE B@DTB1 EQU @DCBT1 BRANCH ADDR TABLE 1ST SECTOR B@DTBN EQU 16 NO. OF SECTORS IN BRANCH TABLE EJECT *********************************************************************** * CHARACTER EQUATES - SPECIAL USAGE CHARACTERS * *********************************************************************** * B@EOST EQU @EOS END-OF-STATEMENT (CARR RETURN) B@CVAR EQU C'$' CHARACTER VARIABLE DESIGNATOR B@ALLA EQU C'*' 'ALL' ARRAY ELEMENTS SYMBOL B@EXPC EQU C'E' ARITHMETIC EXPONENT SYMBOL B@DIGS EQU C'#' IMAGE STMT DIGIT SPEC CHAR B@FOFL EQU C'*' IMAGE SCAN SPEC OVERFLOW CHAR SPACE *********************************************************************** * CHARACTER EQUATES - SPECIAL CHARACTERS (COLLATING SEQUENCE) * *********************************************************************** * B@BLNK EQU C' ' BLANK B@DPNT EQU C'.' DECIMAL POINT B@LESS EQU C'<' 'LESS THAN' OPERATOR B@LPAR EQU C'(' LEFT PARENTHESIS B@PLUS EQU C'+' PLUS SIGN B@POWR EQU C'!' POWER SIGN B@MULT EQU C'*' MULTIPLICATION SIGN B@RPAR EQU C')' RIGHT PARENTHESIS B@SCLN EQU C';' SEMICOLON B@MINS EQU C'-' MINUS SIGN B@DIVD EQU C'/' DIVISION SIGN B@CMMA EQU C',' COMMA B@GRTR EQU C'>' 'GREATER THAN' OPERATOR B@COLN EQU C':' COLON B@SQUO EQU C'''' SINGLE QUOTE B@EQUL EQU C'=' EQUAL SIGN B@NEQL EQU C'"' 'NOT EQUAL' OPERATOR EJECT *********************************************************************** * CHARACTER EQUATES - BASIC ALPHABET (COLLATING SEQUENCE) * *********************************************************************** * B@LET$ EQU C'$' 1ST LETTER IN BASIC ALPHABET B@LET# EQU C'#' 2ND LETTER IN BASIC ALPHABET B@LET@ EQU C'@' 3RD LETTER IN BASIC ALPHABET * B@LETA EQU C'A' 4TH LETTER IN BASIC ALPHABET * * (1ST LETTER IN STD ALPHABET) B@LETB EQU C'B' 5TH LETTER IN BASIC ALPHABET B@LETC EQU C'C' 6TH LETTER IN BASIC ALPHABET B@LETD EQU C'D' 7TH LETTER IN BASIC ALPHABET B@LETE EQU C'E' 8TH LETTER IN BASIC ALPHABET B@LETF EQU C'F' 9TH LETTER IN BASIC ALPHABET B@LETG EQU C'G' 10TH LETTER IN BASIC ALPHABET B@LETH EQU C'H' 11TH LETTER IN BASIC ALPHABET B@LETI EQU C'I' 12TH LETTER IN BASIC ALPHABET B@LETJ EQU C'J' 13TH LETTER IN BASIC ALPHABET B@LETK EQU C'K' 14TH LETTER IN BASIC ALPHABET B@LETL EQU C'L' 19TH LETTER IN BASIC ALPHABET B@LETM EQU C'M' 16TH LETTER IN BASIC ALPHABET B@LETN EQU C'N' 17TH LETTER IN BASIC ALPHABET B@LETO EQU C'O' 18TH LETTER IN PASIC ALPHABET B@LETP EQU C'P' 19TH LETTER IN BASIC ALPHABET B@LETQ EQU C'Q' 20TH LETTER IN BASIC ALPHABET B@LETR EQU C'R' 21ST LETTER IN BASIC ALPHABET B@LETS EQU C'S' 22ND LETTER IN BASIC ALPHABET B@LETT EQU C'T' 23RD LETTER IN BASIC ALPHABET B@LETU EQU C'U' 24TH LETTER IN BASIC ALPHABET B@LETV EQU C'V' 25TH LETTER IN BASIC ALPHABET B@LETW EQU C'W' 26TH LETTER IN BASIC ALPHABET B@LETX EQU C'X' 27TH LETTER IN BASIC ALPHABET B@LETY EQU C'Y' 28TH LETTER IN BASIC ALPHABET B@LETZ EQU C'Z' 29TH LETTER IN BASIC ALPHABET * * (LAST LETTER IN STD ALPHABET) EJECT *********************************************************************** * CHARACTER EQUATES - BASIC NUMERIC SET (COLLATING SEQUENCE) * *********************************************************************** * B@DEC0 EQU C'0' 1ST NUMERAL B@DEC1 EQU C'1' 2ND NUMERAL B@DEC2 EQU C'2' 3RD NUMERAL B@DEC3 EQU C'3' 4TH NUMERAL B@DEC4 EQU C'4' 5TH NUMERAL B@DEC5 EQU C'5' 6TH NUMERAL B@DEC6 EQU C'6' 7TH NUMERAL B@DEC7 EQU C'7' 8TH NUMERAL B@DEC8 EQU C'8' 9TH NUMERAL B@DEC9 EQU C'9' 10TH NUMERAL SPACE *********************************************************************** * INTERNAL CONSTANT AND VARIABLE EQUATES * *********************************************************************** * B@ICON EQU X'50' AMPERSAND IS THE * * INTERNAL CONSTANT DESIGNATOR B@CIEX EQU C'E' 2ND CHARACTER IN 'E' B@LIEX EQU 2 LENGTH OF 'E' * B@CIPI EQU C'P' 2ND CHARACTER IN 'PI' B@LIPI EQU 3 LENGTH OF 'PI' * B@CIS2 EQU C'S' 2ND CHARACTER IN 'SQR2' B@LIS2 EQU 5 LENGTH OF 'SQR2' EJECT *********************************************************************** * DATA STATUS AND EXPONENT EQUATES * *********************************************************************** * B@STAT EQU 0 DISP FOR ELEMENT STATUS BYTE B@SEXP EQU 4 DISP FOR SHORT PREC EXPONENT B@LEXP EQU 8 DISP FOR LONG PREC EXPONENT * B@TRAC EQU X'80' TRACE STATUS INDICATOR - * * 0 = NO TRACE, 1 = TRACE B@DTYP EQU X'40' ELEMENT TYPE STATUS INDICATOR - * * 0 = ARITHMETIC, 1 = CHARACTER B@PREC EQU X'20' PRECISION STATUS INDICATOR - * * SHORT PREC, 1 = LONG PREC B@SIGN EQU X'10' SIGN STATUS INDICATOR - * * 0 POSITIVE, 1 = NEGATIVE B@CTYP EQU X'20' CHARACTER STATUS TYPE INDR - * * 0 = ELEMENT, 1 = STRING SEG B@CCNT EQU X'1F' CHARACTER STATUS COUNT MASK * B@ZPOS EQU X'F0' POSITIVE ARITHMETIC ZONE MASK B@ZNEG EQU X'D0' NEGATIVE ARITHMETIC ZONE MASK * B@NXZR EQU 128 ZERO NORMALIZED EXPONENT B@NXLO EQU B@NXZR-98 MINIMUM NORMALIZED EXPONENT B@NXHI EQU B@NXZR+99 MAXIMUM NORMALIZED EXPONENT SPACE *********************************************************************** * SUBROUTINE PARAMETER EQUATES * *********************************************************************** * B@CHAR EQU 0 CURRENT TEXT CHARACTER DISP B@GETS EQU 0 SETS GETC TO GET SAME CHARACTER B@GETC EQU 1 SETS GETC TO GET NEXT CHARACTER B@GETE EQU 255 SETS GETC TO SCAN TO CARR RET EJECT *********************************************************************** * MISCELLANEOUS SYSTEM CONSTANTS * *********************************************************************** * B@BLSZ EQU 256 SYSTEM BLOCK SIZE B@LSDF EQU 4 LENGTH OF SEGMENT DESCRIPTOR * B@LBIN EQU 2 LENGTH OF BINARY INTEGER B@LDMN EQU B@LBIN LENGTH OF BINARY DIMENSION * B@LDIN EQU 4 LENGTH OF DECIMAL INTEGER (MAX) B@LDDM EQU B@LDIN LENGTH OF DEC DIMENSION (MAX) B@LDSN EQU B@LDIN LENGTH OF DEC STMT NO. (MAX) * B@LSNO EQU B@LBIN LENGTH OF BINARY STMT NO. B@LTYP EQU 1 LENGTH OF STATEMENT TYPE COOS B@SDMK EQU X'80' STMT DEACT MASK FOR TYPE CODE * B@NIFN EQU 24 NUMBER OF INTRINSIC FUNCTIONS B@LIFN EQU 3 LENGTH OF INTRINSIC FUNC SYMBOL B@NSKW EQU 4 NO. OF EMBEDDED STMT KEYWORDS B@LSKW EQU 2 LENGTH OF KEYWORD IDENTIFIER B@LUFN EQU 2 LENGTH OF USER FUNC IDENTIFIER * B@NFRT EQU 10 NUMBER OF 'FOR' TABLE ENTRIES B@LFRT EQU 2*@VADDR LENGTH OF 'FOR' TABLE ENTRY B@SFRT EQU B@NFRT*B@LFRT 'FOR' TABLE SIZE (NEST 9 DEEP) * B@NSPT EQU 40 NO. OF STMT PROC TABLE ENTRIES B@LSPT EQU @CADDR+1 LENGTH OF STMT PROC TABLE ENTRY B@PTAB EQU @CADDR-2 DISP FOR PROC ENTRY POINT BASE B@PTAD EQU @CADDR-1 DISP FOR PROC ENTRY POINT DISP B@PTSA EQU B@LSPT-1 DISP FOR PROC PHYS SECTOR ADDR * B@NIVT EQU 87 NO. OF INPUT VER. TBL ENTRIES B@LIVT EQU 1 LENGTH OF INPUT VER. TBL ENTRY * B@LCNA EQU @VADDR+2*B@LDMN COMPILE-TIME NAT ENTRY LENGTH B@LCCA EQU @VADDR+B@LDMN COMPILE-TIME CAT ENTRY LENGTH B@LCFN EQU @VADDR+@VADDR COMPILE-TIME FNT ENTRY LENGTH EJECT *********************************************************************** * FUNCTION AND ARRAY TABLE ELEMENT EQUATES * *********************************************************************** * B@AFLG EQU 0 DOPE VECTOR ARRAY FLAG DISP B@D1MK EQU X'80' ARRAY FLAG DEFINED VECTOR MASK B@D2MK EQU X'C0' ARRAY FLAG DEFINED MATRIX MASK B@DAMK EQU X'80' ARRAY FLAG DEFINED ARRAY MASK * B@ACD1 EQU B@LDMN-1 ARITH ARRAY CURR 1ST DIM DISP B@ACD2 EQU B@ACD1+B@LDMN ARITH ARRAY CURR 2ND DIM DISP B@AMAX EQU B@ACD2+B@LDMN ARITH ARRAY MAXIMUM SIZE DISP B@ABAS EQU B@AMAX+@VADDR ARITH ARRAY BASE VADDR DISP * B@CDMN EQU B@LDMN-1 CHAR ARRAY DIMENSION DISP B@CBAS EQU B@CDMN+@VADDR CHAR ARRAY BASE VADDR D1SP * B@FVAD EQU @VADDR-1 USER FUNC EXPRESSION VADDR DISP EJECT *********************************************************************** * BASIC SYSTEM PARAMETER EQUATES * *********************************************************************** * B@NLTR EQU 29 NO. OF LETTERS IN BASIC ALPHABET B@NDGT EQU 10 NO. OF DECIMAL DIGITS * B@NICN EQU 6 NO. OF INTERNAL CONSTANTS B@NIVR EQU 1 NO. OF INTERNAL VARIABLES B@NIEL EQU B@NICN+B@NIVR NO. OF INTERNAL ELEMENTS B@NLRV EQU B@NLTR NO. OF LETTER VARIABLES B@NLDV EQU B@NDGT*B@NLTR NO. OF LETTER-DIGIT VARIABLES B@NCRV EQU B@NLTR NO. OF CHARACTER VARIABLES B@NAAR EQU B@NLTR NO. OF ARITHMETIC ARRAYS B@NCAR EQU B@NLTR NO. OF CHARACTER ARRAYS B@NUFN EQU B@NLTR NO. OF USER DEFINED FUNCTIONS * B@LISP EQU 5 SHORT PREC INTERNAL LENGTH B@LILP EQU 9 LONG PREC INTERNAL LENGTH B@LESP EQU 8 SHORT PREC EXTERNAL LENGTH B@LELP EQU 16 LONG PREC EXTERNAL LENGTH B@LCRV EQU 19 CHARACTER VARIABLE LENGTH B@LADV EQU 3*B@LDMN+@VADDR ARITHMETIC DOPE VECTOR LENGTH B@LCDV EQU 1*B@LDMN+@VADDR CHARACTER DOPE VECTOR LENGTH B@LFNA EQU @VADDR USER FUNCTION ADDRESS LENGTH B@PROD EQU B@NIEL*B@LISP LENGTH OF INTRNL CON AREA SP 1-4 EJECT *********************************************************************** * VIRTUAL MEMORY ALLOCATION EQUATES * *********************************************************************** * B@SIES EQU B@NIEL*B@LISP SHORT PREC INTNL ELEMT AREA SIZE B@SLVS EQU B@NLRV*B@LISP SHORT PREC LETTER VAR AREA SIZE B@SLDS EQU B@NLDV*B@LISP SHORT PREC LTR-DIG VAR AREA SIZE B@SAVS EQU B@SIES+B@SLVS+B@SLDS SHORT PREC MAX ARITH AREA SIZE * B@SIEL EQU B@NIEL*B@LILP LONG PREC INTNL ELEMT AREA SIZE B@SLVL EQU B@NLRV*B@LILP LONG PREC LETTER VAR AREA SIZE B@SLDL EQU B@NLDV*B@LILP LONG PREC LTR-DIG VAR AREA SIZE B@SAVL EQU B@SIEL+B@SLVL+B@SLDL LONG PREC MAX ARITH AREA SIZE * B@SCRV EQU B@NCRV*B@LCRV CHARACTER VARIABLE AREA SIZE * B@SADV EQU B@NAAR*B@LADV ARITH DOPE VECTOR AREA SIZE B@SCDV EQU B@NCAR*B@LCDV CHAR DOPE VECTOR AREA SIZE B@SFNA EQU B@NUFN*B@LFNA USER FUNC ADDRESS AREA SIZE B@SFAT EQU B@SADV+B@SCDV+B@SFNA FUNC AND ARRAY TABLE AREA SIZE * B@NVPG EQU 256 NO. OF VIRTUAL PAGES B@LVPG EQU 256 LENGTH OF A VIRTUAL PAGE * B@VMC1 EQU @VENTA BEGINNING PAGE FOR PSEUDO CODE B@VMSZ EQU B@NVPG*B@LVPG-256*256 VIRTUAL MEMORY SIZE (MOD 2**16) * B@VMTB EQU B@VMSZ FUNC AND ARRAY BASE VADDR B@VMSB EQU B@VMSZ-B@SAVS-B@SCRV-B@SFAT SHORT PREC VAR BASE VADDR B@VMLB EQU B@VMSZ-B@SAVL-B@SCRV-B@SFAT LONG PREC VAR BASE VADDR EJECT *********************************************************************** * LOADER PARAMETER AREA EQUATES * *********************************************************************** * B@LL01 EQU @VADDR LENGTH AND DISPLACEMENT FOR B@DL01 EQU B@LL01-1 * REGION-1 1ST AVAILABLE VADDR * B@LL02 EQU @VADDR LENGTH AND DISPLACEMENT FOR B@DL02 EQU B@DL01+B@LL02 * 1ST VADDR FOLLOWING REGION-1 * B@LL03 EQU @VADDR LENGTH AND DISPLACEMENT FOR B@DL03 EQU B@DL02+B@LL03 * REGION-2 1ST AVAILABLE VADDR * B@LL04 EQU @VADDR LENGTH AND DISPLACEMENT FOR B@DL04 EQU B@DL03+B@LL04 * 1ST VADDR FOLLOWING REGION-2 * B@LL05 EQU @VADDR LENGTH AND DISPLACEMENT FOR B@DL05 EQU B@DL04+B@LL05 * 1ST INTERNAL CONSTANT VADDR * B@LL06 EQU @VADDR LENGTH AND DISPLACEMENT FOR B@DL06 EQU B@DL05+B@LL06 * 1ST INTERNAL VARIABLE VADDR * B@LL07 EQU B@NLRV*@VADDR LENGTH AND DISPLACEMENT FOR B@DL07 EQU B@DL06+B@LL07 * LETTER VARIABLE SYMBOL TABLE * B@LL08 EQU B@BLSZ LENGTH AND DISPLACEMENT FOR B@DL08 EQU B@DL07+B@LL08 * LETTER-DIG SYMBOL TBL BLOCK 1 * B@LL09 EQU B@BLSZ LENGTH AND DISPLACEMENT FOR B@DL09 EQU B@DL08+B@LL09 * LETTER-DIG SYMBOL TBL BLOCK 2 * B@LL10 EQU B@NLDV*@VADDR-2*B@BLSZ LENGTH AND DISPLACEMENT FOR B@DL10 EQU B@DL09+B@LL10 * LETTER-DIG SYMBOL TBL BLOCK 3 * B@LL11 EQU B@NCRV*@VADDR LENGTH AND DISPLAREMENT FOR B@DL11 EQU B@DL10+B@LL11 * CHARACTER VAR SYMBOL TABLE * B@LL12 EQU B@NAAR*@VADDR LENTH AND DISPLACEMENT FOR B@DL12 EQU B@DL11+B@LL12 * ARITHMETIC ARRAY SYMBOL TABLE * B@LL13 EQU B@NCAR*@VADDR LENGTH AND DISPLACEMENT FOR B@DL13 EQU B@DL12+B@LL13 * CHARACTER ARRAY SYMBOL TABLE * B@LL14 EQU B@NUFN*@VADDR LENGTH AND DISPLACEMENT FOR B@DL14 EQU B@DL13+B@LL14 * USER FUNCTION SYMBOL TABLE * B@LL15 EQU B@BLSZ LENGTH AND DISPLACEMENT FOR B@DL15 EQU B@DL14+B@LL15 * FUNC AND ARRAY TABLE BLOCK 1 * B@LL16 EQU B@SFAT-B@BLSZ LENGTH AND DISPLACEMENT FOR B@DL16 EQU B@DL15+B@LL16 * FUNC AND ARRAY TABLE BLOCK 2 * *********************************************************************** * END OF COMPILER SYSTEM EQUATES CODING * *********************************************************************** .* END OF MACRO; RESTORE PRINT ON. .MEND ANOP PRINT ON MEND // CEND // END * // READER CONSOLE