Support x86 Intel MSR_IMM
[binutils-gdb.git] / gas / doc / c-microblaze.texi
blob4f84499a0eb1ea3d46eea24fcceb833f304f4081
1 @c Copyright (C) 2009-2024 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
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.
21 @cindex MicroBlaze support
22 @menu
23 * MicroBlaze Directives::           Directives for MicroBlaze Processors.
24 * MicroBlaze Syntax::               Syntax for the MicroBlaze
25 * MicroBlaze Options::              Options for MicroBlaze Processors.
26 @end menu
28 @node MicroBlaze Directives
29 @section Directives
30 @cindex MicroBlaze directives
31 A number of assembler directives are available for MicroBlaze.
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.
38 @item .data16 @var{expression},...
39 This directive is an alias for @code{.hword}. Each expression is assembled
40 into an 16-bit value.
42 @item .data32 @var{expression},...
43 This directive is an alias for @code{.word}. Each expression is assembled
44 into an 32-bit value.
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}.
50 @item .end @var{name}[,@var{label}]
51 This directive is an alias for @code{.endfunc} denoting the end of function
52 @var{name}.
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.
58 @item .weakext @var{label}
59 Declare that @var{label} is a weak external symbol.
61 @item .rodata
62 Switch to .rodata section. Equivalent to @code{.section .rodata}
64 @item .sdata2
65 Switch to .sdata2 section. Equivalent to @code{.section .sdata2}
67 @item .sdata
68 Switch to .sdata section. Equivalent to @code{.section .sdata}
70 @item .bss
71 Switch to .bss section. Equivalent to @code{.section .bss}
73 @item .sbss
74 Switch to .sbss section. Equivalent to @code{.section .sbss}
75 @end table
77 @node MicroBlaze Syntax
78 @section Syntax for the MicroBlaze
79 @menu
80 * MicroBlaze-Chars::                Special Characters
81 @end menu
83 @node MicroBlaze-Chars
84 @subsection Special Characters
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.
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}).
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.
102 @node MicroBlaze Options
103 @section Options
105 MicroBlaze processors support the following options:
107 @cindex MicroBlaze Options
109 @table @code
110 @item -mbig-endian
111 Build for MicroBlaze in Big Endian configuration.
113 @item -mlittle-endian
114 Build for MicroBlaze in Little Endian configuration.
115 @end table