// DATE 020122 // NOHALT * *** RUN MAINT. * // LOAD $MAINT,F1 // RUN // COPY FROM-READER,TO-F1,RETAIN-R,LIBRARY-S,NAME-$I@E MACRO $I@E &EXP-N,&PREC-S .* .* 5703-XM1 S/3 BASIC INTERPRETER SHORT/LONG PREC. 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 '$I@EQ - S/3 BASIC INTERPRETER SHORT/LONG PREC. EQUATES' *********************************************************************** * STANDARD PRECISION DATA ELEMENT EQUATES * *********************************************************************** * I@PRCS EQU 7 FLOATING POINT PRECISION I@APRS EQU 6 APPARENT FLT PT PRECISION * I@LPFS EQU 5 PACKED FLT PT ELEMENT LENGTH I@LUFS EQU I@PRCS+1 UNPACKED FLT PT ELEMENT LENGTH * I@PMRS EQU I@LPFS-2 PACKED MANTISSA RH BYTE DISP I@PEXS EQU I@LPFS-1 PACKED FLT PT EXPONENT DISP I@UMRS EQU I@LUFS-1 UNPACKED MANTISSA RH BYTE DISP I@SGNS EQU I@UMRS UNPACKED FLT PT SIGN BYTE DISP * I@SPSW EQU @UCB STANDARD PREC SWITCH SETTING I@ASTS EQU X'00' ARITHMETIC ELEMENT STATUS INDR * I@ICBS EQU X'F500' INTERNAL CONSTANT BASE VADDR I@IVBS EQU X'F531' INTERNAL VARIABLE BASE VADDR * *********************************************************************** EJECT *********************************************************************** * LONG PRECISION DATA ELEMENT EQUATES * *********************************************************************** * I@PRCL EQU 15 FLOATING POINT PRECISION I@APRL EQU 11 APPARENT FLT PT PRECISION * I@LPFL EQU 9 PACKED FLT PT ELEMENT LENGTH I@LUFL EQU I@PRCL+1 UNPACKED FLT PT ELEMENT LENGTH * I@PMRL EQU I@LPFL-2 PACKED MANTISSA RH BYTE DISP I@PEXL EQU I@LPFL-1 PACKED FLT PT EXPONENT DISP I@UMRL EQU I@LUFL-1 UNPACKED MANTISSA RH BYTE DISP I@SGNL EQU I@UMRL UNPACKED FLT PT SIGN BYTE DISP * I@LPSW EQU @NOP LONG PRECISION SWITCH SETTING I@ASTL EQU X'20' ARITHMETIC ELEMENT STATUS INDR * I@ICBL EQU X'F000' INTERNAL CONSTANT BASE VADDR I@IVBL EQU X'F049' INTERNAL VARIABLE BASE VADDR * *********************************************************************** .* SELECT STANDARD OR LONG PRECISION AIF (&PREC EQ 'S').STND STANDARD PRECISION AIF (&PREC EQ 'L').LONG LONG PRECISION .ERR2 MNOTE 00,'INVALID MACRO OPTION SPECIFIED.' AGO .MEND .* .STND ANOP EJECT *********************************************************************** * -CURRENT- PRECISION DATA ELEMENT EQUATES (STANDARD) * *********************************************************************** * I@PREC EQU I@PRCS FLOATING POINT PRECISION I@APRC EQU I@APRS APPARENT FLT PT PRECISION * I@LPFV EQU I@LPFS PACKED FLT PT ELEMENT LENGTH I@LUFV EQU I@LUFS UNPACKED FLT PT ELEMENT LENGTH I@LSFV EQU I@LUFV-1 SPECIAL UNPACKED FLT PT LENGTH * I@PMNR EQU I@PMRS PACKED MANTISSA RH BYTE DISP I@PEXP EQU I@PEXS PACKED FLT PT EXPONENT DISP I@UMNR EQU I@UMRS UNPACKED MANTISSA RH BYTE DISP I@SIGN EQU I@SGNS UNPACKED FLT PT SIGN BYTE DISP * I@PRSW EQU I@SPSW CURRENT PREC SWITCH SETTING I@ASTA EQU I@ASTS ARITHMETIC ELEMENT STATUS INDR * I@ICBA EQU I@ICBS INTERNAL CONSTANT BASE VADDR I@IVBA EQU I@IVBS INTERNAL VARIABLE BASE VADDR * *********************************************************************** AGO .MCONT CONTINUE .* .LONG ANOP EJECT *********************************************************************** * -CURRENT- PRECISION DATA ELEMENT EQUATES (LONG) * *********************************************************************** * I@PREC EQU I@PRCL FLOATING POINT PRECISION I@APRC EQU I@APRL APPARENT FLT PT PRECISION * I@LPFV EQU I@LPFL PACKED FLT PT ELEMENT LENGTH I@LUFV EQU I@LUFL UNPACKED FLT PT ELEMENT LENGTH I@LSFV EQU I@LUFV-1 SPECIAL UNPACKED FLT PT LENGTH * I@PMNR EQU I@PMRL PACKED MANTISSA RH BYTE DISP I@PEXP EQU I@PEXL PACKED FLT PT EXPONENT DISP I@UMNR EQU I@UMRL UNPACKED MANTISSA RH BYTE DISP I@SIGN EQU I@SGNL UNPACKED FLT PT SIGN BYTE DISP * I@PRSW EQU I@LPSW CURRENT PREC SWITCH SETTING I@ASTA EQU I@ASTL ARITHMETIC ELEMENT STATUS INDR * I@ICBA EQU I@ICBL INTERNAL CONSTANT BASE VADDR I@IVBA EQU I@IVBL INTERNAL VARIABLE BASE VADDR * *********************************************************************** .* .MCONT ANOP EJECT *********************************************************************** * PRECISION INDEPENDENT DATA ELEMENT EQUATES * *********************************************************************** * I@STAT EQU 0 DATA ELEMENT STATUS BYTE DISP * I@UEXP EQU 0 UNPACKED FLT PT EXPONENT DISP I@PMN1 EQU 0 PACKED MANTISSA 1ST BYTE DISP I@UMN1 EQU 1 UNPACKED MANTISSA 1ST BYTE DISP * I@LCRF EQU 18 CHARACTER ELEMENT FIELD LENGTH I@LCRV EQU I@LCRF+1 CHARACTER ELEMENT TOTAL LENGTH * *********************************************************************** EJECT *********************************************************************** * ARITHMETIC FUNCTION REFERENCE EQUATES * *********************************************************************** * I@1SE1 EQU 0 1ST BYTE OF STACK ELEMENT 1 I@RSE1 EQU I@1SE1+I@LUFV-1 LAST BYTE OF STACK ELEMENT 1 * I@1SE2 EQU I@1SE1+I@LUFV 1ST BITE OF STACK ELEMENT 2 I@RSE2 EQU I@1SE2+I@LUFV-1 LAST BYTE OF STACK ELEMENT 2 * I@1SE3 EQU I@1SE2+I@LUFV 1ST BYTE OF STACK ELEMENT 3 I@RSE3 EQU I@1SE3+I@LUFV-1 LAST BYTE OF STACK ELEMENT 3 * I@DEXP EQU I@UEXP FLOATING VALUE EXPONENT DISP I@MANL EQU I@UMN1 LEFTMOST BYTE OF MANTISSA I@MANR EQU I@UMNR RIGHTMOST BYTE OF MANTISSA * *********************************************************************** EJECT *********************************************************************** * PSEUDO INSTRUCTION COMPONENT EQUATES * *********************************************************************** * I@XOPC EQU 0 DISP FOR INSTRUCTION OPCODE I@XLNO EQU I@XOPC+2 DISP FOR STATEMENT NO. OPERAND I@XVAD EQU I@XOPC+2 DISP FOR VIRTUAL ADDR OPERAND I@XCNT EQU I@XOPC+1 DISP FOR INST EXECUTION COUNT I@XCOD EQU I@XOPC+1 DISP FOR INST EXECUTION CODE I@XBRC EQU I@XOPC+3 DISP FOR BRANCH CONDITION CODE * *********************************************************************** * COMPARE CONDITION STATUS CODE EQUATES * *********************************************************************** * I@CMLO EQU X'02' COMPARE CONDITION - LOW I@CMEQ EQU X'04' COMPARE CONDITION - EQUAL I@CMHI EQU X'08' COMPARE CONDITION - HIGH * *********************************************************************** EJECT *********************************************************************** * RUN-TIME STACK ELEMENT EQUATES * *********************************************************************** * I@SVAD EQU 1 DISP FOR STACKED VIRTUAL ADDR I@SCOD EQU 0 DISP FOR STACKED EXECUTION CODE I@SIDX EQU 1 DISP FOR STACKED INDEX VALUE * *********************************************************************** * VIRTUAL MEMORY CORE PAGE REGION EQUATES * *********************************************************************** * I@PRTE EQU 0 DISP FOR PAGE REF TABLE ENTRY * I@NXPT EQU 3 NO. OF EXPANDABLE PAGING TABLES I@NXPG EQU 32 NO. OF EXPANSION PAGES (MAX) I@LXPT EQU I@NXPT*I@NXPG LENGTH OF MAX TABLE EXPANSION * I@NCPG EQU 10 NO. OF 8K SYSTEM PAGES (MAX) * *********************************************************************** * MISCELLANEOUS EXECUTION EQUATES * *********************************************************************** * I@LPPZ EQU 3 LENGTH OR PACKED PRINT ZONE I@LFPZ EQU 18 LENGTH OF FULL PRINT ZONE * I@NERR EQU 0 NULL EXECUTION ERROR CODE * *********************************************************************** * * END OF EXECUTION SYSTEM EQUATES CODING * .* END OF MACRO; RESTORE PRINT ON. .MEND ANOP PRINT ON MEND // CEND // END * // READER CONSOLE