Keil Logo

AX51: DALLAS STARTUP CODE GENERATES ERROR A84


Information in this article applies to:

  • C51 Version 8 or higher

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

Last Reviewed: Wednesday, November 15, 2006


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.