mirror of
https://github.com/hsoft/collapseos.git
synced 2024-12-26 05:28:05 +11:00
e9244b80ee
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. |
||
---|---|---|
.. | ||
tests | ||
directive.asm | ||
expr.asm | ||
instr.asm | ||
io.asm | ||
main.asm | ||
parse.asm | ||
README.md | ||
symbol.asm | ||
tok.asm | ||
util.asm |
z80 assembler
This is probably the most critical part of the Collapse OS project. If this app can be brought to completion, it pretty much makes the project a success because it ensures self-reproduction.
Running on a "modern" machine
To be able to develop zasm efficiently, libz80 is used to run zasm
on a modern machine. The code lives in emul
and ran be built with make
,
provided that you have a copy libz80 living in emul/libz80
.
The resulting zasm
binary takes asm code in stdin and spits binary in stdout.