// DATE 170720 // NOHALT * *** RUN MAINT. * // LOAD $MAINT,F1 // RUN // COPY FROM-READER,TO-F1,RETAIN-R,LIBRARY-S,NAME-$V$E MACRO $V$E &EXP-N .* .* 5703-XM1 S/3 BASIC FIXED VIRTUAL ADDR 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 '$V$EQ - S/3 BASIC PROCESSOR FIXED VIRTUAL ADDR.' *********************************************************************** * INTERPRETER VM-RESIDENT PMC EXECUTION ROTINES VADDR EQUATES * *********************************************************************** * V$IFCI EQU X'1B00' IDIFNC - FUNC CALL, INDIRECT V$ISDN EQU X'1900' IDDVST - STACK DOPE VECTOR V$IFIO EQU X'1A00' IDFILE - FILE INPUT/OUTPUT EJECT *********************************************************************** * INTRINSIC FUNCTION VIRTUAL ADDRESS EQUATES * *********************************************************************** * V$FABS EQU X'1761' ABSOLUTE VALUE FUNCTION V$FINT EQU X'176C' INTEGER VALUE FUNCTION V$FSGN EQU X'17A7' SIGN OF VALUE FUNCTION V$FSQR EQU X'0900' SQUARE ROOT FUNCTION V$FLOG EQU X'0219' LOG (BASE E) FUNCTION V$FLGT EQU X'0200' LOG (BASE 10) FUNCTION V$FLTW EQU X'020B' LOG (BASE 2) FUNCTION V$FEXP EQU X'0500' EXPONENTIAL FUNCTION V$FTAN EQU X'0D28' TANGENT FUNCTION V$FCOT EQU X'0D00' COTANGENT FUNCTION V$FSIN EQU X'0A1A' SINE FUNCTION V$FCOS EQU X'0A00' COSINE FUNCTION V$FSEC EQU X'1700' SECANT FUNCTION V$FCSC EQU X'1725' COSECANT FUNCTION V$FATN EQU X'1100' ARCTANGENT FUNCTION V$FASN EQU X'1413' ARCSINE FUNCTION V$FACS EQU X'1400' ARCCOSINE FUNCTION V$FHTN EQU X'1593' HYPERBOLIC TANGENT FUNCTION V$FHSN EQU X'1557' HYPERBOLIC SINE FUNCTION V$FHCS EQU X'1500' HYPERBOLIC COSINE FUNCTION V$FDEG EQU X'17DA' RAD TO DEG CONVERSION V$FRAD EQU X'17CB' DEG TO RAD CONVERSION V$FRND EQU X'1800' RANDOM NUMBER GENERATOR V$FDET EQU X'4540' DETERMINANT FUNCTION EJECT *********************************************************************** * ARITHMETIC FUNCTION VIRTUAL ADDRESS EQUATES * *********************************************************************** * V$APWR EQU X'0800' POWER OPERATOR ROUTINE SPACE *********************************************************************** * MATRIX ASSIGNMENT FUNCTION VIRTUAL ADDRESS EQUATES * *********************************************************************** * V$MASN EQU X'43A0' MATRIX ASSIGNMENT * V$MADD EQU X'4007' MATRIX ADD V$MSUB EQU X'4000' MATRIX SUBTRACT V$MMPY EQU X'4100' MATRIX MULTIPLY V$MSMY EQU X'4264' MATRIX-SCALAR MULTIPLY * V$MCON EQU X'4324' UNITY MATRIX PUNCTION V$MIDN EQU X'4300' IDENTITY MATRIX FACTION V$MZER EQU X'432B' ZERO MATRIX FUNCTION * V$MTRN EQU X'4400' TRANSPOSITION FUNCTION V$MINV EQU X'4500' INVERSION FUNCTION EJECT *********************************************************************** * INPUT/OUTPUT INTERFACE ROUTINES VIRTUAL ADDRESS EQUATES * *********************************************************************** * V$XSRD EQU X'3300' SCALAR READ V$XSIN EQU X'2B6E' SCALAR INPUT V$XSGT EQU X'2100' SCALAR GET V$XSPT EQU X'1D00' SCALAR INT V$XSPR EQU X'3400' SCALAR PRINT V$XSPU EQU X'3800' SCALAR PRINT USING * V$XMRD EQU X'3E00' MATRIX READ V$XMIN EQU X'3D00' MATRIX INPUT V$XMGT EQU X'3E06' MATRIX GET V$XMPT EQU X'3E0C' MATRIX PUT V$XMPS EQU X'3F00' MATRIX PRINT (SHORT ZONE) V$XMPL EQU X'3F06' MATRIX PRINT (LONG ZONE) V$XMPU EQU X'3F13' MATRIX PRINT USING * V$XKIN EQU X'2B00' INITIATE INPUT V$XKAF EQU X'1C00' ACTIVATE FILE V$SFA2 EQU X'5000' ACTIVATE FILE PART 2 V$XKRS EQU X'240D' RESET FILE 1-3 V$XKCL EQU X'240A' CLOSE FILE 1-3 V$XKCA EQU X'2400' CLOSE ALL FILES V$XKLP EQU X'24AD' CLOSE LINE PRINTER CONFIG. 1-4 SPACE *********************************************************************** * INPUT/OUTPUT SYSTEM ROUTINES VIRTUAL ADDRESS EQUATES * *********************************************************************** * V$SFD1 EQU X'0000' FILE DIRECTORY 1 V$SFD2 EQU X'0100' FILE DIRECTORY 2 * V$SPRT EQU X'2800' VM MATRIX PRINTER IOCR V$SKEY EQU X'2500' VM KEYBOARD IOCR V$SCDI EQU X'2A00' VM CARD INPUT IOCR V$SCDO EQU X'2A96' VM CARD OUTPUT IOCR * V$LPRT EQU X'4D00' LINE PRINTER PAGE 1 V$LPR2 EQU X'4E00' LINE PRINTER PAGE 2 V$LPRB EQU X'4F00' LINE PRINTER BUFFER * V$BFR1 EQU X'5400' GENERAL PURPOSE BUFFER 1 1-4 V$BFR2 EQU X'5500' GENERAL PURPOSE BUFFER 2 1-4 EJECT *********************************************************************** * CONVERSION ROUTINE VIRTUAL ADDRESS EQUATES * *********************************************************************** * V$CFPZ EQU X'0C70' CONV FLOATING TO ZONED DECIMAL V$CZFP EQU X'04AD' CONV ZONED DECIMAL TO FLOATING V$CBNZ EQU X'0CB2' CONV BINARY TO ZONED DECIMAL V$CNXZ EQU X'0470' CONV NORM EXP TO ZONED DECIMAL * V$CDSY EQU X'2E00' GET(CARD) DATA SYNTAX CHECKER V$CDCV EQU X'3100' GET(CARD) DATA CONVERSION RTN * V$CSSR EQU X'5100' SUBSTRING SUBSTRINGING ENTRY 1-4 V$CCON EQU X'5120' SUBSTRING CONCATENATION ENTRY1-4 SPACE *********************************************************************** * EXECUTION-TIME DIAGNOSTIC ROUTINES VIRTUAL ADDRESS EQUATES * *********************************************************************** * V$DTLN EQU X'4600' LINE NO. TRACE ROUTINE V$DTVR EQU X'4700' VARIABLE TRACE ROUTINE SPACE *********************************************************************** * INTERPRETER SPECIAL UTILITY ROUTINES * *********************************************************************** * V$VMPS EQU X'4C00' VIRTUAL MEMORY PUSH ROUTINE V$VMPL EQU X'4C06' VIRTUAL MEMORY PULL ROUTINE SPACE *********************************************************************** * INTERPRETER PATCH AREA * *********************************************************************** * V$PCH1 EQU X'5200' INTERPRETER PATCH PAGE 1 1-4 V$PCH2 EQU X'5300' INTERPRETER PATCH PAGE 2 1-4 EJECT *********************************************************************** * VIRTUAL MEMORY KEYBOARD IOCS CHARACTER TABLE EQUATES * *********************************************************************** * V$KBTS EQU X'0DAC' KEYBOARD TABLE DADDR - STD PREC V$KBTL EQU X'1EAC' KEYBOARD TABLE DADDR - LNG PREC * * IMPORTANT NOTE: THESE EQUATES SPECICY THE RELATIVE PHYSICAL DISK * ADDRESSES OR THE KEYBOARD TABLE SECTORS FOR BOTH STANDARD AND LONG * PRECISION_VIRTUAL MEMORY FUNCTION COMPONENTS IN THE SYSTEM PROGRAM * FILE. DISK ADDRESSES ARE BASED ON THE KEYBOARD TABLE LOCATION IN * VIRTUAL MEMORY PAGE 37, WITH VM PAGE 2 OCCUPYINS THE 1ST SECTOR IN * THE APPROPRIATE PROGRAM FILE REGION. SINCE KEYBOARD TABLES ARE * SUBJECT TO DYNAMIC MODIFICATION AS ALTERNATE FORMATS ARE SPECIFIED * AT 'CONFIGURE' TIME, ANY REARRANGEMENT OF VIRTLAL MEMORY PAGES OR * SYSTEM PROGRAM FILE COMPONENTS WHICH CAUSE A SWIFT IN THE PHYSICAL * LOCATION OF THESE TABLES MUST BE REFLECTED IN CHANGES TO TIE EQUATES. * EJECT *********************************************************************** * VIRTUAL MEMORY SUBROUTINE GROUP DIRECTORY (STANDARD PRECISION) * * * * THE FOLLOWING DIRECTORY ASSOCIATES VIRTUAL MEMORY RESIDENT MODULES * * AND MODULE ENTRY POINTS WITH VM PAGES AND PHYSICAL DISK ADDRESSES - * * MODULE NAMES ARE GIVEN FOR STANDARD PRECISION ONLY; AN EQUIVALENT * * LONG PRECISION DIRECTORY IS OBTAINED BY MODIFYING THE 3RD LETTER IN * * ALL MODULE NAMES FROM 'FSKLOG' THROUGH 'FQSRND' TO 'L' INSTEAD OF * * 'S' (E.G., LONG PRECISION VERSION OF 'FSSSIN' IS 'FSLSIN'). EACH * * MODULE WHOSE NAME CONTAINS A 'B' IN THE 3RD LETTER POSITION IS * * PRECISION INDEPENDENT IN TERMS OR ACTUAL CODING. * *********************************************************************** * V$00E1 EQU V$SFD1 VPAGE 00 DADDR 0700 FILE DIR V$01E1 EQU V$SFD2 VPAGE 01 DADDR 0704 FILE DIR V$02E1 EQU V$FLGT VPAGE 02 DADDR 0708 FKSLOS - V$02E2 EQU V$FLTW VPAGE 02 DADDR 0708 FKSLOG - V$02F3 EQU V$FLOG VPAGE 02 DADDR 0708 FKSLOG - V$03CC EQU X'0300' VPAGE 03 DADDR 070C FKSLOG - V$04CC EQU X'0400' VPAGE 04 DADDR 0710 FKSLOG - V$04E1 EQU V$CNXZ VPAGE 04 DADDR 0710 CENXZD - V$04E2 EQU V$CZFP VPAGE 04 DADDR 0710 CCZDFP - V$05E1 EQU V$FEXP VPAGE 05 DADDR 0714 FGSEXP - V$06CC EQU X'0600' VPAGE 06 DADDR 0718 FGSEXP - V$07CC EQU X'0700' VPAGE 07 DADDR 071C FGSEXP - V$08E1 EQU V$APWR VPAGE 08 DADDR 0720 FNBPWR - V$09E1 EQU V$FSQR VPAGE 09 DADDR 0724 FRSSQR - V$10E1 EQU V$FCOS VPAGE 10 DADDR 072$ FSSSIN - V$10E2 EQU V$FSIN VPAGE 10 DADDR 0728 FSSSIN - V$11CC EQU X'0B00' VPAGE 11 DADDR 0720 FSSSIN - V$12CC EQU X'0C00' VPAGE 12 DADDR 0730 FSSSIN - V$12E1 EQU V$CFPZ VPAGE 12 DADDR 0730 CBRPZD - V$12E2 EQU V$CBNZ VPAGE 12 DADDR 0730 CDBNZD - V$13E1 EQU V$FCOT VPAGE 13 DADDR 0734 FWSTAN - V$13E2 EQU V$FTAN VPAGE 13 DADDR 0734 FWSTAN - V$14CC EQU X'0E00' VPAGE 14 DADDR 0738 FWSTAN - V$15CC EQU X'0F00' VPAGE 15 DADDR 073C FWSTAN - V$16CC EQU X'1000' VPAGE 16 DADDR 0740 FWSTAN - V$17E1 EQU V$FATN VPAGE 17 DADDR 0744 FBSATN - V$18CC EQU X'1200' VPAGE 18 DADDR 0748 FBSATN - V$19CC EQU X'1300' VPAGE 19 DADDR 074C FBSATN - V$20E1 EQU V$FACS VPAGE 20 DADDR 0750 FCSASN - V$20E2 EQU V$FASN VPAGE 20 DADDR 0790 FCSASN - V$21E1 EQU V$FHCS VPAGE 21 DADDR 0754 FHSHFN - V$21E2 EQU V$FHSN VPAGE 21 DADDR 0754 FHSHFN - V$21E3 EQU V$FHTN VPAGE 21 DADDR 0794 FHSHFN - V$22CC EQU X'1600' VPAGE 22 DADDR 0758 FHSHFN - V$23E1 EQU V$FSEC VPAGE 23 DADDR 075C FTSSEC - V$23E2 EQU V$FCSC VPAGE 23 DADDR 075C FTSSEC - V$23E3 EQU V$FABS VPAGE 23 DADDR 075C FABABS - V$23E4 EQU V$FINT VPAGE 23 DADDR 075C FJBINT - V$23E5 EQU V$FSGN VPAGE 23 DADDR 075C FUBSGN - V$23E6 EQU V$FRAD VPAGE 23 DADDR 075C FPBRAD - V$23E7 EQU V$FDEG VPAGE 23 DADDR 675C FPBRAD - V$24E1 EQU V$FRND VPAGE 24 DADDR 0780 FQSRND - V$25E1 EQU V$ISDN VPAGE 25 DADDR 0784 IDDVST - * V$26E1 EQU V$IFIO VPAGE 26 DADDR 0788 IDFILE - V$27E1 EQU V$IFCI VPAGE 27 DADDR 078C IDIFNC - V$28E1 EQU V$XKAF VPAGE 28 DADDR 0790 SFADFR - V$29E1 EQU V$XSPT VPAGE 29 DADDR 0794 SFPUTR - V$30CC EQU X'1E00' VPAGE 30 DADDR 0798 SFPUTR - V$31CC EQU X'1F00' VPAGE 31 DADDR 0790 SFPUTR - V$32CC EQU X'2000' VPAGE 32 DADDR 07A0 SFPUTR - V$33E1 EQU V$XSGT VPAGE 33 DADDR 07A4 SFGETR - V$34CC EQU X'2200' VPAGE 34 DADDR 07A8 SFGETR - V$35CC EQU X'2300' VPAGE 35 DADDR 07AC SFRSET - V$36E1 EQU V$XKCA VPAGE 36 DADDR 07B0 SFRSET - V$36E2 EQU V$XKCL VPAGE 36 DADDR 07B0 SFRSET - V$36E3 EQU V$XKRS VPAGE 36 DADDR 07B0 SFRSET - V$36CC EQU X'2400' VPAGE 36 DADDR 07B0 SFRSET - V$37E1 EQU V$SKEY VPAGE 37 DADDR 07B4 SFGETR - V$38CC EQU X'2600' VPAGE 38 DADDR 07B8 DFKEYN - V$39CC EQU X'2700' VPAGE 39 DADDR 07BC DFKEYN - V$40E1 EQU V$SPRT VPAGE 40 DADDR 07C0 DFPRNT - V$41CC EQU X'2900' VPAGE 41 DADDR 07C4 DFPRNT - V$42E1 EQU V$SCDI VPAGE 42 DADDR 07C8 DFRDIN - V$42E2 EQU V$SCDO VPAGE 42 DADDR 07C8 DFCOUT - V$43E1 EQU V$XKIN VPAGE 43 DADDR 07CC FZXINP - V$43E2 EQU V$XSIN VPAGE 43 DADDR 07CC FZXINP - V$44CC EQU X'2C00' VPAGE 44 DADDR 07D0 FZXINP - V$45CC EQU X'2D00' VPAGE 45 DADDR 07D4 FZXINP - V$46E1 EQU V$CDSY VPAGE 46 DADDR 07D8 FZXINP - V$47CC EQU X'2F00' VPAGE 47 DADDR 07DC FZXINP - V$48CC EQU X'3000' VPAGE 48 DADDR 0701 FZXINP - V$49E1 EQU V$CDCV VPAGE 49 DADDR 0705 FZXINP - V$50CC EQU X'3200' VPAGE 50 DADDR 0709 FZXINP - V$51E1 EQU V$XSRD VPAGE 51 DADDR 070D FZREAD - V$52E1 EQU V$XSPR VPAGE 52 DADDR 0711 FZSPRT - V$53CC EQU X'3500' VPAGE 53 DADDR 0715 FZSPRT - V$54CC EQU X'3600' VPAGE 54 DADDR 0719 FZSPRT - V$55CC EQU X'3700' VPAGE 59 DADDR 071D FZSPRT - V$56E1 EQU V$XSPU VPAGE 56 DADDR 0721 FZUPRT - V$57CC EQU X'3900' VPAGE 57 DADDR 0725 FZUPRT - V$58CC EQU X'3A00' VPAGE 58 DADDR 0725 FZUPRT - V$59CC EQU X'3B00' VPAGE 59 DADDR 072D FZUPRT - V$60CC EQU X'3C00' VPAGE 60 DADDR 0731 FZUPRT - V$61E1 EQU V$XMIN VPAGE 61 DADDR 0735 FZDMIP - V$62E1 EQU V$XMRD VPAGE 62 DADDR 0739 FZAMIO - V$62E2 EQU V$XMGT VPAGE 62 DADDR 0739 FZAMIO - V$62E3 EQU V$XMPT VPAGE 62 DADDR 0739 FZAMIO - V$63E1 EQU V$XMPS VPAGE 63 DADDR 073D FZCMPR - V$63E2 EQU V$XMPL VPAGE 63 DADDR 073D FZCMPR - V$63E3 EQU V$XMPU VPAGE 63 DADDR 073D FZCMPR - V$64E1 EQU V$MSUB VPAGE 64 DADDR 0741 FEBMAD - V$64E2 EQU V$MADD VPAGE 64 DADDR 0741 FEBMAD - V$65E1 EQU V$MMPY VPAGE 65 DADDR 0749 FMBMPY - V$66CC EQU X'4200' VPAGE 66 DADDR 0749 FMBMPY - V$66E1 EQU V$MSMY VPAGE 66 DADDR 0749 FYBSMM - V$67E1 EQU V$MIDN VPAGE 67 DADDR 074D FZBSET - V$67E2 EQU V$MCON VPAGE 67 DADDR 074D FZBSET - V$67E3 EQU V$MZER VPAGE 67 DADDR 074D FZBSET - V$67E4 EQU V$MASN VPAGE 67 DADDR 074D FLBMAS - * V$68E1 EQU V$MTRN VPAGE 68 DADDR 0751 FYBTRN - V$69E1 EQU V$MINV VPAGE 69 DADDR 0755 FVBINV - V$69E2 EQU V$FDET VPAGE 69 DADDR 0755 FVBINV - V$70E1 EQU V$DTLN VPAGE 70 DADDR 0759 FZLINT - V$71E1 EQU V$DTVR VPAGE 71 DADDR 075D FZVART - V$72CC EQU X'4800' VPAGE 72 DADDR 0781 FZVART - V$73CC EQU X'4900' VPAGE 73 DADDR 0785 FZVART - V$74CC EQU X'4A00' VPAGE 74 DADDR 0789 FZVART - V$75CC EQU X'4B00' VPAGE 75 DADDR 078D FZVART - V$76E1 EQU V$VMPS VPAGE 76 DADDR 0791 FZZVMP - V$76E2 EQU V$VMPL VPAGE 76 DADDR 0791 FZZVMP - V$77CC EQU V$LPRT VPAGE 77 DADDR 0795 V$78CC EQU V$LPR2 VPAGE 78 DADDR 0799 V$79CC EQU V$LPRB VPAGE 79 DADDR 079D V$80E1 EQU V$SFA2 VPAGE 80 DADDR 07A1 V$81E2 EQU V$CSSR VPAGE 81 DADDR 07A5 SUBSTR 1-4 V$81E3 EQU V$CCON VPAGE 81 DADDR 07A5 SUBSTR 1-4 V$82E1 EQU V$PCH1 VPAGE 82 DADDR 07A9 PATCH1 1-4 V$83E2 EQU V$PCH2 VPAGE 83 DADDR 07AD PATCH2 1-4 V$84E1 EQU V$BFR1 VPAGE 84 DADDR 07B1 GENRL1 1-4 V$85E2 EQU V$BFR2 VPAGE 89 DADDR 07B5 GENRL2 1-4 * *********************************************************************** * * END OF FIXED VIRTUAL ADDRESS CODING * EJECT V@COEX EQU X'1E' EXPONENT FOR ZERO V@MICC EQU 16 MAXIMUM NUMERIC INPUT COUNT V@CMNI EQU X'FF' MINUS ONE V@CNIX EQU X'80' NORMALIZED EXPONENT BASE VALUE V@CDPT EQU 7 DEFAULT POINT SPECIFICATION V@CMIC EQU 2 MINIMUM NUMERIC INPUT CHAR COUNT V@ERPC EQU X'20' EDIT REPLACEMENT CHAR V@CPLS EQU X'F0' ZONE BITS FOR POSITIVE SIGN V@EART EQU X'01' ARITHMETIC ERROR INDICATOR V@CPRC EQU 10 NUMBER OF PROCEDURES V@CTTA EQU 39 TAB TO CHAR COUNT FOR OUTPUT * * MODE INDICATORS * V@MSTN EQU B'00000100' NORMAL INPUT MODE V@MPRC EQU B'00100000' PROCEDURE BEING RUN V@MEXC EQU B'10000000' PROC BEING RUN AND LISTED V@MLST EQU B'01000000' PROC BEING LISTED V@MCRD EQU B'00010000' PROC BEING DEFINED FROM CARDS V@MDEF EQU B'00001000' PROC BEING DEFINED ROM KEYBOARD V@MSFU EQU B'00000010' STATISTICAL FUNCTION * * DISPLACEMENT EQUATES * PROCEDURE TABLE * V@DPDF EQU 2 DEFINED INDICATOR V@DSAD EQU 1 START ADDR BYTE TWO * * INPUT TABLE * V@DCAD EQU @CADDR CORE ADDR OF INPUT TABLE ENTRY V@DVAD EQU V@DCAD+@VADDR VIRTUAL ADDR OF INPUT TABLE * * DISPLACEMENTS FROM 1ST BYTE OF REGISTER * V@DEXP EQU 0 DISP TO EXPONENT V@DMN1 EQU 1 DISP TO FIRST MANISSA CHARACTER V@DMAN EQU 13 RIGHT BYTE OF MANTISSA V@DSGN EQU V@DMAN SIGN BYTE * * MASKS * V@MCHS EQU B'11000000' CHANGE SIGN BITS ALWAYS ON V@MIPC EQU X'80' PERIOD INDICATOR V@PEOF EQU B'00000010' EOF INDR MASK V@MEXT EQU B'00000100' EXIT INDR MASK V@MPOF EQU X'80' PRINTER FUNCTION SUPPRESSED V@PSQ2 EQU B'00010100' BRANCM TRUE AND NOT HIGN Q CODE V@MPND EQU 0 PROC UNDEFINED V@MIPL EQU X'20' INIT PROC LENGTH INDICATOR * * LENGTHS * V@LEXP EQU 1 LENGTH OF EXPONENT V@LMAN EQU 15 LENGTH OF MANTISSA V@LLKS EQU V@LEXP+V@LMAN LENGTH OF FLOATING POINT REG V@LAIP EQU 3 ALPHA INPUT TABLE CHAR COUNT V@LTBE EQU V@LAIP+@CADDR+@VADDR INPUT TABLE ENTRY LENGTH V@LFKO EQU 6 FUNCTION KEY OUTPUT LENGTH V@LDEX EQU 2 LENGTH OF DECIMAL EXPONENT V@LNOP EQU 21 NUMERIC OUTPUT LENGTH V@LVPG EQU 256 LENGTH OF VIRTUAL PAGE V@LINI EQU V@LVPG*2 MAXIMUM PROC LENGTH V@LETE EQU 3 LENGTH OF ERROR TABLE ENTRY * * OUTPUT INDICATOR MASKS * V@ONUL EQU X'F0' NO ACTION INDR V@ORTN EQU V@ONUL+1 CARRIER RETURN INDR V@OPM1 EQU V@ORTN+1 ACCUMULATOR ONLY V@OSTK EQU V@OPM1+1 ALL PM REGS V@OALL EQU V@OSTK+1 ALL REGS * * ERROR CODES * V@ENUL EQU 0 NULL ERROR CODE V@EINV EQU @@E910 INVALID OPERATION V@EIPR EQU @@E900 INVALID PROC STEP V@ENSV EQU @@E902 PROC NOT SAVID V@ESAV EQU @@E901 PROC ALREADY SAVED V@EFUL EQU @@E903 SAVE AREA ,ULL V@ECRT EQU @@E241 * * KEYBOARD KEYS * V@KEPL EQU C',' ENTER PLUS V@KEMN EQU C'%' ENTER MINUS V@KSQR EQU C'?' SQUARE ROOT V@KCLE EQU C'>' CLEAR V@KSTO EQU C'_' STORE V@KPST EQU C'#' PROGRAM START V@KADD EQU C'+' ADD V@KSUB EQU C'-' SUBTRACT V@KMUL EQU C'*' MULTIPLY V@KDIV EQU C'/' DIVIDE V@KPWR EQU @UPARW EXPONENCIATE V@KPER EQU C'.' DECIMAL POINT * * KEYBOARD DATA BYTE MASKS FOR SELECTED KEYS * V@FPGS EQU X'81' PROGRAM START V@FEPL EQU X'91' ENTER PLUS V@FSPC EQU X'40' SPACE BAR V@FRET EQU X'15' CARRIER RETURN V@FERS EQU X'03' ERASE V@FEHN EQU X'02' ENTER MINUS V@FTAB EQU 0 TAB AND BACK SPACE V@CSQR EQU 3 SQUARE ROOT V@CSTR EQU 2 STORE V@CHGH EQU 8 HIGHEST ALLOWABLE COMMAND KEY V@CMUL EQU 7 MULTIPLY SPACE @SYLVL EQU 5 SYSTEM LEVEL NUMBER 1-5 * *********************************************************************** * END OF VIRTUAL STORAGE EQUATES * *********************************************************************** .* END OF MACRO; RESTORE PRINT ON. .MEND ANOP PRINT ON MEND // CEND // END * // READER CONSOLE