77 lines
		
	
	
	
		
			3.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
		
		
			
		
	
	
			77 lines
		
	
	
	
		
			3.9 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| 
								 | 
							
								<html lang="en">
							 | 
						||
| 
								 | 
							
								<head>
							 | 
						||
| 
								 | 
							
								<title>MIPS ISA - Using as</title>
							 | 
						||
| 
								 | 
							
								<meta http-equiv="Content-Type" content="text/html">
							 | 
						||
| 
								 | 
							
								<meta name="description" content="Using as">
							 | 
						||
| 
								 | 
							
								<meta name="generator" content="makeinfo 4.7">
							 | 
						||
| 
								 | 
							
								<link title="Top" rel="start" href="index.html#Top">
							 | 
						||
| 
								 | 
							
								<link rel="up" href="MIPS_002dDependent.html#MIPS_002dDependent" title="MIPS-Dependent">
							 | 
						||
| 
								 | 
							
								<link rel="prev" href="MIPS-Stabs.html#MIPS-Stabs" title="MIPS Stabs">
							 | 
						||
| 
								 | 
							
								<link rel="next" href="MIPS-symbol-sizes.html#MIPS-symbol-sizes" title="MIPS symbol sizes">
							 | 
						||
| 
								 | 
							
								<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
							 | 
						||
| 
								 | 
							
								<!--
							 | 
						||
| 
								 | 
							
								This file documents the GNU Assembler "as".
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002,
							 | 
						||
| 
								 | 
							
								2006, 2007 Free Software Foundation, Inc.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Permission is granted to copy, distribute and/or modify this document
							 | 
						||
| 
								 | 
							
								under the terms of the GNU Free Documentation License, Version 1.1
							 | 
						||
| 
								 | 
							
								or any later version published by the Free Software Foundation;
							 | 
						||
| 
								 | 
							
								with no Invariant Sections, with no Front-Cover Texts, and with no
							 | 
						||
| 
								 | 
							
								Back-Cover Texts.  A copy of the license is included in the
							 | 
						||
| 
								 | 
							
								section entitled ``GNU Free Documentation License''.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								man end-->
							 | 
						||
| 
								 | 
							
								<meta http-equiv="Content-Style-Type" content="text/css">
							 | 
						||
| 
								 | 
							
								<style type="text/css"><!--
							 | 
						||
| 
								 | 
							
								  pre.display { font-family:inherit }
							 | 
						||
| 
								 | 
							
								  pre.format  { font-family:inherit }
							 | 
						||
| 
								 | 
							
								  pre.smalldisplay { font-family:inherit; font-size:smaller }
							 | 
						||
| 
								 | 
							
								  pre.smallformat  { font-family:inherit; font-size:smaller }
							 | 
						||
| 
								 | 
							
								  pre.smallexample { font-size:smaller }
							 | 
						||
| 
								 | 
							
								  pre.smalllisp    { font-size:smaller }
							 | 
						||
| 
								 | 
							
								  span.sc { font-variant:small-caps }
							 | 
						||
| 
								 | 
							
								  span.roman { font-family: serif; font-weight: normal; } 
							 | 
						||
| 
								 | 
							
								--></style>
							 | 
						||
| 
								 | 
							
								</head>
							 | 
						||
| 
								 | 
							
								<body>
							 | 
						||
| 
								 | 
							
								<div class="node">
							 | 
						||
| 
								 | 
							
								<p>
							 | 
						||
| 
								 | 
							
								<a name="MIPS-ISA"></a>Next: <a rel="next" accesskey="n" href="MIPS-symbol-sizes.html#MIPS-symbol-sizes">MIPS symbol sizes</a>,
							 | 
						||
| 
								 | 
							
								Previous: <a rel="previous" accesskey="p" href="MIPS-Stabs.html#MIPS-Stabs">MIPS Stabs</a>,
							 | 
						||
| 
								 | 
							
								Up: <a rel="up" accesskey="u" href="MIPS_002dDependent.html#MIPS_002dDependent">MIPS-Dependent</a>
							 | 
						||
| 
								 | 
							
								<hr><br>
							 | 
						||
| 
								 | 
							
								</div>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<h4 class="subsection">9.22.5 Directives to override the ISA level</h4>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								<p><a name="index-MIPS-ISA-override-1215"></a><a name="index-_0040code_007b_002eset-mips_0040var_007bn_007d_007d-1216"></a><span class="sc">gnu</span> <code>as</code> supports an additional directive to change
							 | 
						||
| 
								 | 
							
								the <span class="sc">mips</span> Instruction Set Architecture level on the fly: <code>.set
							 | 
						||
| 
								 | 
							
								mips</code><var>n</var>.  <var>n</var> should be a number from 0 to 5, or 32, 32r2, 64
							 | 
						||
| 
								 | 
							
								or 64r2. 
							 | 
						||
| 
								 | 
							
								The values other than 0 make the assembler accept instructions
							 | 
						||
| 
								 | 
							
								for the corresponding <span class="sc">isa</span> level, from that point on in the
							 | 
						||
| 
								 | 
							
								assembly.  <code>.set mips</code><var>n</var> affects not only which instructions
							 | 
						||
| 
								 | 
							
								are permitted, but also how certain macros are expanded.  <code>.set
							 | 
						||
| 
								 | 
							
								mips0</code> restores the <span class="sc">isa</span> level to its original level: either the
							 | 
						||
| 
								 | 
							
								level you selected with command line options, or the default for your
							 | 
						||
| 
								 | 
							
								configuration.  You can use this feature to permit specific <span class="sc">mips3</span>
							 | 
						||
| 
								 | 
							
								instructions while assembling in 32 bit mode.  Use this directive with
							 | 
						||
| 
								 | 
							
								care!
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p><a name="index-MIPS-CPU-override-1217"></a><a name="index-_0040code_007b_002eset-arch_003d_0040var_007bcpu_007d_007d-1218"></a>The <code>.set arch=</code><var>cpu</var> directive provides even finer control. 
							 | 
						||
| 
								 | 
							
								It changes the effective CPU target and allows the assembler to use
							 | 
						||
| 
								 | 
							
								instructions specific to a particular CPU.  All CPUs supported by the
							 | 
						||
| 
								 | 
							
								<span class="samp">-march</span> command line option are also selectable by this directive. 
							 | 
						||
| 
								 | 
							
								The original value is restored by <code>.set arch=default</code>.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p>The directive <code>.set mips16</code> puts the assembler into MIPS 16 mode,
							 | 
						||
| 
								 | 
							
								in which it will assemble instructions for the MIPS 16 processor.  Use
							 | 
						||
| 
								 | 
							
								<code>.set nomips16</code> to return to normal 32 bit mode.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   <p>Traditional <span class="sc">mips</span> assemblers do not support this directive.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   </body></html>
							 | 
						||
| 
								 | 
							
								
							 |