ARM Technical Support Knowledge Articles

ERROR A25 (SYMBOL REDEFINITION)

Applies to: A166 Macro Assembler

Answer


Information in this article applies to:


SYMPTOMS

I'm trying to use local symbols in my A166 Assembler Macros, and I receive the following error message:

00000010 06F10200          22             ADD     (R1), #2
                           23     ??MYLABEL?0:
*** ______________________________^
*** ERROR #A25 IN 23 (.main.a66, LINE 14): SYMBOL REDEFINITION

What's wrong with my program?

$SEGMENTED

%*DEFINE (MyMacro Register) LOCAL MyLabel (
        SUB     %Register, #1
        JMP     cc_NN, %MyLabel
        ADD     %Register, #2
%MyLabel:
)

C1      SECTION CODE    PUBLIC
P1      PROC    NEAR

        %MyMacro        (R0)
        %MyMacro        (R1)

P1      ENDP
C1      ENDS

END

CAUSE

The argument list for your macro needs to be enclosed within parentheses. For example:

%*DEFINE (MyMacro (Register)) LOCAL MyLabel (

RESOLUTION

Change your macro definition to include the parentheses to solve this problem.

Article last edited on: 2000-10-18 00:00:00

Rate this article

[Bad]
|
|
[Good]
Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential