Keil Logo

Between A51 and ASM51

Assembly modules written for Intel ASM51 can be re-translated with the A51 macro assembler. However you have to take care about the following differences:

  • Enable the MPL Macro Language
    If your assembly module contains Intel ASM51 macros, the A51 MPL macros need to be enable with the MPL control.
  • 8051 Pre-defined Symbols
    The Intel ASM51 pre defines the following symbol names if MOD51 is active: RESET, EXTI0, EXTI1, SINT, TIMER0, TIMER1. A51 does not pre define this symbol names.
  • More Reserved Symbols
    Since the A51 macro assembler supports also conditional assembly and standard macros, A51 has more reserved symbols then Intel ASM51. Therefore it might be necessary to change user defined symbol names. For example the symbol IF cannot be used as label name in A51, since it is a control for conditional assembly.
  • Object File Differences
    The A51 assembler generates line number information for source level debugging and file dependencies. For compatibility to previous A51 versions and to ASM51, the line number information can be disabled with the A51 control NOLINES.
  • C Preprocessor Side Effects
    The integrated C preprocessor in Ax51 has two side effects that are incompatible to the Intel ASM51 macro assembler. If you are using the backslash character at the end of a comment line, the next line will be comment out too. If you are using $INCLUDE in conditional assembly blocks, the file must exist even when the block will not be assembled.
  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.