From: Matthias T. <mt...@we...> - 2014-08-22 18:08:18
|
Hi David, > So, it appears to only take effect when it boots on battery power. Why this > buggers up evaluate but the rest of forth works ok is very bizarre, but > that seems to be the situation. However, after my turnkey has finished and > I'm dropped back to the prompt, evaluate works!?? Even more strange. TURNKEY is called in WARM as the last action before QUIT takes over that starts the REFILL/INTERPRET loop. I see nothing that may affect the RAM content at HERE. Are you using WORD? It uses the RAM at HERE too, but it is no longer part of the default word lists, I prefer the newer PARSE-NAME for that. > > I have a couple of questions: > > Can I safely use (evaluate) by itself when evaluating RAM strings? It just > makes it less complex and in my final application the string to execute > will come over the xbee and will be in RAM. Sure. > > Also, can you explain the stack comments that you have put on (evaluate) \ > i*x addr len -- j*y the string at addr/len is a forth program, it can change the stack content. Imaginge a "+" at addr/len. That would take 2 cells from the i*x pool and leaves one cell as the j*y. THe EVALUATE strings are not like interrupts without stack effect. In general at least. Matthias |