<html lang="en"> <head> <title>Symbol Value - 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="Symbol-Attributes.html#Symbol-Attributes" title="Symbol Attributes"> <link rel="next" href="Symbol-Type.html#Symbol-Type" title="Symbol Type"> <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="Symbol-Value"></a>Next: <a rel="next" accesskey="n" href="Symbol-Type.html#Symbol-Type">Symbol Type</a>, Up: <a rel="up" accesskey="u" href="Symbol-Attributes.html#Symbol-Attributes">Symbol Attributes</a> <hr><br> </div> <h4 class="subsection">5.5.1 Value</h4> <p><a name="index-value-of-a-symbol-227"></a><a name="index-symbol-value-228"></a>The value of a symbol is (usually) 32 bits. For a symbol which labels a location in the text, data, bss or absolute sections the value is the number of addresses from the start of that section to the label. Naturally for text, data and bss sections the value of a symbol changes as <code>ld</code> changes section base addresses during linking. Absolute symbols' values do not change during linking: that is why they are called absolute. <p>The value of an undefined symbol is treated in a special way. If it is 0 then the symbol is not defined in this assembler source file, and <code>ld</code> tries to determine its value from other files linked into the same program. You make this kind of symbol simply by mentioning a symbol name without defining it. A non-zero value represents a <code>.comm</code> common declaration. The value is how much common storage to reserve, in bytes (addresses). The symbol refers to the first address of the allocated storage. </body></html>