Main updates:
Expression parsing now works, but in a non-TASM way. The easiest approach I could think of was a simple recursion splitting up the expression by parentheses and operators. It doesn't add up in left->right order, thanks to this, and as a result unless you wrap everything in parentheses the order of operation is very odd.
Fixed bug where 16-bit operations declared in the table file weren't being flipped.
Z80 index (ZIX/ZIDX) instructions added.
Binary is no longer written in the order of instructions in the file: eg;
Code:
.org 1
.db 'A'
.org 0
.db 'B'
...should produce BA, not AB.
Supported directives (anything in [brackets] is an alias):
.org
.include [#include]
.locallabelchar
.module
.db [.byte] [.text]
.dw [.word]
.block
.chk
.echo
.equ [=]
.export
.fill
What needs doing:
Not all ZBIT directives work at the moment

I need a document on them (building an assembler without a machine-code reference is a stupid idea, after all!).
Macros! TASM is thankfully quite simple, just basic find-and-replace style macros.
TASM-like expression parsing (including substituting $ for current IP), as well as adding % ~ = != < > <= >= operators.
Dwedit wrote:
I'd really rather see Z80 added to NESHLA.
The main priority for me is to get a really basic assembler that works like TASM, so I can get rid of TASM's oddities. In the same way that I can use WLA-DX to assemble TI projects, but it's not TASM compatible.
Quote:
As for requests more support for Multipage apps and OSes.
I'm not sure what this would really require me to do, not ever having assembled a multipage app/OS.