18.10.2013 Views

V4N4 - Complang

V4N4 - Complang

V4N4 - Complang

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!