![Virgil Dupras](/assets/img/avatar_default.png)
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...
9 lines
263 B
Plaintext
9 lines
263 B
Plaintext
: VARIABLE CREATE 2 ALLOT ;
|
|
: CONSTANT CREATE , DOES> @ ;
|
|
|
|
( In addition to pushing H@ this compiles 2>R so that loop
|
|
variables are sent to PS at runtime )
|
|
: DO COMPILE 2>R H@ ; IMMEDIATE
|
|
: LOOP COMPILE (loop) H@ - , ; IMMEDIATE
|
|
: LEAVE R> R> DROP I 1- >R >R ;
|