The previous approach of maintaining R> and W> pointers was
conceptually simple, but made INT handler code actually quite
complex.
Now, we maintain indexes instead. It's much easier to perform
bounds checks and to compare for equality, something we have to
do quick in the INT handler.
Initially, I used the same letters as those used in the z80 ref
docs, but it makes the different assemblers harder to use than they
should. Having consistent "argtype" rules across assemblers should
help.
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...