1
0
mirror of https://github.com/hsoft/collapseos.git synced 2024-12-26 04:38:06 +11:00
collapseos/apps/zasm
Virgil Dupras bc1496a7e3 zasm emul: bring back kernel/user distinction
It was a bad idea to remove it. Now that I'm introducing the concept of
a per-app glue file, it becomes much easier to build emulated zasm as a
userspace app.
2019-05-19 12:57:59 -04:00
..
directive.asm zasm: can now assemble zasm/directive.asm! 2019-05-18 20:37:34 -04:00
expr.asm zasm: can now assemble zasm/expr.asm! 2019-05-19 10:45:11 -04:00
glue.asm zasm emul: bring back kernel/user distinction 2019-05-19 12:57:59 -04:00
instr.asm zasm: can now assemble zasm/instr.asm! 2019-05-19 10:40:45 -04:00
io.asm zasm: make io unit handle PC and output suppression 2019-05-17 14:58:16 -04:00
main.asm zasm emul: bring back kernel/user distinction 2019-05-19 12:57:59 -04:00
parse.asm zasm: bump global symbol limit to 0x200 2019-05-19 09:54:42 -04:00
README.md Add zasm app 2019-04-16 13:36:57 -04:00
symbol.asm zasm: bump global symbol limit to 0x200 2019-05-19 09:54:42 -04:00
tok.asm zasm: accept whitespaces before separating comma 2019-05-19 10:39:29 -04:00
util.asm zasm: de-index symRegister 2019-05-19 09:06:24 -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.