@c Copyright (C) 2009-2023 Free Software Foundation, Inc. @c This is part of the GAS manual. @c For copying conditions, see the file as.texinfo. @ifset GENERIC @page @node MicroBlaze-Dependent @chapter MicroBlaze Dependent Features @end ifset @ifclear GENERIC @node Machine Dependencies @chapter MicroBlaze Dependent Features @end ifclear @cindex MicroBlaze architectures The Xilinx MicroBlaze processor family includes several variants, all using the same core instruction set. This chapter covers features of the @sc{gnu} assembler that are specific to the MicroBlaze architecture. For details about the MicroBlaze instruction set, please see the @cite{MicroBlaze Processor Reference Guide (UG081)} available at www.xilinx.com. @cindex MicroBlaze support @menu * MicroBlaze Directives:: Directives for MicroBlaze Processors. * MicroBlaze Syntax:: Syntax for the MicroBlaze * MicroBlaze Options:: Options for MicroBlaze Processors. @end menu @node MicroBlaze Directives @section Directives @cindex MicroBlaze directives A number of assembler directives are available for MicroBlaze. @table @code @item .data8 @var{expression},... This directive is an alias for @code{.byte}. Each expression is assembled into an eight-bit value. @item .data16 @var{expression},... This directive is an alias for @code{.hword}. Each expression is assembled into an 16-bit value. @item .data32 @var{expression},... This directive is an alias for @code{.word}. Each expression is assembled into an 32-bit value. @item .ent @var{name}[,@var{label}] This directive is an alias for @code{.func} denoting the start of function @var{name} at (optional) @var{label}. @item .end @var{name}[,@var{label}] This directive is an alias for @code{.endfunc} denoting the end of function @var{name}. @item .gpword @var{label},... This directive is an alias for @code{.rva}. The resolved address of @var{label} is stored in the data section. @item .weakext @var{label} Declare that @var{label} is a weak external symbol. @item .rodata Switch to .rodata section. Equivalent to @code{.section .rodata} @item .sdata2 Switch to .sdata2 section. Equivalent to @code{.section .sdata2} @item .sdata Switch to .sdata section. Equivalent to @code{.section .sdata} @item .bss Switch to .bss section. Equivalent to @code{.section .bss} @item .sbss Switch to .sbss section. Equivalent to @code{.section .sbss} @end table @node MicroBlaze Syntax @section Syntax for the MicroBlaze @menu * MicroBlaze-Chars:: Special Characters @end menu @node MicroBlaze-Chars @subsection Special Characters @cindex line comment character, MicroBlaze @cindex MicroBlaze line comment character The presence of a @samp{#} on a line indicates the start of a comment that extends to the end of the current line. If a @samp{#} appears as the first character of a line, the whole line is treated as a comment, but in this case the line can also be a logical line number directive (@pxref{Comments}) or a preprocessor control command (@pxref{Preprocessing}). @cindex line separator, MicroBlaze @cindex statement separator, MicroBlaze @cindex MicroBlaze line separator The @samp{;} character can be used to separate statements on the same line. @node MicroBlaze Options @section Options MicroBlaze processors support the following options: @cindex MicroBlaze Options @table @code @item -mbig-endian Build for MicroBlaze in Big Endian configuration. @item -mlittle-endian Build for MicroBlaze in Little Endian configuration. @end table