Macro invocation, Local macro labels, Macro invocation local macro labels – Zilog EZ80F916 User Manual
Page 240

UM014423-0607
ZiLOG Developer Studio II
eZ80Acclaim!
®
User Manual
220
val_part1 equ 55h
val_part2 equ 33h
The assembly is:
value macro par1, par2
DB par1&_&par2
macend
value val,part1
value val,part2
The generated listing file is:
A 9 value val,part1
000000 55 A+ 9 DB val_part1
A+ 9 macend
A 10 value val,part2
000001 33 A+ 10 DB val_part2
A+ 10 macend
Macro Invocation
A macro is invoked by specifying the macro name, and following the name with the
desired arguments. Use commas to separate the arguments.
Syntax
<macroname>[<arg>[(,<arg>)]...]
Example
add3 A,B,C
This macro invocation causes registers B and C to be added, and the result stored in regis-
ter A.
Local Macro Labels
Local macro labels allow labels to be used within multiple macro expansions without
duplication. When used within the body of a macro, symbols preceded by two dollar signs
(
$$
) are considered local to the scope of the macro and therefore are guaranteed to be
unique. The two dollars signs are replaced by an underscore followed by a macro invoca-
tion number.
Syntax
$$
<label>