collapseos/apps/zasm
Virgil Dupras a2b5b1efab zasm: add one layer of indirection in symbol registry
We'll need it for an upcoming "local labels" registry.
2019-05-15 14:30:41 -04:00
..
tests Wohoo! zasm assembles core.asm!!! 2019-05-14 16:50:35 -04:00
directive.asm zasm: add support for + expressions 2019-05-14 15:26:29 -04:00
expr.asm zasm: add support for subtractions in expressions 2019-05-14 16:39:10 -04:00
instr.asm zasm: rename curOutputOffset to ZASM_PC 2019-05-15 13:31:49 -04:00
io.asm zasm: change ioRewind to ioSeek 2019-05-15 13:41:56 -04:00
main.asm zasm: change ioRewind to ioSeek 2019-05-15 13:41:56 -04:00
parse.asm zasm: support char literals 2019-05-14 13:53:12 -04:00
README.md Add zasm app 2019-04-16 13:36:57 -04:00
symbol.asm zasm: add one layer of indirection in symbol registry 2019-05-15 14:30:41 -04:00
tok.asm zasm: don't upcase char literals 2019-05-14 15:42:15 -04:00
util.asm zasm: don't upcase char literals 2019-05-14 15:42:15 -04:00

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.