<tscreen><verb>
Op Description Precedence
-------------------------------------------------------------------
- .CONCAT Builtin function 0
+ .CONCAT Builtin function 0
.LEFT Builtin function 0
.MID Builtin function 0
.RIGHT Builtin function 0
- Unary minus 1
~ Unary bitwise not 1
.BITNOT Unary bitwise not 1
- < Low byte operator 1
- > High byte operator 1
+ < Low byte operator 1
+ > High byte operator 1
* Multiplication 2
/ Division 2
prefer the "cheap" local labels). Nevertheless, unnamed labels are
convenient in some situations, so it's your decision.
- - Using macros to define labels and constants
+<tag/Using macros to define labels and constants/
While there are drawbacks with this approach, it may be handy in some
situations. Using <tt/.DEFINE/, it is possible to define symbols or
<descrip>
-<tag><tt>.A16</tt></tag>
+<tag><tt><idx>.A16</idx></tt></tag>
Valid only in 65816 mode. Switch the accumulator to 16 bit.
See also: <tt/.SMART/
-<tag><tt>.A8</tt></tag>
+<tag><tt><idx>.A8</idx></tt></tag>
Valid only in 65816 mode. Switch the accumulator to 8 bit.
See also: <tt/.SMART/
-<tag><tt>.ADDR</tt></tag>
+<tag><tt><idx>.ADDR</idx></tt></tag>
Define word sized data. In 6502 mode, this is an alias for <tt/.WORD/ and
may be used for better readability if the data words are address values.
</verb></tscreen>
-<tag><tt>.ALIGN</tt></tag>
+<tag><tt><idx>.ALIGN</idx></tt></tag>
Align data to a given boundary. The command expects a constant integer
argument that must be a power of two, plus an optional second argument
</verb></tscreen>
-<tag><tt>.ASCIIZ</tt></tag>
+<tag><tt><idx>.ASCIIZ</idx></tt></tag>
Define a string with a trailing zero.
the binary zero is only appended once (after the last one).
-<tag><tt>.AUTOIMPORT</tt></tag>
+<tag><tt><idx>.AUTOIMPORT</idx></tt></tag>
Is followd by a plus or a minus character. When switched on (using a
+), undefined symbols are automatically marked as import instead of
</verb></tscreen>
-<tag><tt>.BLANK</tt></tag>
+<tag><tt><idx>.BLANK</idx></tt></tag>
Builtin function. The function evaluates its argument in braces and
yields "false" if the argument is non blank (there is an argument), and
</verb></tscreen>
-<tag><tt>.BSS</tt></tag>
+<tag><tt><idx>.BSS</idx></tt></tag>
Switch to the BSS segment. The name of the BSS segment is always "BSS",
so this is a shortcut for
See also the <tt/.SEGMENT/ command.
-<tag><tt>.BYTE</tt></tag>
+<tag><tt><idx>.BYTE</idx></tt></tag>
Define byte sized data. Must be followed by a sequence of (byte ranged)
expressions or strings.
</verb></tscreen>
-<tag><tt>.CASE</tt></tag>
+<tag><tt><idx>.CASE</idx></tt></tag>
Switch on or off case sensitivity on identifiers. The default is off
(that is, identifiers are case sensitive), but may be changed by the
</verb></tscreen>
-<tag><tt>.CODE</tt></tag>
+<tag><tt><idx>.CODE</idx></tt></tag>
Switch to the CODE segment. The name of the CODE segment is always
"CODE", so this is a shortcut for
See also the <tt/.SEGMENT/ command.
-<tag><tt>.CONCAT</tt></tag>
+<tag><tt><idx>.CONCAT</idx></tt></tag>
Builtin function. The function allows to concatenate a list of string
constants separated by commas. The result is a string constant that
</verb></tscreen>
-<tag><tt>.CONST</tt></tag>
+<tag><tt><idx>.CONST</idx></tt></tag>
Builtin function. The function evaluates its argument in braces and
yields "true" if the argument is a constant expression (that is, an
</verb></tscreen>
-<tag><tt>.CPU</tt></tag>
+<tag><tt><idx>.CPU</idx></tt></tag>
Reading this pseudo variable will give a constant integer value that
tells which instruction set is currently enabled. Possible values are:
</verb></tscreen>
-<tag><tt>.DATA</tt></tag>
+<tag><tt><idx>.DATA</idx></tt></tag>
Switch to the DATA segment. The name of the DATA segment is always
"DATA", so this is a shortcut for
See also the <tt/.SEGMENT/ command.
-<tag><tt>.DBYT</tt></tag>
+<tag><tt><idx>.DBYT</idx></tt></tag>
Define word sized data with the hi and lo bytes swapped (use <tt/.WORD/ to
create word sized data in native 65XX format). Must be followed by a
into the current segment in that order.
-<tag><tt>.DEBUGINFO</tt></tag>
+<tag><tt><idx>.DEBUGINFO</idx></tt></tag>
Switch on or off debug info generation. The default is off (that is,
the object file will not contain debug infos), but may be changed by the
</verb></tscreen>
-<tag><tt>.DEFINE</tt></tag>
+<tag><tt><idx>.DEFINE</idx></tt></tag>
Start a define style macro definition. The command is followed by an
identifier (the macro name) and optionally by a list of formal arguments
See separate section about macros.
-<tag><tt>.DEF, .DEFINED</tt></tag>
+<tag><tt><idx>.DEF,</idx> <idx>.DEFINED</idx></tt></tag>
Builtin function. The function expects an identifier as argument in
braces. The argument is evaluated, and the function yields "true" if the
</verb></tscreen>
-<tag><tt>.DWORD</tt></tag>
+<tag><tt><idx>.DWORD</idx></tt></tag>
Define dword sized data (4 bytes) Must be followed by a sequence of
expressions.
</verb></tscreen>
-<tag><tt>.ELSE</tt></tag>
+<tag><tt><idx>.ELSE</idx></tt></tag>
Conditional assembly: Reverse the current condition.
-<tag><tt>.ELSEIF</tt></tag>
+<tag><tt><idx>.ELSEIF</idx></tt></tag>
Conditional assembly: Reverse current condition and test a new one.
-<tag><tt>.END</tt></tag>
+<tag><tt><idx>.END</idx></tt></tag>
Forced end of assembly. Assembly stops at this point, even if the command
is read from an include file.
-<tag><tt>.ENDIF</tt></tag>
+<tag><tt><idx>.ENDIF</idx></tt></tag>
Conditional assembly: Close a <tt/.IF.../ or <tt/.ELSE/ branch.
-<tag><tt>.ENDMAC, .ENDMACRO</tt></tag>
+<tag><tt><idx>.ENDMAC,</idx> <idx>.ENDMACRO</idx></tt></tag>
End of macro definition (see separate section).
-<tag><tt>.ENDPROC</tt></tag>
+<tag><tt><idx>.ENDPROC</idx></tt></tag>
End of local lexical level (see <tt/.PROC/).
-<tag><tt>.ERROR</tt></tag>
+<tag><tt><idx>.ENDREP,</idx> <idx>.ENDREPEAT</idx></tt></tag>
+
+ End a <tt/.REPEAT/ block. See the <tt/.REPEAT/ command.
+
+
+<tag><tt><idx>.ERROR</idx></tt></tag>
Force an assembly error. The assembler will output an error message
preceeded by "User error" and will <em/not/ produce an object file.
See also the <tt/.WARNING/ and <tt/.OUT/ directives.
-<tag><tt>.EXITMAC, .EXITMACRO</tt></tag>
+<tag><tt><idx>.EXITMAC,</idx> <idx>.EXITMACRO</idx></tt></tag>
Abort a macro expansion immidiately. This command is often useful in
recursive macros. See separate chapter about macros.
-<tag><tt>.EXPORT</tt></tag>
+<tag><tt><idx>.EXPORT</idx></tt></tag>
Make symbols accessible from other modules. Must be followed by a comma
separated list of symbols to export.
</verb></tscreen>
-<tag><tt>.EXPORTZP</tt></tag>
+<tag><tt><idx>.EXPORTZP</idx></tt></tag>
Make symbols accessible from other modules. Must be followed by a comma
separated list of symbols to export. The exported symbols are explicitly
</verb></tscreen>
-<tag><tt>.FARADDR</tt></tag>
+<tag><tt><idx>.FARADDR</idx></tt></tag>
Define far (24 bit) address data. The command must be followed by a
sequence of (not necessarily constant) expressions.
</verb></tscreen>
-<tag><tt>.FEATURE</tt></tag>
+<tag><tt><idx>.FEATURE</idx></tt></tag>
This directive may be used to enable one or more compatibility features
of the assembler. While the use of <tt/.FEATURE/ should be avoided when
<descrip>
- <tag><tt>dollar_is_pc</tt></tag>
+ <tag><tt<idx>>dollar_is_pc</idx></tt></tag>
The dollar sign may be used as an alias for the star (`*'), which
gives the value of the current PC in expressions.
Note: Assignment to the pseudo variable is not allowed.
- <tag><tt>labels_without_colons</tt></tag>
+ <tag><tt<idx>>labels_without_colons</idx></tt></tag>
Allow labels without a trailing colon. These labels are only accepted,
if they start at the beginning of a line (no leading white space).
- <tag><tt>loose_string_term</tt></tag>
+ <tag><tt<idx>>loose_string_term</idx></tt></tag>
Accept single quotes as well as double quotes as terminators for string
constants.
- <tag><tt>at_in_identifiers</tt></tag>
+ <tag><tt<idx>>at_in_identifiers</idx></tt></tag>
Accept the at character (`@') as a valid character in identifiers. The
at character is not allowed to start an identifier, even with this
feature enabled.
- <tag><tt>dollar_in_identifiers</tt></tag>
+ <tag><tt<idx>>dollar_in_identifiers</idx></tt></tag>
Accept the dollar sign (`$') as a valid character in identifiers. The
at character is not allowed to start an identifier, even with this
</descrip>
-<tag><tt>.FILEOPT, .FOPT</tt></tag>
+<tag><tt><idx>.FILEOPT,</idx> <idx>.FOPT</idx></tt></tag>
Insert an option string into the object file. There are two forms of
this command, one specifies the option by a keyword, the second
</verb></tscreen>
-<tag><tt>.GLOBAL</tt></tag>
+<tag><tt><idx>.GLOBAL</idx></tt></tag>
Declare symbols as global. Must be followed by a comma separated list
of symbols to declare. Symbols from the list, that are defined somewhere
</verb></tscreen>
-<tag><tt>.GLOBALZP</tt></tag>
+<tag><tt><idx>.GLOBALZP</idx></tt></tag>
Declare symbols as global. Must be followed by a comma separated list
of symbols to declare. Symbols from the list, that are defined
</verb></tscreen>
-<tag><tt>.I16</tt></tag>
+<tag><tt><idx>.I16</idx></tt></tag>
Valid only in 65816 mode. Switch the index registers to 16 bit.
See also the <tt/.SMART/ command.
-<tag><tt>.I8</tt></tag>
+<tag><tt><idx>.I8</idx></tt></tag>
Valid only in 65816 mode. Switch the index registers to 8 bit.
See also the <tt/.SMART/ command.
-<tag><tt>.IF</tt></tag>
+<tag><tt><idx>.IF</idx></tt></tag>
Conditional assembly: Evalute an expression and switch assembler output
on or off depending on the expression. The expression must be a constant
to TRUE.
-<tag><tt>.IFBLANK</tt></tag>
+<tag><tt><idx>.IFBLANK</idx></tt></tag>
Conditional assembly: Check if there are any remaining tokens in this
line, and evaluate to FALSE if this is the case, and to TRUE otherwise.
See also: <tt/.BLANK/
-<tag><tt>.IFCONST</tt></tag>
+<tag><tt><idx>.IFCONST</idx></tt></tag>
Conditional assembly: Evaluate an expression and switch assembler output
on or off depending on the constness of the expression.
See also: <tt/.CONST/
-<tag><tt>.IFDEF</tt></tag>
+<tag><tt><idx>.IFDEF</idx></tt></tag>
Conditional assembly: Check if a symbol is defined. Must be followed by
a symbol name. The condition is true if the the given symbol is already
See also: <tt/.DEFINED/
-<tag><tt>.IFNBLANK</tt></tag>
+<tag><tt><idx>.IFNBLANK</idx></tt></tag>
Conditional assembly: Check if there are any remaining tokens in this
line, and evaluate to TRUE if this is the case, and to FALSE otherwise.
See also: <tt/.BLANK/
-<tag><tt>.IFNDEF</tt></tag>
+<tag><tt><idx>.IFNDEF</idx></tt></tag>
Conditional assembly: Check if a symbol is defined. Must be followed by
a symbol name. The condition is true if the the given symbol is not
See also: <tt/.DEFINED/
-<tag><tt>.IFNREF</tt></tag>
+<tag><tt><idx>.IFNREF</idx></tt></tag>
Conditional assembly: Check if a symbol is referenced. Must be followed
by a symbol name. The condition is true if if the the given symbol was
See also: <tt/.REFERENCED/
-<tag><tt>.IFP02</tt></tag>
+<tag><tt><idx>.IFP02</idx></tt></tag>
Conditional assembly: Check if the assembler is currently in 6502 mode
(see <tt/.P02/ command).
-<tag><tt>.IFP816</tt></tag>
+<tag><tt><idx>.IFP816</idx></tt></tag>
Conditional assembly: Check if the assembler is currently in 65816 mode
(see <tt/.P816/ command).
-<tag><tt>.IFPC02</tt></tag>
+<tag><tt><idx>.IFPC02</idx></tt></tag>
Conditional assembly: Check if the assembler is currently in 65C02 mode
(see <tt/.PC02/ command).
-<tag><tt>.IFREF</tt></tag>
+<tag><tt><idx>.IFREF</idx></tt></tag>
Conditional assembly: Check if a symbol is referenced. Must be followed
by a symbol name. The condition is true if if the the given symbol was
See also: <tt/.REFERENCED/
-<tag><tt>.IMPORT</tt></tag>
+<tag><tt><idx>.IMPORT</idx></tt></tag>
Import a symbol from another module. The command is followed by a comma
separated list of symbols to import.
</verb></tscreen>
-<tag><tt>.IMPORTZP</tt></tag>
+<tag><tt><idx>.IMPORTZP</idx></tt></tag>
Import a symbol from another module. The command is followed by a comma
separated list of symbols to import. The symbols are explicitly imported
</verb></tscreen>
-<tag><tt>.INCBIN</tt></tag>
+<tag><tt><idx>.INCBIN</idx></tt></tag>
Include a file as binary data. The command expects a string argument
that is the name of a file to include literally in the current segment.
</verb></tscreen>
-<tag><tt>.INCLUDE</tt></tag>
+<tag><tt><idx>.INCLUDE</idx></tt></tag>
Include another file. Include files may be nested up to a depth of 16.
</verb></tscreen>
-<tag><tt>.LEFT</tt></tag>
+<tag><tt><idx>.LEFT</idx></tt></tag>
Builtin function. Extracts the left part of a given token list.
See also the <tt/.MID/ and <tt/.RIGHT/ builtin functions.
-<tag><tt>.LINECONT</tt></tag>
+<tag><tt><idx>.LINECONT</idx></tt></tag>
Switch on or off line continuations using the backslash character
before a newline. The option is off by default.
</verb></tscreen>
-<tag><tt>.LIST</tt></tag>
+<tag><tt><idx>.LIST</idx></tt></tag>
Enable output to the listing. The command must be followed by a boolean
switch ("on", "off", "+" or "-") and will enable or disable listing
</verb></tscreen>
-<tag><tt>.LISTBYTES</tt></tag>
+<tag><tt><idx>.LISTBYTES</idx></tt></tag>
Set, how many bytes are shown in the listing for one source line. The
default is 12, so the listing will show only the first 12 bytes for any
</verb></tscreen>
-<tag><tt>.LOCAL</tt></tag>
+<tag><tt><idx>.LOCAL</idx></tt></tag>
This command may only be used inside a macro definition. It declares a
list of identifiers as local to the macro expansion.
You get an error when using <tt/.LOCAL/ outside a macro.
-<tag><tt>.LOCALCHAR</tt></tag>
+<tag><tt><idx>.LOCALCHAR</idx></tt></tag>
Defines the character that start "cheap" local labels. You may use one
of '@' and '?' as start character. The default is '@'.
</verb></tscreen>
-<tag><tt>.MACPACK</tt></tag>
+<tag><tt><idx>.MACPACK</idx></tt></tag>
Insert a predefined macro package. The command is followed by an
identifier specifying the macro package to insert. Available macro
See separate section about macros packages.
-<tag><tt>.MAC, .MACRO</tt></tag>
+<tag><tt><idx>.MAC,</idx> <idx>.MACRO</idx></tt></tag>
Start a classic macro definition. The command is followed by an identifier
(the macro name) and optionally by a comma separated list of identifiers
See separate section about macros.
-<tag><tt>.MATCH</tt></tag>
+<tag><tt><idx>.MATCH</idx></tt></tag>
Builtin function. Matches two token lists against each other. This is
most useful within macros, since macros are not stored as strings, but
reserved keyword "A".
-<tag><tt>.MID</tt></tag>
+<tag><tt><idx>.MID</idx></tt></tag>
Builtin function. Takes a starting index, a count and a token list as
arguments. Will return part of the token list.
See also the <tt/.LEFT/ and <tt/.RIGHT/ builtin functions.
-<tag><tt>.ORG</tt></tag>
+<tag><tt><idx>.ORG</idx></tt></tag>
Start a section of absolute code. The command is followed by a constant
expression that gives the new PC counter location for which the code is
</verb></tscreen>
-<tag><tt>.OUT</tt></tag>
+<tag><tt><idx>.OUT</idx></tt></tag>
Output a string to the console without producing an error. This command
is similiar to <tt/.ERROR/, however, it does not force an assembler error
See also the <tt/.WARNING/ and <tt/.ERROR/ directives.
-<tag><tt>.P02</tt></tag>
+<tag><tt><idx>.P02</idx></tt></tag>
Enable the 6502 instruction set, disable 65C02 and 65816 instructions.
This is the default if not overridden by the <tt/--cpu/ command line
option.
-<tag><tt>.P816</tt></tag>
+<tag><tt><idx>.P816</idx></tt></tag>
Enable the 65816 instruction set. This is a superset of the 65C02 and
6502 instruction sets.
-<tag><tt>.PAGELEN, .PAGELENGTH</tt></tag>
+<tag><tt><idx>.PAGELEN,</idx> <idx>.PAGELENGTH</idx></tt></tag>
Set the page length for the listing. Must be followed by an integer
constant. The value may be "unlimited", or in the range 32 to 127. The
</verb></tscreen>
-<tag><tt>.PARAMCOUNT</tt></tag>
+<tag><tt><idx>.PARAMCOUNT</idx></tt></tag>
This builtin pseudo variable is only available in macros. It is replaced
by the actual number of parameters that were given in the macro
</verb></tscreen>
-<tag><tt>.PC02</tt></tag>
+<tag><tt><idx>.PC02</idx></tt></tag>
Enable the 65C02 instructions set. This instruction set includes all
6502 instructions.
-<tag><tt>.PROC</tt></tag>
+<tag><tt><idx>.PROC</idx></tt></tag>
Start a nested lexical level. All new symbols from now on are in the
local lexical level and are not accessible from outside. Symbols defined
</verb></tscreen>
-<tag><tt>.REF, .REFERENCED</tt></tag>
+<tag><tt><idx>.REF,</idx> <idx>.REFERENCED</idx></tt></tag>
Builtin function. The function expects an identifier as argument in
braces. The argument is evaluated, and the function yields "true" if the
</verb></tscreen>
-<tag><tt>.RELOC</tt></tag>
+<tag><tt><idx>.REPEAT</idx></tt></tag>
+
+ Repeat all commands between <tt/.REPEAT/ and <tt/.ENDREPEAT/ a constant
+ number of times. The command is followed by a constant expression that tells
+ how many times the commands in the body should get repeated. Optionally, a
+ comma and an identifier may be specified. If this identifier is found in
+ the body of the repeat statement, it is replaced by the current repeat
+ count (starting with zero for the first time the body is repeated).
+
+ <tt/.REPEAT/ statements may be nested. If you use the same repeat count
+ identifier for a nested <tt/.REPEAT/ statement, the one from the inner
+ level will be used, not the one from the outer level.
+
+ Example:
+
+ The following macro will emit a string that is "encrypted" in that all
+ characters of the string are XORed by the value $55.
+
+ <tscreen><verb>
+ .macro Crypt Arg
+ .repeat strlen(Arg), I
+ .byte strat(Arg, I) .xor $55
+ .endrep
+ .endmacro
+ </verb></tscreen>
+
+
+<tag><tt><idx>.RELOC</idx></tt></tag>
Switch back to relocatable mode. See the <tt/.ORG/ command.
-<tag><tt>.RES</tt></tag>
+<tag><tt><idx>.RES</idx></tt></tag>
Reserve storage. The command is followed by one or two constant
expressions. The first one is mandatory and defines, how many bytes of
</verb></tscreen>
-<tag><tt>.RIGHT</tt></tag>
+<tag><tt><idx>.RIGHT</idx></tt></tag>
Builtin function. Extracts the right part of a given token list.
See also the <tt/.LEFT/ and <tt/.MID/ builtin functions.
-<tag><tt>.RODATA</tt></tag>
+<tag><tt><idx>.RODATA</idx></tt></tag>
Switch to the RODATA segment. The name of the RODATA segment is always
"RODATA", so this is a shortcut for
readonly data like string constants. See also the <tt/.SEGMENT/ command.
-<tag><tt>.SEGMENT</tt></tag>
+<tag><tt><idx>.SEGMENT</idx></tt></tag>
Switch to another segment. Code and data is always emitted into a
segment, that is, a named section of data. The default segment is
</verb></tscreen>
-<tag><tt>.SMART</tt></tag>
+<tag><tt><idx>.SMART</idx></tt></tag>
Switch on or off smart mode. The command must be followed by a '+' or
'-' character to switch the option on or off respectively. The default
</verb></tscreen>
-<tag><tt>.STRING</tt></tag>
+<tag><tt><idx>.STRAT</idx></tt></tag>
+
+ Builtin function. The function accepts a string and an index as
+ arguments and returns the value of the character at the given position
+ as an integer value. The index is zero based.
+
+ Example:
+
+ <tscreen><verb>
+ .macro M Arg
+ ; Check if the argument string starts with '#'
+ .if (.strat (Arg, 0) = '#')
+ ...
+ .endif
+ .endmacro
+ </verb></tscreen>
+
+
+<tag><tt><idx>.STRING</idx></tt></tag>
Builtin function. The function accepts an argument in braces and
converts this argument into a string constant. The argument may be an
</verb></tscreen>
-<tag><tt>.TCOUNT</tt></tag>
+<tag><tt><idx>.STRLEN</idx></tt></tag>
+
+ Builtin function. The function accepts a string argument in braces and
+ eveluates to the length of the string.
+
+ Example:
+
+ The following macro encodes a string as a pascal style string with
+ a leading length byte.
+
+ <tscreen><verb>
+ .macro PString Arg
+ .byte .strlen(Arg), Arg
+ .endmacro
+ </verb></tscreen>
+
+
+<tag><tt><idx>.TCOUNT</idx></tt></tag>
Builtin function. The function accepts a token list in braces. The
function result is the number of tokens given as argument.
</verb></tscreen>
-<tag><tt>.WARNING</tt></tag>
+<tag><tt><idx>.WARNING</idx></tt></tag>
Force an assembly warning. The assembler will output a warning message
preceeded by "User warning". This warning will always be output, even
if other warnings are disabled with the <tt/-W0/ command line option.
- This command may be used to output possible problems when assembling
+ This command may be used to output possible problems when assembling
the source file.
Example:
See also the <tt/.ERROR/ and <tt/.OUT/ directives.
-<tag><tt>.WORD</tt></tag>
+<tag><tt><idx>.WORD</idx></tt></tag>
Define word sized data. Must be followed by a sequence of (word ranged,
but not necessarily constant) expressions.
</verb></tscreen>
-<tag><tt>.ZEROPAGE</tt></tag>
+<tag><tt><idx>.ZEROPAGE</idx></tt></tag>
Switch to the ZEROPAGE segment and mark it as direct (zeropage) segment.
The name of the ZEROPAGE segment is always "ZEROPAGE", so this is a
<descrip>
-<tag><tt>generic</tt></tag>
+<tag><tt><idx>generic</idx></tt></tag>
This macro package defines macros that are useful in almost any program.
Currently, two macros are defined:
<tscreen><verb>
.macro add Arg
- clc
- adc Arg
+ clc
+ adc Arg
.endmacro
.macro sub Arg
- sec
- sbc Arg
+ sec
+ sbc Arg
.endmacro
</verb></tscreen>
-<tag><tt>longbranch</tt></tag>
+<tag><tt><idx>longbranch</idx></tt></tag>
This macro package defines long conditional jumps. They are named like the
short counterpart but with the 'b' replaced by a 'j'. Here is a sample
If you have problems using the assembler, if you find any bugs, or if
you're doing something interesting with the assembler, I would be glad to
hear from you. Feel free to contact me by email
-(<htmlurl url="uz@musoftware.de" name="uz@musoftware.de">).
+(<htmlurl url="uz@cc65.org" name="uz@cc65.org">).
</enum>
+
</article>