1 @c Copyright (C) 2009-2026 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 13 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. 20 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 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. 101 102 @node MicroBlaze Options 103 @section Options 104 105 MicroBlaze processors support the following options: 106 107 @cindex MicroBlaze Options 108 109 @table @code 110 @item -mbig-endian 111 Build for MicroBlaze in Big Endian configuration. 112 113 @item -mlittle-endian 114 Build for MicroBlaze in Little Endian configuration. 115 @end table 116