Using it
sjasmplus
Z80, sjasmplus syntax.
--dialect also accepts sjasm.
Directives
29 directives, 212 spellings. This is the list the parser looks a word up in, so a spelling here is one the assembler accepts and a spelling missing from it is one it refuses.
| Directive | Spellings | Notes |
|---|---|---|
align |
.align, align |
|
assert |
.assert, assert |
|
bytes |
.defb, .db, .defm, .dm, .byte, defb, db, defm, dm, byte |
|
conditional |
.if, .ifn, .ifdef, .ifndef, if, ifn, ifdef, ifndef |
|
define |
.define, define |
|
device |
.device, .slot, device, slot |
|
display |
.display, display |
|
end |
.end, end |
|
ends |
.ends, ends |
|
equ |
.equ, equ |
|
incbin |
.incbin, incbin |
|
include |
.include, include |
|
lua |
.lua, .endlua, .includelua, lua, endlua, includelua |
|
macro |
.macro, macro |
|
module |
.module, module |
|
opt |
.opt, opt |
|
org |
.org, org |
|
page |
.page, page |
|
repeat |
.dup, .rept, dup, rept |
|
reserve |
.defs, .ds, defs, ds |
|
savebin |
.savebin, savebin |
|
savecpr |
.savecpr, savecpr |
|
savetap |
.savetap, savetap |
|
sjasmplus-data |
.word, .dword, .dd, .defd, .d24, .dz, .dc, .dh, .hex, .defh, .dg, .defg, .abyte, .abytec, .abytez, .block, word, dword, dd, defd, d24, dz, dc, dh, hex, defh, dg, defg, abyte, abytec, abytez, block |
|
sldopt-comment |
.sldopt, sldopt |
|
struct |
.struct, struct |
|
symbol-maps |
.cspectmap, .labelslist, cspectmap, labelslist |
|
unsupported-sjasmplus |
.binary, .bplist, .defarray, .defdevice, .dephase, .disp, .emptytap, .emptytrd, .encoding, .endm, .endt, .endw, .ent, .exa, .exd, .export, .fpos, .ifnused, .ifused, .inchob, .inctrd, .inf, .insert, .mmu, .outend, .output, .phase, .relocate_end, .relocate_start, .relocate_table, .save3dos, .saveamsdos, .savecdt, .savecpcsna, .savedev, .savehob, .savenex, .savesna, .savetrd, .setbp, .setbreakpoint, .shellexec, .size, .tapend, .tapout, .textarea, .undefine, .unphase, .while, binary, bplist, defarray, defdevice, dephase, disp, emptytap, emptytrd, encoding, endm, endt, endw, ent, exa, exd, export, fpos, ifnused, ifused, inchob, inctrd, inf, insert, mmu, outend, output, phase, relocate_end, relocate_start, relocate_table, save3dos, saveamsdos, savecdt, savecpcsna, savedev, savehob, savenex, savesna, savetrd, setbp, setbreakpoint, shellexec, size, tapend, tapout, textarea, undefine, unphase, while |
Recognised, and not implemented |
words |
.defw, .dw, defw, dw |
Instruction mnemonics are not listed here — they come from the instruction-set spec and have their own reference.
Projects in more than one file
A relative request is looked for in the including file’s own directory, then in the -I search directories in the order they were given.
The anchor is pinned against this dialect’s own reference assembler, and the dialects genuinely disagree — Projects in more than one file has the comparison.
Elsewhere
- Dialects — every dialect and what each is the syntax of
- Where we differ — every known difference from a reference assembler
- Moving a project across — adopting this on a project that already builds