[OpenBIOS] Re: How primitive words are getting called?

Stefan Reinauer stepan at openbios.org
Fri Sep 24 16:49:24 CEST 2004


* Swamy at soc-soft.com <Swamy at soc-soft.com> [040924 14:52]:
> I am unable to understand how the forth words are called? The
> definitions for forth words are maintained in "char *wordnames[]" of
> "/kernel/bootstrap.c" and in "/kernel/primitive.c" all the functions for
> primitive words are defined.
> 
> When we say "dup" what will be the s/w flow? Please let me know how
> these two files are interconnected.

It is really simple:

The forth outer interpreter will look up the execution token (xt) of the 
word "dup" and "execute" the xt. 

Execute will look at the code field address, which could be seen as the
type description of the word. It is an index to the words[] array.
processxt() will execute the native code. 

But actually you don't have to know this either to port OpenBIOS to a
new platform, or to enhance the system in any way. What are you exactly
working on? This makes me very curious.

Can you maybe provide some writeup of the things you are learning here?
It seems to me that many people who are trying to look into the code 
have your questions. 

> Please give me some input with regard to this.

The best input is the code!

Stefan




More information about the OpenBIOS mailing list