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