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