Macro invocation, Local macro labels, Macro invocation local macro labels – Zilog Z8F0130 User Manual

Page 354

Advertising
background image

Using the Macro Assembler

UM013037-1212

330

Zilog Developer Studio II – Z8 Encore!
User Manual

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

store R1,R2,R3

This macro invocation, when used after the macro and as defined in the

Macro Definition

section on page 329, causes registers R1 and R2 to be added and the result stored in regis-
ter R3.

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>

Example

LJMP: MACRO cc,label

JR cc,$$lab

JP label

$$lab: ENDMAC

Advertising