<html lang="en"> <head> <title>Set - 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="Section.html#Section" title="Section"> <link rel="next" href="Short.html#Short" title="Short"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <!-- 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''. --> <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> </head> <body> <div class="node"> <a name="Set"></a> <p> Next: <a rel="next" accesskey="n" href="Short.html#Short">Short</a>, Previous: <a rel="previous" accesskey="p" href="Section.html#Section">Section</a>, Up: <a rel="up" accesskey="u" href="Pseudo-Ops.html#Pseudo-Ops">Pseudo Ops</a> <hr> </div> <h3 class="section">7.79 <code>.set </code><var>symbol</var><code>, </code><var>expression</var></h3> <p><a name="index-g_t_0040code_007bset_007d-directive-458"></a><a name="index-symbol-value_002c-setting-459"></a>Set the value of <var>symbol</var> to <var>expression</var>. This changes <var>symbol</var>'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>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>If you <code>.set</code> a global symbol, the value stored in the object file is the last value stored into it. <p>On Z80 <code>set</code> is a real instruction, use ‘<samp><var>symbol</var><span class="samp"> defl </span><var>expression</var></samp>’ instead. </body></html>