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...
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 ;
|