1*a9fa9459Szrj@c Copyright (C) 2009-2016 Free Software Foundation, Inc. 2*a9fa9459Szrj@c This is part of the GAS manual. 3*a9fa9459Szrj@c For copying conditions, see the file as.texinfo. 4*a9fa9459Szrj@ifset GENERIC 5*a9fa9459Szrj@page 6*a9fa9459Szrj@node MicroBlaze-Dependent 7*a9fa9459Szrj@chapter MicroBlaze Dependent Features 8*a9fa9459Szrj@end ifset 9*a9fa9459Szrj@ifclear GENERIC 10*a9fa9459Szrj@node Machine Dependencies 11*a9fa9459Szrj@chapter MicroBlaze Dependent Features 12*a9fa9459Szrj@end ifclear 13*a9fa9459Szrj 14*a9fa9459Szrj@cindex MicroBlaze architectures 15*a9fa9459SzrjThe Xilinx MicroBlaze processor family includes several variants, all using 16*a9fa9459Szrjthe same core instruction set. This chapter covers features of the @sc{gnu} 17*a9fa9459Szrjassembler that are specific to the MicroBlaze architecture. For details about 18*a9fa9459Szrjthe MicroBlaze instruction set, please see the @cite{MicroBlaze Processor 19*a9fa9459SzrjReference Guide (UG081)} available at www.xilinx.com. 20*a9fa9459Szrj 21*a9fa9459Szrj@cindex MicroBlaze support 22*a9fa9459Szrj@menu 23*a9fa9459Szrj* MicroBlaze Directives:: Directives for MicroBlaze Processors. 24*a9fa9459Szrj* MicroBlaze Syntax:: Syntax for the MicroBlaze 25*a9fa9459Szrj@end menu 26*a9fa9459Szrj 27*a9fa9459Szrj@node MicroBlaze Directives 28*a9fa9459Szrj@section Directives 29*a9fa9459Szrj@cindex MicroBlaze directives 30*a9fa9459SzrjA number of assembler directives are available for MicroBlaze. 31*a9fa9459Szrj 32*a9fa9459Szrj@table @code 33*a9fa9459Szrj@item .data8 @var{expression},... 34*a9fa9459SzrjThis directive is an alias for @code{.byte}. Each expression is assembled 35*a9fa9459Szrjinto an eight-bit value. 36*a9fa9459Szrj 37*a9fa9459Szrj@item .data16 @var{expression},... 38*a9fa9459SzrjThis directive is an alias for @code{.hword}. Each expression is assembled 39*a9fa9459Szrjinto an 16-bit value. 40*a9fa9459Szrj 41*a9fa9459Szrj@item .data32 @var{expression},... 42*a9fa9459SzrjThis directive is an alias for @code{.word}. Each expression is assembled 43*a9fa9459Szrjinto an 32-bit value. 44*a9fa9459Szrj 45*a9fa9459Szrj@item .ent @var{name}[,@var{label}] 46*a9fa9459SzrjThis directive is an alias for @code{.func} denoting the start of function 47*a9fa9459Szrj@var{name} at (optional) @var{label}. 48*a9fa9459Szrj 49*a9fa9459Szrj@item .end @var{name}[,@var{label}] 50*a9fa9459SzrjThis directive is an alias for @code{.endfunc} denoting the end of function 51*a9fa9459Szrj@var{name}. 52*a9fa9459Szrj 53*a9fa9459Szrj@item .gpword @var{label},... 54*a9fa9459SzrjThis directive is an alias for @code{.rva}. The resolved address of @var{label} 55*a9fa9459Szrjis stored in the data section. 56*a9fa9459Szrj 57*a9fa9459Szrj@item .weakext @var{label} 58*a9fa9459SzrjDeclare that @var{label} is a weak external symbol. 59*a9fa9459Szrj 60*a9fa9459Szrj@item .rodata 61*a9fa9459SzrjSwitch to .rodata section. Equivalent to @code{.section .rodata} 62*a9fa9459Szrj 63*a9fa9459Szrj@item .sdata2 64*a9fa9459SzrjSwitch to .sdata2 section. Equivalent to @code{.section .sdata2} 65*a9fa9459Szrj 66*a9fa9459Szrj@item .sdata 67*a9fa9459SzrjSwitch to .sdata section. Equivalent to @code{.section .sdata} 68*a9fa9459Szrj 69*a9fa9459Szrj@item .bss 70*a9fa9459SzrjSwitch to .bss section. Equivalent to @code{.section .bss} 71*a9fa9459Szrj 72*a9fa9459Szrj@item .sbss 73*a9fa9459SzrjSwitch to .sbss section. Equivalent to @code{.section .sbss} 74*a9fa9459Szrj@end table 75*a9fa9459Szrj 76*a9fa9459Szrj@node MicroBlaze Syntax 77*a9fa9459Szrj@section Syntax for the MicroBlaze 78*a9fa9459Szrj@menu 79*a9fa9459Szrj* MicroBlaze-Chars:: Special Characters 80*a9fa9459Szrj@end menu 81*a9fa9459Szrj 82*a9fa9459Szrj@node MicroBlaze-Chars 83*a9fa9459Szrj@subsection Special Characters 84*a9fa9459Szrj 85*a9fa9459Szrj@cindex line comment character, MicroBlaze 86*a9fa9459Szrj@cindex MicroBlaze line comment character 87*a9fa9459SzrjThe presence of a @samp{#} on a line indicates the start of a comment 88*a9fa9459Szrjthat extends to the end of the current line. 89*a9fa9459Szrj 90*a9fa9459SzrjIf a @samp{#} appears as the first character of a line, the whole line 91*a9fa9459Szrjis treated as a comment, but in this case the line can also be a 92*a9fa9459Szrjlogical line number directive (@pxref{Comments}) or a 93*a9fa9459Szrjpreprocessor control command (@pxref{Preprocessing}). 94*a9fa9459Szrj 95*a9fa9459Szrj@cindex line separator, MicroBlaze 96*a9fa9459Szrj@cindex statement separator, MicroBlaze 97*a9fa9459Szrj@cindex MicroBlaze line separator 98*a9fa9459SzrjThe @samp{;} character can be used to separate statements on the same 99*a9fa9459Szrjline. 100