Keil Logo

High-speed Arithmetic

The Cx51 Compiler uses the 32-bit and 16-bit arithmetic operations of the C517, C517A, and C509 to improve performance of a number of math-intensive operations. C language programs execute considerably faster when using either of these MCUs.


  • The arithmetic unit does not allow reentrant code and cannot be used in multiple threads or the main and interrupt routines at the same time.

Use the following suggestions to help guarantee that only one thread of execution uses the arithmetic processor:

  • Use the MOD517 directive to compile functions which are guaranteed to execute only in the main program or functions used by one interrupt service routine, but not both.
  • Compile all remaining functions with the MOD517(NOAU) directive.
  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.