ARM Technical Support Knowledge Articles

DALLAS STARTUP CODE GENERATES ERROR A84

Applies to: AX51 Macro Assembler

Answer


Information in this article applies to:


QUESTION

I am using startup code for a Dallas DS80C390, DS80C400, or DS80C410 device and I get the following error:

error A84: OPERATOR REQUIRES A CODE/ECODE ADDRESS

The corresponding source line is:

     ljmp    far sanity_check

The program translated fine in a previous version of the Keil development tools. What's wrong?

ANSWER

The Dallas devices do not have a far/near addressing method. Instead they are using a fixed CPU mode (in this case the contiguous mode that always uses long forms for LJMP instructions. Therefore the current release of the Keil AX51 Macro Assembler flags the far keyword as an error.

To solve the problem, just delete the far keyword in your source code. This will work correct:

     ljmp    sanity_check

SEE ALSO

AX51: ABSOLUTE CODE SEGMENTS BEYOND 64 KBYTE

Article last edited on: 2006-11-15 17:23:44

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