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