Assembly lines without labels must begin with a colon (which is needed since BASIC won't preserve leading whitespace anyway); the available directives are ORG to set the target memory location, EQU to define a symbol, and DB and DW for Byte and Word-sized lists of Data values. Character literals are available, as are double-quoted strings in a DB list; in both cases a `£` may be used to enter a literal quotation mark (no other escapes, but you can freely intermix quoted text with numeric literals).
Expressions - either in the operand part of an instruction or as an element of a data list - may not have internal whitespace. The only operators are < to take the low byte, > the high, - to negate or subtract, and + to add; in the case of addition or subtraction, only one operation per expression is allowed. (It actually recurses without the benefit of a stack, so more than one addition operator will definitely yield an incorrect result.) Where operand size is ambiguous, any whose value is not known when it is encountered on the first pass is assumed to be a full word.
It's probably quite easy to break. But it does successfully assemble the included "hello, world" code.
Screenshot below:
![Image](%5Battachment=1%5DAssembling.png%5B/attachment%5D)