RTEMS  5.0.0
asm.h
Go to the documentation of this file.
1 
17 /*
18  * COPYRIGHT:
19  *
20  * This file is based on similar code found in newlib available
21  * from ftp.cygnus.com. The file which was used had no copyright
22  * notice. This file is freely distributable as long as the source
23  * of the file is noted. This file is:
24  *
25  * COPYRIGHT (c) 1994-2012.
26  * On-Line Applications Research Corporation (OAR).
27  */
28 
29 #ifndef _RTEMS_ASM_H
30 #define _RTEMS_ASM_H
31 
32 /*
33  * Indicate we are in an assembly file and get the basic CPU definitions.
34  */
35 
36 #ifndef ASM
37 #define ASM
38 #endif
39 #include <rtems/score/cpuopts.h>
40 #include <rtems/score/no_cpu.h>
41 
52 #ifndef __USER_LABEL_PREFIX__
53 
61 #define __USER_LABEL_PREFIX__ _
62 #endif
63 
64 #ifndef __REGISTER_PREFIX__
65 
73 #define __REGISTER_PREFIX__
74 #endif
75 
76 #include <rtems/concat.h>
77 
79 #define SYM(x) CONCAT1 (__USER_LABEL_PREFIX__, x)
80 
82 #define REG(x) CONCAT1 (__REGISTER_PREFIX__, x)
83 
84 /*
85  * define macros for all of the registers on this CPU
86  *
87  * EXAMPLE: #define d0 REG (d0)
88  */
89 
90 /*
91  * Define macros to handle section beginning and ends.
92  */
93 
94 
96 #define BEGIN_CODE_DCL .text
97 
98 #define END_CODE_DCL
99 
100 #define BEGIN_DATA_DCL .data
101 
102 #define END_DATA_DCL
103 
104 #define BEGIN_CODE .text
105 
106 #define END_CODE
107 
108 #define BEGIN_DATA
109 
110 #define END_DATA
111 
115 #define BEGIN_BSS
116 
117 #define END_BSS
118 
119 #define END
120 
127 #define PUBLIC(sym) .globl SYM (sym)
128 
135 #define EXTERN(sym) .globl SYM (sym)
136 
137 #endif
138