| 1 | @c Copyright 2009, 2011 |
| 2 | @c Free Software Foundation, Inc. |
| 3 | @c This is part of the GAS manual. |
| 4 | @c For copying conditions, see the file as.texinfo. |
| 5 | @ifset GENERIC |
| 6 | @page |
| 7 | @node MicroBlaze-Dependent |
| 8 | @chapter MicroBlaze Dependent Features |
| 9 | @end ifset |
| 10 | @ifclear GENERIC |
| 11 | @node Machine Dependencies |
| 12 | @chapter MicroBlaze Dependent Features |
| 13 | @end ifclear |
| 14 | |
| 15 | @cindex MicroBlaze architectures |
| 16 | The Xilinx MicroBlaze processor family includes several variants, all using |
| 17 | the same core instruction set. This chapter covers features of the @sc{gnu} |
| 18 | assembler that are specific to the MicroBlaze architecture. For details about |
| 19 | the MicroBlaze instruction set, please see the @cite{MicroBlaze Processor |
| 20 | Reference Guide (UG081)} available at www.xilinx.com. |
| 21 | |
| 22 | @cindex MicroBlaze support |
| 23 | @menu |
| 24 | * MicroBlaze Directives:: Directives for MicroBlaze Processors. |
| 25 | * MicroBlaze Syntax:: Syntax for the MicroBlaze |
| 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. |