toolchain/share/doc/as.html/Symbol-Value.html

67 lines
2.9 KiB
HTML

<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.13">
<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-2019 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="Symbol-Value"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Symbol-Type.html#Symbol-Type">Symbol Type</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Symbol-Attributes.html#Symbol-Attributes">Symbol Attributes</a>
<hr>
</div>
<h4 class="subsection">5.5.1 Value</h4>
<p><a name="index-value-of-a-symbol-229"></a><a name="index-symbol-value-230"></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>