Keil Logo

Interfacing C Programs to Assembler

You can easily interface C251 routines to routines written in 8051 Assembler. The A251 Assembler is a 251 macro assembler that emits object modules in OMF-251 format. By observing a few programming rules, you may call assembly routines from C and vice versa. Public variables declared in the assembly module are available for your C programs.

There are several reasons to call an assembly routine from your C program.

  • You have assembly code already written that you wish to use.
  • You need to improve the speed of a particular function.
  • You want to manipulate SFRs or memory-mapped I/O devices directly from assembly.

This topic describes how to write assembly routines that can directly interface to C programs.

For an assembly routine to be called from C, it must be aware of the parameter passing and return value conventions used in C functions. For all practical purposes, it must appear to be a C function.

  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.