Commit | Line | Data |
---|---|---|
7c31ae13 | 1 | @c Copyright 2009, 2011 |
d31eb57c AM |
2 | @c Free Software Foundation, Inc. |
3 | @c This is part of the GAS manual. | |
4 | @c For copying conditions, see the file as.texinfo. | |
5 | @ifset GENERIC | |
6 | @page | |
7 | @node MicroBlaze-Dependent | |
8 | @chapter MicroBlaze Dependent Features | |
9 | @end ifset | |
10 | @ifclear GENERIC | |
11 | @node Machine Dependencies | |
12 | @chapter MicroBlaze Dependent Features | |
13 | @end ifclear | |
14 | ||
15 | @cindex MicroBlaze architectures | |
16 | The Xilinx MicroBlaze processor family includes several variants, all using | |
17 | the same core instruction set. This chapter covers features of the @sc{gnu} | |
18 | assembler that are specific to the MicroBlaze architecture. For details about | |
19 | the MicroBlaze instruction set, please see the @cite{MicroBlaze Processor | |
20 | Reference Guide (UG081)} available at www.xilinx.com. | |
21 | ||
22 | @cindex MicroBlaze support | |
23 | @menu | |
24 | * MicroBlaze Directives:: Directives for MicroBlaze Processors. | |
7c31ae13 | 25 | * MicroBlaze Syntax:: Syntax for the MicroBlaze |
d31eb57c AM |
26 | @end menu |
27 | ||
28 | @node MicroBlaze Directives | |
29 | @section Directives | |
30 | @cindex MicroBlaze directives | |
31 | A number of assembler directives are available for MicroBlaze. | |
32 | ||
33 | @table @code | |
34 | @item .data8 @var{expression},... | |
35 | This directive is an alias for @code{.byte}. Each expression is assembled | |
36 | into an eight-bit value. | |
37 | ||
38 | @item .data16 @var{expression},... | |
39 | This directive is an alias for @code{.hword}. Each expression is assembled | |
40 | into an 16-bit value. | |
41 | ||
42 | @item .data32 @var{expression},... | |
43 | This directive is an alias for @code{.word}. Each expression is assembled | |
44 | into an 32-bit value. | |
45 | ||
46 | @item .ent @var{name}[,@var{label}] | |
47 | This directive is an alias for @code{.func} denoting the start of function | |
48 | @var{name} at (optional) @var{label}. | |
49 | ||
50 | @item .end @var{name}[,@var{label}] | |
51 | This directive is an alias for @code{.endfunc} denoting the end of function | |
52 | @var{name}. | |
53 | ||
54 | @item .gpword @var{label},... | |
55 | This directive is an alias for @code{.rva}. The resolved address of @var{label} | |
56 | is stored in the data section. | |
57 | ||
58 | @item .weakext @var{label} | |
59 | Declare that @var{label} is a weak external symbol. | |
60 | ||
61 | @item .rodata | |
62 | Switch to .rodata section. Equivalent to @code{.section .rodata} | |
63 | ||
64 | @item .sdata2 | |
65 | Switch to .sdata2 section. Equivalent to @code{.section .sdata2} | |
66 | ||
67 | @item .sdata | |
68 | Switch to .sdata section. Equivalent to @code{.section .sdata} | |
69 | ||
70 | @item .bss | |
71 | Switch to .bss section. Equivalent to @code{.section .bss} | |
72 | ||
73 | @item .sbss | |
74 | Switch to .sbss section. Equivalent to @code{.section .sbss} | |
75 | @end table | |
7c31ae13 NC |
76 | |
77 | @node MicroBlaze Syntax | |
78 | @section Syntax for the MicroBlaze | |
79 | @menu | |
80 | * MicroBlaze-Chars:: Special Characters | |
81 | @end menu | |
82 | ||
83 | @node MicroBlaze-Chars | |
84 | @subsection Special Characters | |
85 | ||
86 | @cindex line comment character, MicroBlaze | |
87 | @cindex MicroBlaze line comment character | |
88 | The presence of a @samp{#} on a line indicates the start of a comment | |
89 | that extends to the end of the current line. | |
90 | ||
91 | If a @samp{#} appears as the first character of a line, the whole line | |
92 | is treated as a comment, but in this case the line can also be a | |
93 | logical line number directive (@pxref{Comments}) or a | |
94 | preprocessor control command (@pxref{Preprocessing}). | |
95 | ||
96 | @cindex line separator, MicroBlaze | |
97 | @cindex statement separator, MicroBlaze | |
98 | @cindex MicroBlaze line separator | |
99 | The @samp{;} character can be used to separate statements on the same | |
100 | line. |