Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

119 lines
5.3KB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- Copyright (C) 1988-2020 Free Software Foundation, Inc.
  4. Permission is granted to copy, distribute and/or modify this document
  5. under the terms of the GNU Free Documentation License, Version 1.3 or
  6. any later version published by the Free Software Foundation; with the
  7. Invariant Sections being "Funding Free Software", the Front-Cover
  8. Texts being (a) (see below), and with the Back-Cover Texts being (b)
  9. (see below). A copy of the license is included in the section entitled
  10. "GNU Free Documentation License".
  11. (a) The FSF's Front-Cover Text is:
  12. A GNU Manual
  13. (b) The FSF's Back-Cover Text is:
  14. You have freedom to copy and modify this GNU Manual, like GNU
  15. software. Copies published by the Free Software Foundation raise
  16. funds for GNU development. -->
  17. <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
  18. <head>
  19. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  20. <title>M32R/D Function Attributes (Using the GNU Compiler Collection (GCC))</title>
  21. <meta name="description" content="M32R/D Function Attributes (Using the GNU Compiler Collection (GCC))">
  22. <meta name="keywords" content="M32R/D Function Attributes (Using the GNU Compiler Collection (GCC))">
  23. <meta name="resource-type" content="document">
  24. <meta name="distribution" content="global">
  25. <meta name="Generator" content="makeinfo">
  26. <link href="index.html#Top" rel="start" title="Top">
  27. <link href="Option-Index.html#Option-Index" rel="index" title="Option Index">
  28. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  29. <link href="Function-Attributes.html#Function-Attributes" rel="up" title="Function Attributes">
  30. <link href="m68k-Function-Attributes.html#m68k-Function-Attributes" rel="next" title="m68k Function Attributes">
  31. <link href="M32C-Function-Attributes.html#M32C-Function-Attributes" rel="prev" title="M32C Function Attributes">
  32. <style type="text/css">
  33. <!--
  34. a.summary-letter {text-decoration: none}
  35. blockquote.indentedblock {margin-right: 0em}
  36. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  37. blockquote.smallquotation {font-size: smaller}
  38. div.display {margin-left: 3.2em}
  39. div.example {margin-left: 3.2em}
  40. div.lisp {margin-left: 3.2em}
  41. div.smalldisplay {margin-left: 3.2em}
  42. div.smallexample {margin-left: 3.2em}
  43. div.smalllisp {margin-left: 3.2em}
  44. kbd {font-style: oblique}
  45. pre.display {font-family: inherit}
  46. pre.format {font-family: inherit}
  47. pre.menu-comment {font-family: serif}
  48. pre.menu-preformatted {font-family: serif}
  49. pre.smalldisplay {font-family: inherit; font-size: smaller}
  50. pre.smallexample {font-size: smaller}
  51. pre.smallformat {font-family: inherit; font-size: smaller}
  52. pre.smalllisp {font-size: smaller}
  53. span.nolinebreak {white-space: nowrap}
  54. span.roman {font-family: initial; font-weight: normal}
  55. span.sansserif {font-family: sans-serif; font-weight: normal}
  56. ul.no-bullet {list-style: none}
  57. -->
  58. </style>
  59. </head>
  60. <body lang="en">
  61. <a name="M32R_002fD-Function-Attributes"></a>
  62. <div class="header">
  63. <p>
  64. Next: <a href="m68k-Function-Attributes.html#m68k-Function-Attributes" accesskey="n" rel="next">m68k Function Attributes</a>, Previous: <a href="M32C-Function-Attributes.html#M32C-Function-Attributes" accesskey="p" rel="prev">M32C Function Attributes</a>, Up: <a href="Function-Attributes.html#Function-Attributes" accesskey="u" rel="up">Function Attributes</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Option-Index.html#Option-Index" title="Index" rel="index">Index</a>]</p>
  65. </div>
  66. <hr>
  67. <a name="M32R_002fD-Function-Attributes-1"></a>
  68. <h4 class="subsection">6.33.15 M32R/D Function Attributes</h4>
  69. <p>These function attributes are supported by the M32R/D back end:
  70. </p>
  71. <dl compact="compact">
  72. <dt><code>interrupt</code></dt>
  73. <dd><a name="index-interrupt-function-attribute_002c-M32R_002fD"></a>
  74. <p>Use this attribute to indicate
  75. that the specified function is an interrupt handler. The compiler generates
  76. function entry and exit sequences suitable for use in an interrupt handler
  77. when this attribute is present.
  78. </p>
  79. </dd>
  80. <dt><code>model (<var>model-name</var>)</code></dt>
  81. <dd><a name="index-model-function-attribute_002c-M32R_002fD"></a>
  82. <a name="index-function-addressability-on-the-M32R_002fD"></a>
  83. <p>On the M32R/D, use this attribute to set the addressability of an
  84. object, and of the code generated for a function. The identifier
  85. <var>model-name</var> is one of <code>small</code>, <code>medium</code>, or
  86. <code>large</code>, representing each of the code models.
  87. </p>
  88. <p>Small model objects live in the lower 16MB of memory (so that their
  89. addresses can be loaded with the <code>ld24</code> instruction), and are
  90. callable with the <code>bl</code> instruction.
  91. </p>
  92. <p>Medium model objects may live anywhere in the 32-bit address space (the
  93. compiler generates <code>seth/add3</code> instructions to load their addresses),
  94. and are callable with the <code>bl</code> instruction.
  95. </p>
  96. <p>Large model objects may live anywhere in the 32-bit address space (the
  97. compiler generates <code>seth/add3</code> instructions to load their addresses),
  98. and may not be reachable with the <code>bl</code> instruction (the compiler
  99. generates the much slower <code>seth/add3/jl</code> instruction sequence).
  100. </p></dd>
  101. </dl>
  102. </body>
  103. </html>