blob: e0edaf165e26c28ed089e275c3f33375fff29c70 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This file documents the GNU Assembler "as".
Copyright (C) 1991-2015 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".
-->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Using as: Set</title>
<meta name="description" content="Using as: Set">
<meta name="keywords" content="Using as: Set">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="AS-Index.html#AS-Index" rel="index" title="AS Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Pseudo-Ops.html#Pseudo-Ops" rel="up" title="Pseudo Ops">
<link href="Short.html#Short" rel="next" title="Short">
<link href="Section.html#Section" rel="prev" title="Section">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Set"></a>
<div class="header">
<p>
Next: <a href="Short.html#Short" accesskey="n" rel="next">Short</a>, Previous: <a href="Section.html#Section" accesskey="p" rel="prev">Section</a>, Up: <a href="Pseudo-Ops.html#Pseudo-Ops" accesskey="u" rel="up">Pseudo Ops</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>
</div>
<hr>
<a name="g_t_002eset-symbol_002c-expression"></a>
<h3 class="section">7.79 <code>.set <var>symbol</var>, <var>expression</var></code></h3>
<a name="index-set-directive"></a>
<a name="index-symbol-value_002c-setting"></a>
<p>Set the value of <var>symbol</var> to <var>expression</var>. This
changes <var>symbol</var>&rsquo;s value and type to conform to
<var>expression</var>. If <var>symbol</var> was flagged as external, it remains
flagged (see <a href="Symbol-Attributes.html#Symbol-Attributes">Symbol Attributes</a>).
</p>
<p>You may <code>.set</code> a symbol many times in the same assembly provided that the
values given to the symbol are constants. Values that are based on expressions
involving other symbols are allowed, but some targets may restrict this to only
being done once per assembly. This is because those targets do not set the
addresses of symbols at assembly time, but rather delay the assignment until a
final link is performed. This allows the linker a chance to change the code in
the files, changing the location of, and the relative distance between, various
different symbols.
</p>
<p>If you <code>.set</code> a global symbol, the value stored in the object
file is the last value stored into it.
</p>
<p>On Z80 <code>set</code> is a real instruction, use
&lsquo;<samp><var>symbol</var> defl <var>expression</var></samp>&rsquo; instead.
</p>
</body>
</html>