Keil Logo

A166: Error A25 (Symbol Redefinition)


Information in this article applies to:

  • C166 Version 3.12
  • C166 Version 4.06

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.

Last Reviewed: Wednesday, September 21, 2016


Did this article provide the answer you needed?
 
Yes
No
Not Sure
 
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.