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
5Copyright (C) 1991-2021 Free Software Foundation, Inc.
6
7Permission is granted to copy, distribute and/or modify this document
8under the terms of the GNU Free Documentation License, Version 1.3
9or any later version published by the Free Software Foundation;
10with no Invariant Sections, with no Front-Cover Texts, and with no
11Back-Cover Texts.  A copy of the license is included in the
12section entitled "GNU Free Documentation License".
13 -->
14<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
15<head>
16<title>Using as: MIPS Option Stack</title>
17
18<meta name="description" content="Using as: MIPS Option Stack">
19<meta name="keywords" content="Using as: MIPS Option Stack">
20<meta name="resource-type" content="document">
21<meta name="distribution" content="global">
22<meta name="Generator" content="makeinfo">
23<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
24<link href="index.html#Top" rel="start" title="Top">
25<link href="AS-Index.html#AS-Index" rel="index" title="AS Index">
26<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
27<link href="MIPS_002dDependent.html#MIPS_002dDependent" rel="up" title="MIPS-Dependent">
28<link href="MIPS-ASE-Instruction-Generation-Overrides.html#MIPS-ASE-Instruction-Generation-Overrides" rel="next" title="MIPS ASE Instruction Generation Overrides">
29<link href="MIPS-NaN-Encodings.html#MIPS-NaN-Encodings" rel="previous" title="MIPS NaN Encodings">
30<style type="text/css">
31<!--
32a.summary-letter {text-decoration: none}
33blockquote.smallquotation {font-size: smaller}
34div.display {margin-left: 3.2em}
35div.example {margin-left: 3.2em}
36div.indentedblock {margin-left: 3.2em}
37div.lisp {margin-left: 3.2em}
38div.smalldisplay {margin-left: 3.2em}
39div.smallexample {margin-left: 3.2em}
40div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
41div.smalllisp {margin-left: 3.2em}
42kbd {font-style:oblique}
43pre.display {font-family: inherit}
44pre.format {font-family: inherit}
45pre.menu-comment {font-family: serif}
46pre.menu-preformatted {font-family: serif}
47pre.smalldisplay {font-family: inherit; font-size: smaller}
48pre.smallexample {font-size: smaller}
49pre.smallformat {font-family: inherit; font-size: smaller}
50pre.smalllisp {font-size: smaller}
51span.nocodebreak {white-space:nowrap}
52span.nolinebreak {white-space:nowrap}
53span.roman {font-family:serif; font-weight:normal}
54span.sansserif {font-family:sans-serif; font-weight:normal}
55ul.no-bullet {list-style: none}
56-->
57</style>
58
59
60</head>
61
62<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
63<a name="MIPS-Option-Stack"></a>
64<div class="header">
65<p>
66Next: <a href="MIPS-ASE-Instruction-Generation-Overrides.html#MIPS-ASE-Instruction-Generation-Overrides" accesskey="n" rel="next">MIPS ASE Instruction Generation Overrides</a>, Previous: <a href="MIPS-NaN-Encodings.html#MIPS-NaN-Encodings" accesskey="p" rel="previous">MIPS NaN Encodings</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>
67</div>
68<hr>
69<a name="Directives-to-save-and-restore-options"></a>
70<h4 class="subsection">9.27.11 Directives to save and restore options</h4>
71
72<a name="index-MIPS-option-stack"></a>
73<a name="index-_002eset-push"></a>
74<a name="index-_002eset-pop"></a>
75<p>The directives <code>.set push</code> and <code>.set pop</code> may be used to save
76and restore the current settings for all the options which are
77controlled by <code>.set</code>.  The <code>.set push</code> directive saves the
78current settings on a stack.  The <code>.set pop</code> directive pops the
79stack and restores the settings.
80</p>
81<p>These directives can be useful inside an macro which must change an
82option such as the ISA level or instruction reordering but does not want
83to change the state of the code which invoked the macro.
84</p>
85<p>Traditional MIPS assemblers do not support these directives.
86</p>
87
88
89
90</body>
91</html>
92