You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

117 line
5.6KB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- This file documents the GNU Assembler "as".
  4. Copyright (C) 1991-2020 Free Software Foundation, Inc.
  5. Permission is granted to copy, distribute and/or modify this document
  6. under the terms of the GNU Free Documentation License, Version 1.3
  7. or any later version published by the Free Software Foundation;
  8. with no Invariant Sections, with no Front-Cover Texts, and with no
  9. Back-Cover Texts. A copy of the license is included in the
  10. section entitled "GNU Free Documentation License".
  11. -->
  12. <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
  13. <head>
  14. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  15. <title>MIPS ISA (Using as)</title>
  16. <meta name="description" content="MIPS ISA (Using as)">
  17. <meta name="keywords" content="MIPS ISA (Using as)">
  18. <meta name="resource-type" content="document">
  19. <meta name="distribution" content="global">
  20. <meta name="Generator" content="makeinfo">
  21. <link href="index.html#Top" rel="start" title="Top">
  22. <link href="AS-Index.html#AS-Index" rel="index" title="AS Index">
  23. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  24. <link href="MIPS_002dDependent.html#MIPS_002dDependent" rel="up" title="MIPS-Dependent">
  25. <link href="MIPS-assembly-options.html#MIPS-assembly-options" rel="next" title="MIPS assembly options">
  26. <link href="MIPS-Small-Data.html#MIPS-Small-Data" rel="prev" title="MIPS Small Data">
  27. <style type="text/css">
  28. <!--
  29. a.summary-letter {text-decoration: none}
  30. blockquote.indentedblock {margin-right: 0em}
  31. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  32. blockquote.smallquotation {font-size: smaller}
  33. div.display {margin-left: 3.2em}
  34. div.example {margin-left: 3.2em}
  35. div.lisp {margin-left: 3.2em}
  36. div.smalldisplay {margin-left: 3.2em}
  37. div.smallexample {margin-left: 3.2em}
  38. div.smalllisp {margin-left: 3.2em}
  39. kbd {font-style: oblique}
  40. pre.display {font-family: inherit}
  41. pre.format {font-family: inherit}
  42. pre.menu-comment {font-family: serif}
  43. pre.menu-preformatted {font-family: serif}
  44. pre.smalldisplay {font-family: inherit; font-size: smaller}
  45. pre.smallexample {font-size: smaller}
  46. pre.smallformat {font-family: inherit; font-size: smaller}
  47. pre.smalllisp {font-size: smaller}
  48. span.nolinebreak {white-space: nowrap}
  49. span.roman {font-family: initial; font-weight: normal}
  50. span.sansserif {font-family: sans-serif; font-weight: normal}
  51. ul.no-bullet {list-style: none}
  52. -->
  53. </style>
  54. </head>
  55. <body lang="en">
  56. <a name="MIPS-ISA"></a>
  57. <div class="header">
  58. <p>
  59. Next: <a href="MIPS-assembly-options.html#MIPS-assembly-options" accesskey="n" rel="next">MIPS assembly options</a>, Previous: <a href="MIPS-Small-Data.html#MIPS-Small-Data" accesskey="p" rel="prev">MIPS Small Data</a>, Up: <a href="MIPS_002dDependent.html#MIPS_002dDependent" accesskey="u" rel="up">MIPS-Dependent</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="AS-Index.html#AS-Index" title="Index" rel="index">Index</a>]</p>
  60. </div>
  61. <hr>
  62. <a name="Directives-to-override-the-ISA-level"></a>
  63. <h4 class="subsection">9.27.5 Directives to override the ISA level</h4>
  64. <a name="index-MIPS-ISA-override"></a>
  65. <a name="index-_002eset-mipsn"></a>
  66. <p><small>GNU</small> <code>as</code> supports an additional directive to change
  67. the MIPS Instruction Set Architecture level on the fly: <code>.set
  68. mips<var>n</var></code>. <var>n</var> should be a number from 0 to 5, or 32, 32r2, 32r3,
  69. 32r5, 32r6, 64, 64r2, 64r3, 64r5 or 64r6.
  70. The values other than 0 make the assembler accept instructions
  71. for the corresponding ISA level, from that point on in the
  72. assembly. <code>.set mips<var>n</var></code> affects not only which instructions
  73. are permitted, but also how certain macros are expanded. <code>.set
  74. mips0</code> restores the ISA level to its original level: either the
  75. level you selected with command-line options, or the default for your
  76. configuration. You can use this feature to permit specific MIPS III
  77. instructions while assembling in 32 bit mode. Use this directive with
  78. care!
  79. </p>
  80. <a name="index-MIPS-CPU-override"></a>
  81. <a name="index-_002eset-arch_003dcpu"></a>
  82. <p>The <code>.set arch=<var>cpu</var></code> directive provides even finer control.
  83. It changes the effective CPU target and allows the assembler to use
  84. instructions specific to a particular CPU. All CPUs supported by the
  85. &lsquo;<samp>-march</samp>&rsquo; command-line option are also selectable by this directive.
  86. The original value is restored by <code>.set arch=default</code>.
  87. </p>
  88. <p>The directive <code>.set mips16</code> puts the assembler into MIPS 16 mode,
  89. in which it will assemble instructions for the MIPS 16 processor. Use
  90. <code>.set nomips16</code> to return to normal 32 bit mode.
  91. </p>
  92. <p>Traditional MIPS assemblers do not support this directive.
  93. </p>
  94. <p>The directive <code>.set micromips</code> puts the assembler into microMIPS mode,
  95. in which it will assemble instructions for the microMIPS processor. Use
  96. <code>.set nomicromips</code> to return to normal 32 bit mode.
  97. </p>
  98. <p>Traditional MIPS assemblers do not support this directive.
  99. </p>
  100. <hr>
  101. <div class="header">
  102. <p>
  103. Next: <a href="MIPS-assembly-options.html#MIPS-assembly-options" accesskey="n" rel="next">MIPS assembly options</a>, Previous: <a href="MIPS-Small-Data.html#MIPS-Small-Data" accesskey="p" rel="prev">MIPS Small Data</a>, Up: <a href="MIPS_002dDependent.html#MIPS_002dDependent" accesskey="u" rel="up">MIPS-Dependent</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="AS-Index.html#AS-Index" title="Index" rel="index">Index</a>]</p>
  104. </div>
  105. </body>
  106. </html>