Override Macro Local Label. Freescale Semiconductor sc100
Reklaam
Reklaam
Freescale Semiconductor, Inc.
SC_Assem.book Page 96 Thursday, September 23, 2004 10:44 AM
Assembler Directives
Descriptions
^ Override Macro Local Label
If a unary expression operator in a macro expansion, specifies normal-scope (not macroscope) evaluation for local labels in its associated term.
Remarks
If the circumflex (^) character precedes an expression term, the assembler does not search the macro local label list for any %labels in the expression term. This operator has no effect on normal labels; it has no effect at all outside a macro expansion.
The circumflex operator lets you pass local labels as macro arguments, for use as referents in the macro. Note that the circumflex also is the binary exclusive OR operator.
Example
Consider this macro definition:
LOAD MACRO ADDR
MOVE P:^ADDR,R0
ENDM
And this macro call:
%LOCAL
LOAD %LOCAL
The override operator tells the assembler to recognize the %LOCAL symbol outside the macro expansion, and to use that value in the MOVE instruction. If the override operator were not present, the assembler would issue an error message that %LOCAL was not defined in the macro.
" Delimit Macro String
In a macro definition, tells the macro processor to use a single quote (
'
). This transforms any enclosed dummy arguments into literal strings.
(Alternate role: In a DEFINE-directive character sequence, specifies expansion within the string.)
96 SC100 Assembler User Guide
For More Information: www.freescale.com
Laadi alla
Reklaam