Using it
rgbasm
Game Boy SM83, RGBDS syntax.
--dialect also accepts sm83, gb, gameboy, game-boy.
Directives
22 directives, 69 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 |
|---|---|---|
assert |
assert, static_assert |
|
bytes |
db |
|
conditional |
if, elif, else, endc |
|
define |
def |
|
diagnose |
fail, warn |
|
export |
export |
Accepted and discarded — it changes no bytes |
fixed-point-functions |
high, low, mul, div, fmod, floor, ceil, round, tzcount |
Used inside an expression, not as a statement |
incbin |
incbin |
|
include |
include |
|
longs |
dl |
|
macro |
macro |
|
print |
print, println |
|
repeat |
rept, endr |
|
reserve |
ds |
|
rs-counter |
rsset, rsreset |
|
section-functions |
bank, startof |
Used inside an expression, not as a statement |
string-functions |
strcat, strfmt, strupr, strlwr, strsub, strslice, strlen, strcmp, strfind, strin, strrin, strrpl |
Used inside an expression, not as a statement |
string-symbol |
equs |
|
unsupported-blocks |
union, nextu, endu, load, endl, align, for, break, endsection |
Recognised, and not implemented |
unsupported-option |
opt, popo, pusho, popc, pushc, pops, pushs, charmap, newcharmap, setcharmap |
Recognised, and not implemented |
unsupported-symbol |
purge, redef, shift |
Recognised, and not implemented |
words |
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 root input’s directory, however deep the request, 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