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