1
0
mirror of https://github.com/hsoft/collapseos.git synced 2024-11-24 01:08:06 +11:00

boot: apply BIN( to stray stable ABI references

With cross compiling and IMMEDIATE words, things get icky with stable
ABI references. For the same reason that EXIT, (br) and (br?) need to
stay at stable offsets, these word references will not have BIN(
properly applied at Inner core xcomp.

The solution for now is to adjust during EXECUTE, which is ugly and
inefficient, but I don't see a better solution right now.
This commit is contained in:
Virgil Dupras 2020-04-28 08:52:47 -04:00
parent 4501313410
commit 838548843e

11
blk/301
View File

@ -1,7 +1,10 @@
L3 BSET L3 BSET PC ORG @ 0x34 + ! ( execute )
PC ORG @ 0x34 + ! ( execute ) EXDEHL, ( HL now points to wordref )
( DE points to wordref ) ( We don't apply BIN( reliably on stable ABI stuff, we
EXDEHL, might need to adjust addr. Ugly, but well... )
BIN( @ [IF]
A XORr, H ORr, IFZ, H BIN( @ 256 / LDrn,
[THEN]
E (HL) LDrr, E (HL) LDrr,
D BIN( @ 256 / LDrn, D BIN( @ 256 / LDrn,
EXDEHL, EXDEHL,