Assembler Pseudo Operations - ksherlock/merlin-wiki GitHub Wiki
* merlin-64 is equivalent to merlin
* merlin-128 is equivalent to merlin-pro
* expr* = expr[,expr]*
* label* = label[,label]*
* string is ascii string ('-delimited)
* d-string uses any delimiter (except ];0-9a-fA-F as of merlin 16+). (merlin-32 only supports ' or ")
* Directives
label EQU expr
label = expr
label ENT ; merlin pro
ENT label* ; merlin 16
label EXD ; merlin 16+
EXD label* ; merlin 16+
label EXT ; merlin pro
EXT label* ; merlin 16
ORG expr
OBJ expr
REL ; merlin pro
PUT filename
VAR expr*
SAV filename
DSK filename
TYP expr ; merlin pro
TYP typename ; merlin 8/16
END
DUM expr ; merlin pro
DEND
* Formatting
LST ON | OFF | null
LST RTN ; merlin 8/16
LST FILE,filename ; merlin 16+
LSTDO OFF | null ; merlin pro
EXP ON | OFF | null
EXP ONLY ; merlin pro
PAU
PAG
AST expr
SKP expr
TR ON | OFF | null
TR ADR ; merlin 8/16
DAT ; merlin pro
DAT expr ; merlin 16+
CYC OFF | AVE | null ; merlin pro
CYC FLAGS ; merlin 8/16
TTL string ; merlin 16, merlin-128
* Strings
* as of merlin-pro, hexbyte data may be included after the d-string
* as of merlin 16+, hexbyte data may be interspersed with d-strings.
* ASC # (merlin 16+) may also include ', ", or > modifiers.
ASC d-string
ASC #expr ; merlin 16+
DCI d-string
INV d-string
FLS d-string
REV d-string
STR d-string ; merlin pro
ASI d-string ; merlin 64/128 only
TXT d-string ; merlin 64/128 only
STRL d-string ; merlin 16+
* Data and Allocating
DA expr*
DW expr* ; merlin pro
DDB expr*
DFB expr*
DB expr* ; merlin pro
HEX hexbytes*
DS expr
DS expr,expr ; merlin pro
DS \ ; merlin pro
DS \,expr ; merlin pro
FLO string ; merlin 16+
FLO expr ; merlin-128
ADR expr* ; merlin 16
ADRL expr* ; merlin 16
DL expr* ; merlin 16+ 4.10
* Miscellaneous
label KBD
label KBD d-string ; merlin pro
LUP expr
CHK
ERR expr
ERR \expr ; merlin pro
SW ; merlin 8 only
XC ; merlin pro
XC OFF ; merlin 16+
MX expr ; merlin pro
USR ...
CAS IN | SE | null ; merlin 16+
* Conditionals
DO expr
ELSE
FIN
IF char,]var
IF char=]var
IF mx-expr ; merlin 16
* Macros
label MAC
EOM
<<<
PMC macro [; expr]*
>>> macro [; expr]*
* Merlin-32
PUTBIN filename
* QAsm
TBX ON | OFF | LC | UC | null
DUP ON | OFF | null
SYM
label RND
label PEK expr
MTX d-string*
LIB filename
BEL
XC-
BYT expr*
BTR ; bne alias
BFL ; beq alias
IF xc-expr