1: $Id: model,v 1.1 1994/02/11 16:30:46 anton Exp $
2: Copyright 1992 by the ANSI figForth Development Group
4: This file describes the implementation model of ANSI figForth. The things
5: described herein are valid in all implementations of ANSI figForth.
7: The instruction pointer (ip) is post-incremented.
9: Branches are relative:
11: offset: target - offset
13: target: ...
15: The top-of return stack is in memory
17: The top of data stack need not be in memory. Other data stack items
18: are in memory.
20: The stacks grow downward
22: flags are represtented by 0 and -1
24: The loop control parameters are the index on the top of return stack
25: and the limit on the second item.
27: Everything except the virtual machine registers (ip, sp, etc.) is
30: The return address on the return stack occupies one cell.
32: There is a floating point stack
33: The floating point numbers are the same as C's double numbers
35: The error returns of the file word set are FALSE or TRUE. (or should
36: we use errno? Does this work with stdio functions?)
38: No assumptions can be made about the order of fetching the xt of the
39: next word wrt the other operations in a forth word. This makes a
40: difference only if you want to execute code lying on the stack or if
41: you store into the very next word that is executed.