RTEMS CPU Kit with SuperCore  4.11.3
asm.h
Go to the documentation of this file.
1 
16 /*
17  * COPYRIGHT:
18  *
19  * This file is based on similar code found in newlib available
20  * from ftp.cygnus.com. The file which was used had no copyright
21  * notice. This file is freely distributable as long as the source
22  * of the file is noted. This file is:
23  *
24  * COPYRIGHT (c) 1994-2006.
25  * On-Line Applications Research Corporation (OAR).
26  */
27 
28 #ifndef _RTEMS_ASM_H
29 #define _RTEMS_ASM_H
30 
38 /*
39  * Indicate we are in an assembly file and get the basic CPU definitions.
40  */
41 
42 #ifndef ASM
43 #define ASM
44 #endif
45 #include <rtems/score/cpuopts.h>
46 #include <rtems/score/no_cpu.h>
47 
48 #ifndef __USER_LABEL_PREFIX__
49 
57 #define __USER_LABEL_PREFIX__ _
58 #endif
59 
60 #ifndef __REGISTER_PREFIX__
61 
69 #define __REGISTER_PREFIX__
70 #endif
71 
72 #include <rtems/concat.h>
73 
75 #define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x)
76 
78 #define REG(x) CONCAT1 (__REGISTER_PREFIX__, x)
79 
80 /*
81  * define macros for all of the registers on this CPU
82  *
83  * EXAMPLE: #define d0 REG (d0)
84  */
85 
86 /*
87  * Define macros to handle section beginning and ends.
88  */
89 
90 
92 #define BEGIN_CODE_DCL .text
93 
94 #define END_CODE_DCL
95 
96 #define BEGIN_DATA_DCL .data
97 
98 #define END_DATA_DCL
99 
100 #define BEGIN_CODE .text
101 
102 #define END_CODE
103 
104 #define BEGIN_DATA
105 
106 #define END_DATA
107 
110 #define BEGIN_BSS
111 
112 #define END_BSS
113 
114 #define END
115 
122 #define PUBLIC(sym) .globl SYM (sym)
123 
130 #define EXTERN(sym) .globl SYM (sym)
131 
133 #endif
This include file defines ANSI concatenation macros.