1
0
mirror of https://github.com/hsoft/collapseos.git synced 2024-12-27 19:28:04 +11:00
Commit Graph

27 Commits

Author SHA1 Message Date
Virgil Dupras
ea8477bb91 zasm: accept whitespaces before separating comma 2019-05-19 10:39:29 -04:00
Virgil Dupras
9f6ebf538d zasm: can assemble zasm/tok.asm! 2019-05-18 20:31:52 -04:00
Virgil Dupras
ae2187ad06 zasm: avoid ';' literal
Simplifies comment stripping through sed.
2019-05-17 19:49:37 -04:00
Virgil Dupras
21c49d80cf zasm: allow single quote to contain whitespace 2019-05-17 17:22:16 -04:00
Virgil Dupras
556be3f0ce zasm: allow for whitespace inside string literals
Also, increase scratchpad size. It wasn't big enough for some
expressions in shell unit.
2019-05-17 16:44:08 -04:00
Virgil Dupras
6547e83f20 zasm: improve comma processing
We don't treat "," exactly as a whitespace anymore. We have specific
processing for it.
2019-05-17 14:34:38 -04:00
Virgil Dupras
072aad775a zasm: don't match prefixes in symFind
Only match when full names match.
2019-05-17 13:14:16 -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
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
67803f6cb5 zasm: don't upcase char literals 2019-05-14 15:42:15 -04:00
Virgil Dupras
6d4515cd03 zasm: little code reorganisation 2019-05-10 21:19:34 -04:00
Virgil Dupras
1c17dcb7a2 zasm: consolidate code 2019-05-09 15:55:29 -04:00
Virgil Dupras
d34aff67bb zasm: Read from and write to streams instead of memory 2019-05-09 15:36:03 -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
dde5161fc1 zasm: add support for ".db" directive 2019-05-01 11:26:41 -04:00
Virgil Dupras
a00bc8cc4b zasm: remove the "token" variable 2019-04-30 22:32:12 -04:00
Virgil Dupras
5fd9b7812c zasm: make each token type parse the remaining of line directly 2019-04-30 21:55:18 -04:00
Virgil Dupras
a7693ffd86 zasm: still inching toward directives 2019-04-30 21:40:22 -04:00
Virgil Dupras
1ffe05dd09 zasm: creep in the notion of directive 2019-04-30 21:27:44 -04:00
Virgil Dupras
8241298c8f zasm: code consolidation 2019-04-30 21:13:37 -04:00
Virgil Dupras
98ad223ee1 zasm: introduce the concept of instruction ID
It will make tokenization cleaner and it also makes the instruction
table significantly more compact.
2019-04-30 20:26:41 -04:00
Virgil Dupras
79b5c701f6 zasm: move token variables from tok.asm into main.asm 2019-04-30 17:04:42 -04:00
Virgil Dupras
a7635cb1ea zasm: allow blank lines in asm source code 2019-04-30 16:24:45 -04:00
Virgil Dupras
eb5c974573 zasm: allow leading whitespace in parsed lines 2019-04-30 16:08:56 -04:00
Virgil Dupras
57c3dfece8 zasm: assemble multiple lines at once 2019-04-30 15:51:39 -04:00
Virgil Dupras
056bbde710 zasm: add support for IX/IY with displacement 2019-04-21 10:55:47 -04:00
Virgil Dupras
14a410b024 zasm: extract tok.asm from zasm.asm 2019-04-21 09:25:52 -04:00