mirror of
https://github.com/hsoft/collapseos.git
synced 2024-11-05 15:20:56 +11:00
1094ec9c57
DO and LOOP now only compile words from stable ABI, which make them suitable for xcomp. This will greatly simplify driver writing and allow us to mostly avoid the low/high divide in drivers. LEAVE is still xcomp-incompatible though. This make us very very tight for "<0x100" limit for literal words. Hopefully, we won't need more stuff in that area of the binary...
17 lines
630 B
Plaintext
17 lines
630 B
Plaintext
2. Immediate words that have been cross compiled *cannot* be
|
|
used. Only immediates from the host system can be used.
|
|
3. If an immediate word compiles words, it can only be words
|
|
that are part of the stable ABI.
|
|
|
|
All of this is because when cross compiling, all atom ref-
|
|
erences are offsetted to the target system and are thus
|
|
unusable directly. For the same reason, any reference to a word
|
|
in the host system will obviously be wrong in the target
|
|
system. More details in B260.
|
|
|
|
These rules result in some practicals do's and dont's:
|
|
|
|
1. No LEAVE in DO..LOOP
|
|
|
|
(cont.)
|