Commit Graph

16 Commits

Author SHA1 Message Date
Virgil Dupras
40d5530666 zasm: allow expression in .db 2019-05-17 17:21:49 -04:00
Virgil Dupras
f9dac15449 zasm: add support for string literals in .db 2019-05-17 16:17:22 -04:00
Virgil Dupras
16922da3d4 zasm: support multiple elements in .dw and .db 2019-05-17 15:39:28 -04:00
Virgil Dupras
26d6dd1912 zasm: remove direcData buffer 2019-05-17 15:14:38 -04:00
Virgil Dupras
7083116379 zasm: remove JUMP_ prefixes
They serve no purpose and make the code less flexible.
2019-05-17 09:50:11 -04:00
Virgil Dupras
2f0dd5d668 zasm: iiiiiiiincluuuuuuudes!!1! 2019-05-16 21:15:00 -04:00
Virgil Dupras
e9244b80ee zasm: big I/O overhaul
Instead of buffering input in memory one line at a time, we go in "just
in time" mode and always read contents directly from I/O, without
buffering.

It forces us to implement a `ioPutback` scheme, but on the other hand it
greatly simplifies cases where multiple tokens are on the same line
(when a label is directly followed by an instruction).

The end result feels much more solid and less hackish.
2019-05-16 07:53:42 -04:00
Virgil Dupras
72d2a8f073 zasm: add support for + expressions 2019-05-14 15:26:29 -04:00
Virgil Dupras
a486a2a81e zasm: support char literals 2019-05-14 13:53:12 -04:00
Virgil Dupras
d6f5cf5b90 zasm: fix first pass inversion bug
Also, confirm in tests that we can refer to other symbols in `.equ`.
2019-05-12 08:50:29 -04:00
Virgil Dupras
89848dbfe2 zasm: add support for .equ 2019-05-11 22:11:05 -04:00
Virgil Dupras
95f53d0ce3 zasm: support symbols in .dw directive 2019-05-10 21:17:19 -04:00
Virgil Dupras
f9ae5ca46b zasm: simplify readWord calling
It always reads in the scratchpad with the same max size. No need for
DE-dancing anymore.
2019-05-01 14:19:43 -04:00
Virgil Dupras
6811d98618 zasm: add support for the ".dw" directive 2019-05-01 14:07:01 -04:00
Virgil Dupras
dde5161fc1 zasm: add support for ".db" directive 2019-05-01 11:26:41 -04:00
Virgil Dupras
a7693ffd86 zasm: still inching toward directives 2019-04-30 21:40:22 -04:00