@X @~
~L3 COUK1247
80
~V7 56 2 -5
~D 10
~H                    MUSS
~
~
~D 10
~H             BSC201
~D 10
~MMANCHESTER UNIVERSITY  -  CONFIDENTIAL
~
~
                                                            ISSUE 11~
~V9 -1
~P
~V9 1
~YBSC201
~S~M~OBASIC IMPLEMENTATION MANUAL
~S~M~OSection 20
~S~OSection 20 Run-Time Configuration Section
~S~O1. General Description
~BThis section contains various implementation-dependent configuration
parameters for the run-time system.  This
section may need modifications for different machines.
~S~O2. Interfaces
~S~O2.1 Section Interfaces Used
~BNone.
~S~O2.2 Section Interface
~T% 20
~
~
Exported Literals:~
~
DATA.SEG.NO~IThe number of the data segment.~
~
DATA.SEG.Z~IThe size of the data segment in bytes.~
~
MAX.I16.DIGS~IThe maximum number of characters permitted in the
representation of an Integer 16 value.~
~
MAX.I32.DIGS~IThe maximum number of characters permitted in the
representation of an Integer 32 value.~
~
NL~INewline character~
~
SP~ISpace character~
~
BYTES.PER.SL~IThe number of bytes in a single length word.~
~
DET.TOL.R32~IA literal indicating the value below which an R32
determinant is considered to be zero.~
~
DET.TOL.R64~IAs above but for R64 values.~
~
DEFAULT.MARGIN~IThe default margin size.~
~
DEFAULT.ZONE.W~IThe default zonewidth size.~
~
IN.BUF.Z~IThe size in bytes of the input buffer of Section 22.~
~
FMT.BUFF.Z~IThe size in bytes of the format buffer of Section 28.~
~
ITEM.BUFF.Z~IThe size in bytes of the output item buffer of Section 23.~
~
CHAN.TAB.Z~IThe size of the Channel Table of Section 27.~
~
PAR.CHAN.Z~IThe size of the Parametric Channel Table of Section 27.~
~
HANDLER.Z~IThe maximum size of the HANDLER.S stack of Section 21.~
~
MAX.R.EXP,~IA group of literals indicating the maximum parameters~
MIN.R.EXP,~Ifor REAL values.~
MAX.R.MANT,~
MIN.R.MAT~
~
R64.INF~IA hexadecimal representation of the largest possible real
value supported by the implementation.~
~Y
~V9 -1
~P
~D 15
~HFLOWCHARTS
~
~
~H                BSC201
~V9 -1
~F
//16
@TITLE BSC20(1,11)
@COL 1S-2R-3R-4R-5F
@FLOW 1-2-3-4-5
@BOX 1.0
CONFIGURATION SECTION
@BOX 2.0
MODULE HEADING
@BOX 3.0
INITIALISATION CODE
@BOX 4.0
LITERAL AND VECTOR
DECLARATIONS
@BOX 5.0
END
@BOX 1.1
:: CONFIGURATION SECTION
@BOX 2.1
MODULE(NL, SP, BYTES.PER.SL, MAX.I16.DIGS, MAX.I32.DIGS,
       ENHANCED.FILES, DATA.SEG.NO, DATA.SEG.Z,CHAN.TAB.Z,
       PW0, PW1, PW2, PW3, PW4, PW5, PW6, PWW1, PWW2,
       DEFAULT.MARGIN, DEFAULT.ZONE.W, DET.TOL.R32, DET.TOL.R64,
       R32.VEC.Z, R64.VEC.Z,PAR.CHAN.Z,I.STK.Z,O.STK.Z,SP.D,DP.D,
       IN.BUF.Z,FMT.BUFF.Z,ITEM.BUFF.Z,MAX.STR.Z,R64.INF,MAX.MARGIN,
       MAX.R.EXP, MIN.R.EXP,HANDLER.Z,MAX.R.MANT,MIN.R.MANT);
@BOX 3.1
@BOX 4.1
*GLOBAL 3;
$AD PW0, PW1, PW2, PW3, PW4, PW5, PW6;
$LO64 PWW1, PWW2;
*GLOBAL 2;
LITERAL / $LO8 NL = %0A, SP = %20;
LITERAL ENHANCED.FILES = 0;
 LITERAL / $RE32 DET.TOL.R32 = 1.0@-10;
 LITERAL / $RE64 DET.TOL.R64 = 1.0@-10;
LITERAL HANDLER.Z = 1024; ::If this is changed,also change
                          :: HANDLER.Z in BSC021
::VAX LITERAL MAX.R.EXP = 39,MIN.R.EXP = -38;
::VAX LITERAL/$RE64 MAX.R.MANT=0.17,MIN.R.MANT=0.1;
::PTV LITERAL MAX.R.EXP = 39, MIN.R.EXP = -38;  ::IS THIS RIGHT
::PTV LITERAL/$RE64 MAX.R.MANT=0.17,MIN.R.MANT=0.1;
::GEM LITERAL MAX.R.EXP = 39, MIN.R.EXP = -38;
::GEM LITERAL/$RE64 MAX.R.MANT=0.17,MIN.R.MANT=0.1;
::MU6 LITERAL MAX.R.EXP = 63, MIN.R.EXP = -64;
::MU6 LITERAL/$RE64 MAX.R.MANT=0.17, MIN.R.MANT=0.1;
 LITERAL R32.VEC.Z = 100;
 LITERAL R64.VEC.Z = 50;
 LITERAL DEFAULT.MARGIN = 80;
 LITERAL DEFAULT.ZONE.W = 20;
::VAX LITERAL BYTES.PER.SL = 4;
::PTV LITERAL BYTES.PER.SL = 2;
::GEM LITERAL BYTES.PER.SL = 2;
::MU6 LITERAL BYTES.PER.SL = 4;
::VAX LITERAL/$LO64 R64.INF = %F(12)7F(3);
::PTV LITERAL/$LO64 R64.INF = %7F(7)
::GEM LITERAL/$LO64 R64.INF = %7F(7)
::MU6 LITERAL/$LO64 R64.INF = %7F(14)
LITERAL MAX.MARGIN = 120;
LITERAL PAR.CHAN.Z = 64;
 LITERAL IN.BUF.Z = 100;
 LITERAL FMT.BUFF.Z = 100;
 LITERAL ITEM.BUFF.Z = 20;
 LITERAL MAX.I16.DIGS = 5;
 LITERAL MAX.I32.DIGS = 10;
LITERAL O.STK.Z = 5;
LITERAL I.STK.Z = 5;
LITERAL SP.D = 6, DP.D = 10;
::VAX LITERAL DATA.SEG.NO = %24;
::VAX LITERAL DATA.SEG.Z = %8000;
::PTV LITERAL DATA.SEG.NO = 23;
::PTV LITERAL DATA.SEG.Z = %7FFF;
::GEM LITERAL DATA.SEG.NO = %24;
::GEM LITERAL DATA.SEG.Z = %7FFF;
::MU6 LITERAL DATA.SEG.NO = 120;
::MU6 LITERAL DATA.SEG.Z = %8000;
 LITERAL CHAN.TAB.Z =  17;
LITERAL MAX.STR.Z = 132;
EXIT;
*GLOBAL 0;
@BOX 5.1
*END
@END

