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