Merge branch 'vendor/TCPDUMP'
[dragonfly.git] / contrib / binutils-2.22 / gas / doc / c-microblaze.texi
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
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.
25 * MicroBlaze Syntax::               Syntax for the MicroBlaze
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
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.