1@c Copyright (C) 2009-2016 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
15The Xilinx MicroBlaze processor family includes several variants, all using
16the same core instruction set.  This chapter covers features of the @sc{gnu}
17assembler that are specific to the MicroBlaze architecture.  For details about
18the MicroBlaze instruction set, please see the @cite{MicroBlaze Processor
19Reference 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
30A number of assembler directives are available for MicroBlaze.
31
32@table @code
33@item .data8 @var{expression},...
34This directive is an alias for @code{.byte}. Each expression is assembled
35into an eight-bit value.
36
37@item .data16 @var{expression},...
38This directive is an alias for @code{.hword}. Each expression is assembled
39into an 16-bit value.
40
41@item .data32 @var{expression},...
42This directive is an alias for @code{.word}. Each expression is assembled
43into an 32-bit value.
44
45@item .ent @var{name}[,@var{label}]
46This 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}]
50This directive is an alias for @code{.endfunc} denoting the end of function
51@var{name}.
52
53@item .gpword @var{label},...
54This directive is an alias for @code{.rva}.  The resolved address of @var{label}
55is stored in the data section.
56
57@item .weakext @var{label}
58Declare that @var{label} is a weak external symbol.
59
60@item .rodata
61Switch to .rodata section. Equivalent to @code{.section .rodata}
62
63@item .sdata2
64Switch to .sdata2 section. Equivalent to @code{.section .sdata2}
65
66@item .sdata
67Switch to .sdata section. Equivalent to @code{.section .sdata}
68
69@item .bss
70Switch to .bss section. Equivalent to @code{.section .bss}
71
72@item .sbss
73Switch 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
87The presence of a @samp{#} on a line indicates the start of a comment
88that extends to the end of the current line.
89
90If a @samp{#} appears as the first character of a line, the whole line
91is treated as a comment, but in this case the line can also be a
92logical line number directive (@pxref{Comments}) or a
93preprocessor control command (@pxref{Preprocessing}).
94
95@cindex line separator, MicroBlaze
96@cindex statement separator, MicroBlaze
97@cindex MicroBlaze line separator
98The @samp{;} character can be used to separate statements on the same
99line.
100