RTEMS CPU Kit with SuperCore
Macros
no_cpu/rtems/asm.h File Reference

Addresses Incompatible Flavors Problems. More...

#include <rtems/score/cpuopts.h>
#include <rtems/score/no_cpu.h>
#include <rtems/concat.h>
Include dependency graph for no_cpu/rtems/asm.h:

Go to the source code of this file.

Macros

#define ASM
 
#define __USER_LABEL_PREFIX__   _
 Recent versions of GNU cpp define variables which indicate the need for underscores and percents. More...
 
#define __REGISTER_PREFIX__
 Recent versions of GNU cpp define variables which indicate the need for underscores and percents. More...
 
#define SYM(x)   CONCAT1 (__USER_LABEL_PREFIX__, x)
 Use the right prefix for global labels. More...
 
#define REG(x)   CONCAT1 (__REGISTER_PREFIX__, x)
 Use the right prefix for registers. More...
 
#define BEGIN_CODE_DCL   .text
 This macro is used to denote the beginning of a code declaration. More...
 
#define END_CODE_DCL
 This macro is used to denote the end of a code declaration. More...
 
#define BEGIN_DATA_DCL   .data
 This macro is used to denote the beginning of a data declaration section. More...
 
#define END_DATA_DCL
 This macro is used to denote the end of a data declaration section. More...
 
#define BEGIN_CODE   .text
 This macro is used to denote the beginning of a code section. More...
 
#define END_CODE
 This macro is used to denote the end of a code section. More...
 
#define BEGIN_DATA
 This macro is used to denote the beginning of a data section. More...
 
#define END_DATA
 This macro is used to denote the end of a data section. More...
 
#define BEGIN_BSS
 This macro is used to denote the beginning of the unitialized data section.
 
#define END_BSS
 This macro is used to denote the end of the unitialized data section. More...
 
#define END
 This macro is used to denote the end of the assembly file. More...
 
#define PUBLIC(sym)   .globl SYM (sym)
 This macro is used to declare a public global symbol. More...
 
#define EXTERN(sym)   .globl SYM (sym)
 This macro is used to prototype a public global symbol. More...
 

Detailed Description

Addresses Incompatible Flavors Problems.

This include file attempts to address the problems caused by incompatible flavors of assemblers and toolsets. It primarily addresses variations in the use of leading underscores on symbols and the requirement that register names be preceded by a %.

NOTE: The spacing in the use of these macros is critical to them working as advertised.