blob: 9e90a35f8bac74ed54a89556b1222f5be3ae86bd [file] [log] [blame]
<html lang="en">
<head>
<title>Previous - Using as</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Using as">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Pseudo-Ops.html#Pseudo-Ops" title="Pseudo Ops">
<link rel="prev" href="PopSection.html#PopSection" title="PopSection">
<link rel="next" href="Print.html#Print" title="Print">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU Assembler "as".
Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2006, 2007, 2008, 2009, 2010 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.3
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''.
-->
<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; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="Previous"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Print.html#Print">Print</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="PopSection.html#PopSection">PopSection</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Pseudo-Ops.html#Pseudo-Ops">Pseudo Ops</a>
<hr>
</div>
<h3 class="section">7.85 <code>.previous</code></h3>
<p><a name="index-g_t_0040code_007bprevious_007d-directive-419"></a><a name="index-Section-Stack-420"></a>This is one of the ELF section stack manipulation directives. The others are
<code>.section</code> (see <a href="Section.html#Section">Section</a>), <code>.subsection</code> (see <a href="SubSection.html#SubSection">SubSection</a>),
<code>.pushsection</code> (see <a href="PushSection.html#PushSection">PushSection</a>), and <code>.popsection</code>
(see <a href="PopSection.html#PopSection">PopSection</a>).
<p>This directive swaps the current section (and subsection) with most recently
referenced section/subsection pair prior to this one. Multiple
<code>.previous</code> directives in a row will flip between two sections (and their
subsections). For example:
<pre class="smallexample"> .section A
.subsection 1
.word 0x1234
.subsection 2
.word 0x5678
.previous
.word 0x9abc
</pre>
<p>Will place 0x1234 and 0x9abc into subsection 1 and 0x5678 into subsection 2 of
section A. Whilst:
<pre class="smallexample"> .section A
.subsection 1
# Now in section A subsection 1
.word 0x1234
.section B
.subsection 0
# Now in section B subsection 0
.word 0x5678
.subsection 1
# Now in section B subsection 1
.word 0x9abc
.previous
# Now in section B subsection 0
.word 0xdef0
</pre>
<p>Will place 0x1234 into section A, 0x5678 and 0xdef0 into subsection 0 of
section B and 0x9abc into subsection 1 of section B.
<p>In terms of the section stack, this directive swaps the current section with
the top section on the section stack.
</body></html>