ARM Technical Support Knowledge Articles

PROBLEMS WITH #PRAGMA ASM

Applies to: C51 C Compiler

Answer

Information in this article applies to:


SYMPTOMS

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

CAUSE

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

RESOLUTION

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.

MORE INFORMATION

SEE ALSO

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

Rate this article

[Bad]
|
|
[Good]
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