ARM Technical Support Knowledge Articles

ERROR A14 (BAD RELOCATABLE EXPRESSION)

Applies to: A51 Macro Assembler

Answer


Information in this article applies to:


QUESTION

I have an assembler program that assembled with no errors in previous versions of the Keil tools. However, now I receive the following error message:

02C2                 538        MOV   R0,#HIGH NONDES_END - NONDES_STRING
*** ______________________________________________________^
*** ERROR #A14 IN 538 (Prntdiag.a51, LINE 538): BAD RELOCATABLE EXPRESSION

What is going on and how can I fix it?

ANSWER

The problem is that the calculation must be in parentheses. If you change your assembler code to the following:

MOV   R0,#HIGH (NONDES_END - NONDES_STRING)

the assembler will correctly calculate the high order byte and will no longer generate an error.

Article last edited on: 2002-02-08 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