1@c Copyright (C) 2009-2016 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 15The Xilinx MicroBlaze processor family includes several variants, all using 16the same core instruction set. This chapter covers features of the @sc{gnu} 17assembler that are specific to the MicroBlaze architecture. For details about 18the MicroBlaze instruction set, please see the @cite{MicroBlaze Processor 19Reference 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@end menu 26 27@node MicroBlaze Directives 28@section Directives 29@cindex MicroBlaze directives 30A number of assembler directives are available for MicroBlaze. 31 32@table @code 33@item .data8 @var{expression},... 34This directive is an alias for @code{.byte}. Each expression is assembled 35into an eight-bit value. 36 37@item .data16 @var{expression},... 38This directive is an alias for @code{.hword}. Each expression is assembled 39into an 16-bit value. 40 41@item .data32 @var{expression},... 42This directive is an alias for @code{.word}. Each expression is assembled 43into an 32-bit value. 44 45@item .ent @var{name}[,@var{label}] 46This directive is an alias for @code{.func} denoting the start of function 47@var{name} at (optional) @var{label}. 48 49@item .end @var{name}[,@var{label}] 50This directive is an alias for @code{.endfunc} denoting the end of function 51@var{name}. 52 53@item .gpword @var{label},... 54This directive is an alias for @code{.rva}. The resolved address of @var{label} 55is stored in the data section. 56 57@item .weakext @var{label} 58Declare that @var{label} is a weak external symbol. 59 60@item .rodata 61Switch to .rodata section. Equivalent to @code{.section .rodata} 62 63@item .sdata2 64Switch to .sdata2 section. Equivalent to @code{.section .sdata2} 65 66@item .sdata 67Switch to .sdata section. Equivalent to @code{.section .sdata} 68 69@item .bss 70Switch to .bss section. Equivalent to @code{.section .bss} 71 72@item .sbss 73Switch to .sbss section. Equivalent to @code{.section .sbss} 74@end table 75 76@node MicroBlaze Syntax 77@section Syntax for the MicroBlaze 78@menu 79* MicroBlaze-Chars:: Special Characters 80@end menu 81 82@node MicroBlaze-Chars 83@subsection Special Characters 84 85@cindex line comment character, MicroBlaze 86@cindex MicroBlaze line comment character 87The presence of a @samp{#} on a line indicates the start of a comment 88that extends to the end of the current line. 89 90If a @samp{#} appears as the first character of a line, the whole line 91is treated as a comment, but in this case the line can also be a 92logical line number directive (@pxref{Comments}) or a 93preprocessor control command (@pxref{Preprocessing}). 94 95@cindex line separator, MicroBlaze 96@cindex statement separator, MicroBlaze 97@cindex MicroBlaze line separator 98The @samp{;} character can be used to separate statements on the same 99line. 100