NOTES ON THE BASIC-E LANGUAGE (MS DOS)
This compiler is a public domain piece of software written by
Gordon Eubanks, Jr., who developed it as part of his PhD
dissertation at the Naval Postgraduate School. It is one of the
first high level languages available for microcomputers. It is
the predecessor of CBASIC2, which is widely used for business
BASIC-E is much more limited than CBASIC2, but it is available at
very low cost or for free because it is in the public domain.
Despite its restrictions it is a useful language, and it usually
runs faster than CBASIC2. It was used for many of the early
games for computers with the CP/M operating system.
The following statements are valid in BASIC-E:
FOR, NEXT, FILE, CLOSE, GOSUB, GOTO, INPUT, LET, ON, PRINT, READ,
RESTORE, RETURN, RANDOMIZE, OUT,STOP, DATA, DEF, DIM, END, IF,
REM, ELSE, THEN
The following built-in functions are valid in BASIC-E:
ABS, ASC, ATN, CHR$, COS, COSH, FRE, INP, INT, LEFT$, LEN, MID$,
POS, RIGHT$, RND, SGN, SIN, SINH, STR$, SQR, TAB, VAL, EXP
The following logical connectives are available:
AND, EQ, GE, GT, LE, LT, NE, NOT, OR, XOR, <, >, =, <=, =>, <>
There are 26 compiler error messages and 23 run-time error
messages, all of two characters each.
Disk files may be read, written, or updated by the BASIC-E
program using both sequential and random access. There are
blocked and unblocked files. The program can select any disk
available to CP/M (MS DOS).
The statements associated with disk operations are FILE, CLOSE,
PRINT, READ, and IF END.
Using the BASIC-E compiler consists of three main steps:
1) The programmer creates the source program (FILENAME.BAS)
on disk using an editor.
2) The source is compiled by the compiler (EBAS), which
produces an intermediate file (FILENAME.INT).
3) The intermediate file is then run by the run-time monitor
Line numbers need only be used on statements to which control is
passed, and do not have to be in ascending order. Using
identifiers longer then two characters and indenting statements
toenhance readability does not affect the size of the
intermediatefile created by the compiler. The first 31 characters
of identifiers are used by the compiler.
BASIC-E numbers are always floating point numbers. There is no
integer type of number, although integers can be expressed as
floating point numbers.
BASIC-E does not have the following functions:
PRINT USING, PEEK, POKE, CALL to machine-code routines.
BASIC-E is not a "true" compiler, in that it does not produce
executable machine code. It produces an intermediate module that
is executed by the run-time interpreter.
BASIC-E inherently outputs only to a disk file or to the console.
You may output to a device other than the console, such as a line
printer, in one of two ways:
1) You can enter a control-P on the console keyboard before
running the interpreter. Then all console output will be
echoed to the list device.
2) You can use the OUT and IN statements in the program for
direct I/O if your computer does not use memory mapped
I/O. This will reduce transportability of the program.
Compiler option toggles may appear in the first line of the
program or in the DOS command line. Options are
activated by a dollar sign. Options available are:
A List productions for compiler debugging. default= off
B List only source statements with errors. default= off
C Do not create INT file; only check syntax. default= off
D Convert lower case to upper case. default= on
E Generate line number code. default= off
Here is an example of a command line with compiler options:
EBAS TEST $BC
This would compile the file TEST.BAS using options B and C.
Many CBASIC programs are available and will compile with minor
modifications. (eg. Eliminate LPRINTER , integers, etc.)
Files about BASIC-E on this disk are:
EBASDES.WS Description-- this document.
EBASMAN.WS BASIC-E Reference Manual.
EBAS.COM Compiler. Called BASIC in the manual.
ERUN.COM Run-time monitor. Call RUN in the
The manual and most of these notes were copied from a manual
apparently published by Tarbell Electronics. I could see no
copyright notice on the manual so I presume that copying it is
legal. Tarbell apparently sells a 40-page manual and the
programs for a nominal fee. They also will sell the source
listing, which is written mostly in PL/M. I didn't have the time
or patience to copy the source listings onto diskette.
Prairie Village, Ks.