Commit Graph

12 Commits

Author SHA1 Message Date
Virgil Dupras 7ace3032ef zasm: complete mnemonic argspecs harmonization 2020-08-15 08:11:48 -04:00
Virgil Dupras 73623fff53 zasm: rename LDdd(n) to LDd(n)
it seems I left my asm argument harmonization half done here.

Instructions list at B208 doesn't correspond to many actual
mnemonics. This mnemonic here was the worst offender.
2020-08-14 21:45:25 -04:00
Virgil Dupras d1de99d8c9 z80: implement stack overflow error condition
Also, remove underflow checks from next: it's taxing and useless
because underflow check already takes place in each relevant native
word.
2020-08-08 08:08:05 -04:00
Virgil Dupras b9fb6a6226 z80: move boot code around
Bring native words together, make the next/exec/does/compiled
cluster be at the beginning.

Next step: bring find code into _find word.
2020-07-05 22:23:40 -04:00
Virgil Dupras f2f520cacc Extract (br), (?br) and (loop)'s code out of stable ABI zone
There is now no more actual code in stable ABI, only references.
This makes refactoring of this code much easier. For example,
changing IY to BC as the IP register.
2020-07-05 14:57:18 -04:00
Virgil Dupras 5705cd5c31 Extract EXIT code from stable ABI zone 2020-07-05 13:41:12 -04:00
Virgil Dupras 84202da6a6 z80: prettify 2020-07-05 13:15:26 -04:00
Virgil Dupras 440ea43a88 z80a: make mnemonic names more uniform across assemblers
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.
2020-06-27 22:01:56 -04:00
Virgil Dupras 3d2dc041fb Make word routines into word types
Instead of having wordref point to core word routines, I made them
into word 4 word types. It liberates space into the stable ABI and
should make porting to other arches easier.

I'm also thinking of combining word type with the namelen field
for precious bytes saving, but not now...
2020-06-17 21:41:01 -04:00
Virgil Dupras 1094ec9c57 Make DO..LOOP stable
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...
2020-05-12 10:40:59 -04:00
Virgil Dupras 295b4b6e0a z80a: add BIN( parameter
Will be useful for assembling binaries for the TRS-80 which can't start
at addr 0.
2020-04-27 15:11:38 -04:00
Virgil Dupras 503dbe9a2c Copy boot.z80 to blkfs 2020-04-22 21:19:12 -04:00