V4N4 - Complang
V4N4 - Complang
V4N4 - Complang
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
ROMeble FORTH (continued from page 13)<br />
in Figure 6. After assembling the code<br />
for the interrupt service routines INT.0<br />
through INT.7, an ACSEG directive is us-<br />
ed to set the absolute compile pointer<br />
to JBASE. The active ROM segment in-<br />
dex is saved on the stack. Next the ac-<br />
tual jump table is assembled, starting<br />
at the address of JBASE. Finally, the<br />
CSEG directive restores the previously<br />
active ROM segment.<br />
HERE, ALLOT, etc.<br />
In traditional monolithic FORTH<br />
implementations, the word HERE pro-<br />
vides the next available dictionary ad-<br />
dress (usually the contents of a variable<br />
called DP). In proFORTH'", the word<br />
HERE provides the next available ad-<br />
dress in the active ROM segment. For<br />
CSEG=O, this defaults to the active<br />
dictionary segment. Similarly, the<br />
word ALLOT allocates space in the<br />
active ROM segment (or dictionary if<br />
CSEG=o). In addition to HERE, pro-<br />
3.<br />
4.<br />
FORTH'" provides the word VHERE to<br />
obtain the next available address in the<br />
active RAM segment. If VSEG=O,<br />
VHERE provides the next available<br />
address in the active dictionary just as<br />
for HERE. Therefore, in its default mode<br />
proFORTH'" remains completely<br />
compatible with traditional FORTH,<br />
but broadens in a consistently logical<br />
way as segment control directives are<br />
issued. This enables the user to have<br />
complete control over where the compiler<br />
stores each component of every<br />
definition.<br />
Conclusion<br />
It is not possible, in an article of this<br />
size, to even introduce all of the compilation<br />
control mechanisms available<br />
in proFORTH'". For example, we<br />
have not discussed the subjects of<br />
multiple dictionaries, extensions,<br />
selective uurging of names, split system<br />
definitions, etc. Insofar as ROM-<br />
INTRODUCING P-FORTH PUTTING P-FORTH TO WORK:<br />
able code compilation is concerned,<br />
the principles discussed above apply to<br />
all of these areas even though imple-<br />
mentation details are often complex.<br />
proFORTH'" logically extends and<br />
broadens the meaning of the tradi-<br />
tional FORTH words such as HERE and<br />
ALLOT, so that the programmer is given<br />
complete control over compilation<br />
memory assignments. This is accom-<br />
plished without giving up the tra-<br />
ditional behavior of a monolithic<br />
dictionary system if the user wishes to<br />
program in that environment.<br />
CODE 1m.0 ... RET, EkJD-CoDE<br />
CODE Im.l ... RET, END-CoDE<br />
CODE I"C.7 ... RET, CNbCom<br />
JBAfE ACSEG<br />
INT.o JMP, I 1m.1 J ~P, ... 1m.7 JMP.<br />
CSEG<br />
FIGURE 6 - DUCIPLI: OF ABSOLUTE EQIPIIATIOW<br />
SOFTWARE<br />
The P-FORTH Card is the key users interactively develop An interactive high-level<br />
member in a family of control applications through a combi- language following the<br />
systems cards offered by the nation of hardware and software. fig-FORTH model<br />
innovators at Peopleware These applications are automatic- A monitor for system checkout<br />
Systems, Inc. P-FORTH has four ally programmed into nonmajor<br />
advantages:<br />
volatile memory (EEROM). When "FORTH-type" Screen editor for<br />
the applications are proven and d p ~ ~ ~ application ~ ~ : g<br />
1. It is a versatile building block. functioning, a single switch<br />
The simple addition of a transforms the system from the A iiFoRTH-type" assembler for<br />
power supply and terminal developmental mode into the writing assembly language<br />
makes the P-FORTH card both a target system.<br />
routines<br />
low cost development system<br />
as well as a target system.<br />
High-level interrupt-linkage<br />
High-level communications<br />
2. An integrated high-level<br />
protocol for down loading from<br />
interactive language allows for<br />
a host system.<br />
fast software develoDment.<br />
HARDWARE<br />
Application programs are<br />
stored automatically in non-<br />
volatile memory.<br />
The STD BUS interface allows<br />
the use of a variety of existing<br />
P~OPL~WRRE JYJTEMJ INC.<br />
5190 west 76th St.<br />
MplS., MN 55435 USA<br />
peripheral cards. (612)831-0827 TWX 910-576-1735<br />
FORTH Dimensions 14<br />
6801 microprocessor<br />
6K EEROM<br />
8~ FORTH firmware<br />
2K RAM<br />
STD BUS interface<br />
RS232 serial I/O<br />
16 TTL I/O lines<br />
Programmable timer<br />
Volume IV. No. 4<br />
%.<br />
i