ARM Technical Support Knowledge Articles


Applies to: C51 C Compiler


Information in this article applies to:


We're having trouble using the pragma directive to introduce assembly code in the middle of a C program. We put '#pragma ASM' to begin assembly code and '#pragma ENDASM' to exit assembly code, but the compiler gave us an error:

'asm/endasm' requires src-control to be active


This error message displays when the SRC directive is not included when using in-line assembly.


Specify the SRC directive on the command line whenever you use the #pragma asm/endasm directives.

The SRC directive instructs the C compiler to generate a .SRC file which contains the assembly code generated from your C code. Once you have the .SRC file, you use the assembler to assemble it into an .OBJ file.

If your project does not include any C files that are compiled into OBJ files by the C compiler, you must manually include the proper library files in the project.

If your project does include at least one C file that is compiled into an OBJ file by the C compiler, the linker automatically includes the correct libraries.



Article last edited on: 2005-07-15 10:37:08

Rate this article

Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential