If so —- why it is there? Is it left there "just in case",
on the rule: "if ever in a need to use warm-start procedure,
you'll always find its vector at ORIG+2"?
Every fig-Forth is started with a sequence:...
It seems that location isn't used at all -- is it correct?
Every fig-Forth is started with a sequence:
ORIG: NOP
JMP CLD ; vector to COLD start
NOP
JMP WRM ; vector to WARM start
The problem is: nowhere neither in the source nor
in the LST file I can find any reference to ORIG+2
address -- when using symbolic notation -- neither
to that particular memory address (addressed directly).
No Forth word uses "2 +ORIGIN".
It seems that location isn't used at all -- is it correct?
If so —- why it is there? Is it left there "just in case",
on the rule: "if ever in a need to use warm-start procedure,
you'll always find its vector at ORIG+2"?
Traditionally -2 CELLS +ORIGIN was the warm start.
It is useful to guide signals to this address.
"Traditionally"? Correct me, if I'm wrong -- but
usually the first address of the whole Forth system
was "0 +ORIGIN" -- and everything else was "higher".
So although feasible still "-2 CELLS +ORIGIN" looks
rather, say, "unorthodox". ;)
BTW: while we at ciforth. Perhaps could you
-- as the author, who knows his "child" best --
recommend the simplest way to _not_ generate
CRs within blocks?
recommend the simplest way to _not_ generate
CRs within blocks?
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 475 |
Nodes: | 16 (2 / 14) |
Uptime: | 19:53:02 |
Calls: | 9,487 |
Calls today: | 6 |
Files: | 13,617 |
Messages: | 6,121,093 |