beautypg.com

Label checks, Source language syntax – Zilog Z8F0130 User Manual

Page 358

background image

Using the Macro Assembler

UM013037-1212

334

Zilog Developer Studio II – Z8 Encore!
User Manual

The space provided in the

EXTERN

or

XREF

directive.

If no space is provided with the

EXTERN

or

XREF

directive, the space of the segment in

which the EXTERN directive was encountered is used as the location of the label.

Label Checks

The assembler performs location checks when a label is used as an operand, including for-
ward referenced labels. Thus, when a label that is not located in the proper space is used as
an operand, the assembler flags a warning.

Example

EXTERN label1:ROM

JP label1 ; valid

ld r0, label1 ; invalid

Source Language Syntax

The syntax description that follows is given to outline the general assembler syntax. It
does not define assembly language instructions.

<source_line>

=>
=>
=>
=>
=>

<if_statement>
[<Label_field>]<instruction_field><EOL>
[<Label_field>]<directive_field><EOL>
<Label_field><EOL>
<EOL>

<if_statement>

=>
=>
=>

<if_section>
[<else_statement>]
ENDIF

<if_section>

=>

<if_conditional>
<code-body>

<if_conditional>

=>

IF

<cond_expression>|

IFDEF

<ident>|

IFSAME

<string_const>,<string_const>|

IFMA

<int_const>

<else_statement>

=>

ELSE

<code_body>|

ELIF

<cond_expression>

<code_body>

[<else_statement>]

<cond_expression>

=>

<expression>|

<expression><relop><expression>

<relop>

=>

==

| < | > | <= | => | !=