Virgil Dupras
d76dd54f4b
zasm: add ERR_OVFL
5 lat temu
Virgil Dupras
f9118ef88e
xasm: expand ERR_BAD_ARG condition
5 lat temu
Virgil Dupras
e1e6d52fea
zasm: add ERR_BAD_FMT
5 lat temu
Virgil Dupras
412b3f374a
zasm: add ERR_BAD_ARG
5 lat temu
Virgil Dupras
af2c561c6b
zasm: begin erroring out reliably
Up until now, invalid source input had undefined behavior. We're now
beginning to define that behavior so that zasm can be a bit more usable.
5 lat temu
Virgil Dupras
976a93971c
zasm: improve docs
5 lat temu
Virgil Dupras
8923fefeff
Update docs
5 lat temu
Virgil Dupras
ed19c6afc1
Use zasm in recipes
5 lat temu
Virgil Dupras
c40bc329d5
zasm: fix expr returning wrong values on first pass
To run a parseExpr on first pass would always return a false success
with dummy value because symbols are configured to always succeed on
first pass. This would make expressions like ".fill 0x38-$" so bad
things to labels because "0x38-$" wouldn't return the same thing on
first and second pass.
Revert to parsing literals and symbols after having scanned for
expressions and add a special case specifically for char literals (which
is why we scanned for literals and symbols first in the first place).
5 lat temu
Virgil Dupras
e18f9b53a9
zasm: add support for "$" symbol
Allows for the ".fill x-$" pattern.
5 lat temu
Virgil Dupras
207adbc2f8
tools/emul: add "make rescue" command
5 lat temu
Virgil Dupras
848a7500bc
zasm: add support for .fill directive
5 lat temu
Virgil Dupras
ae315499cb
Run unit tests with zasm
5 lat temu
Virgil Dupras
d2c6e21c64
Fix broken shell
When I zasm-ified the shell a couple of dozens of commits ago, I
inverted push and pops...
5 lat temu
Virgil Dupras
c586c0d63c
Make the shell emulator be built by zasm
5 lat temu
Virgil Dupras
fa3b86a5c1
zasm now bootstraps itself without scas!
5 lat temu
Virgil Dupras
acddb045a5
zasm: add support for .org directive
5 lat temu
Virgil Dupras
49be50b730
zasm now self-assembles!
5 lat temu
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.
5 lat temu
Virgil Dupras
7fad3b0c90
Move /parts/z80 to /kernel
Let go of that "meta os" thing. it's not as meta as I made it sound
like. It's a kernel.
5 lat temu
Virgil Dupras
78d9764005
zasm: can now assemble zasm/expr.asm!
5 lat temu
Virgil Dupras
6cbce0533a
zasm: can now assemble zasm/instr.asm!
5 lat temu
Virgil Dupras
ea8477bb91
zasm: accept whitespaces before separating comma
5 lat temu
Virgil Dupras
3b1ef2b9af
zasm: bump global symbol limit to 0x200
5 lat temu
Virgil Dupras
44abc79850
zasm: add support for SBC HL, ss
5 lat temu
Virgil Dupras
d9fff16157
zasm emul: get rid of the kernel/user distinction
Made things complicated for nothing.
5 lat temu
Virgil Dupras
98695f9912
zasm: de-index symRegister
Make symRegister's logic pointer-based so we can break through the 0x100
limit.
5 lat temu
Virgil Dupras
c01816b055
zasm: make instr a bit more zasm-friendly
But we're still at a certain distance from assembling it with zasm:
we're busting the 0x100 symbol limit.
5 lat temu
Virgil Dupras
bccf933ea9
zasm: try for regular number or symbol before parsing expr
Previously, we would mess up literals like '-'.
5 lat temu
Virgil Dupras
723497af69
zasm: can now assemble zasm/directive.asm!
5 lat temu
Virgil Dupras
9f6ebf538d
zasm: can assemble zasm/tok.asm!
5 lat temu
Virgil Dupras
fd11941867
zasm: can now assemble zasm/parse.asm!
5 lat temu
Virgil Dupras
2ce6b61964
zasm: add support for RLC r and RRC r
5 lat temu
Virgil Dupras
29f0bcbe23
zasm: can now assemble zasm/symbol.asm!
5 lat temu
Virgil Dupras
b7f5307de1
zasm: can now assemble zasm/io.asm!
5 lat temu
Virgil Dupras
84090dcd14
zasm: add support for RL r and RR r
Also, make zasm assemble zasm/util.asm again!
5 lat temu
Virgil Dupras
8832408e95
zasm: can now assemble fs.asm!
5 lat temu
Virgil Dupras
d47d07757e
zasm: fix expr operator priority
5 lat temu
Virgil Dupras
068e4327ec
zasm: fix false truncation error on "-" expressions
5 lat temu
Virgil Dupras
650eec23de
zasm: add LD r, (IX/Y+d) support
5 lat temu
Virgil Dupras
f44c3e5413
zasm: fix 3-digit hex parsing
5 lat temu
Virgil Dupras
cdb6cce914
zasm: add multiplication expressions
5 lat temu
Virgil Dupras
157ac03e25
zasm: can now assemble zasm/util.asm!
5 lat temu
Virgil Dupras
28d5ebdc8a
Make apps folder into a namespace
To straighten out includes and to pave the way into zasm being part of
the same "include CFS" as parts, we make zasm includes namespaced.
5 lat temu
Virgil Dupras
93e40aeb09
Strip comments out of code before packing CFS
This shrinks the CFS size to 21k from nearly 64K. This will allow me to
kick the can down the road a bit with regards to supporting storage
seek/tell greater than 64K.
I'll get to it, but first, I want to assemble zasm with zasm!
5 lat temu
Virgil Dupras
ae2187ad06
zasm: avoid ';' literal
Simplifies comment stripping through sed.
5 lat temu
Virgil Dupras
a3d3e0ce37
zasm: can now assemble the shell!
5 lat temu
Virgil Dupras
d58cf122a8
zasm: fix regression with lowercase (ix+d) parsing
5 lat temu
Virgil Dupras
2a97966bdc
zasm: add LD IX/IY, NN instructions
5 lat temu
Virgil Dupras
21c49d80cf
zasm: allow single quote to contain whitespace
5 lat temu