Keil Logo Arm 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.

Keil logo

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.