| @c Copyright (C) 2009-2021 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 |
| @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. |