c-microblaze.texi 3.1 KB

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