Keil Logo


To facilitate many of the features of the ARM devices, the CARM Compiler adds a number of new keywords to the scope of the C language:

  • __arm uses the ARM native instruction set for function code.
  • __asm inserts in-line assembly code.
  • __at locates functions or variables to absolute memory addresses.
  • __fiq defines a fast interrupt function.
  • __inline defines an inline function.
  • __irq defines a standard interrupt function.
  • __ram relocates a function to RAM for execution.
  • __packed specifies byte alignment for a single data object.
  • __swi defines a software interrupt function.
  • __task defines a task function for a Real-Time Operating System.
  • __thumb uses the Thumb instruction set for function code.

You may disable these extensions using the NOEXTEND directive. Refer to Compiling Programs for more information.

  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.