<!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: Word</title>

<meta name="description" content="Using as: Word">
<meta name="keywords" content="Using as: Word">
<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="Zero.html#Zero" rel="next" title="Zero">
<link href="Weakref.html#Weakref" rel="prev" title="Weakref">
<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="Word"></a>
<div class="header">
<p>
Next: <a href="Zero.html#Zero" accesskey="n" rel="next">Zero</a>, Previous: <a href="Weakref.html#Weakref" accesskey="p" rel="prev">Weakref</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_002eword-expressions"></a>
<h3 class="section">7.103 <code>.word <var>expressions</var></code></h3>

<a name="index-word-directive"></a>
<p>This directive expects zero or more <var>expressions</var>, of any section,
separated by commas.
</p>
<p>The size of the number emitted, and its byte order,
depend on what target computer the assembly is for.
</p>
<a name="index-difference-tables-altered"></a>
<a name="index-altered-difference-tables"></a>
<blockquote>
<p><em>Warning: Special Treatment to support Compilers</em>
</p></blockquote>

<p>Machines with a 32-bit address space, but that do less than 32-bit
addressing, require the following special treatment.  If the machine of
interest to you does 32-bit addressing (or doesn&rsquo;t require it;
see <a href="Machine-Dependencies.html#Machine-Dependencies">Machine Dependencies</a>), you can ignore this issue.
</p>
<p>In order to assemble compiler output into something that works,
<code>as</code> occasionally does strange things to &lsquo;<samp>.word</samp>&rsquo; directives.
Directives of the form &lsquo;<samp>.word sym1-sym2</samp>&rsquo; are often emitted by
compilers as part of jump tables.  Therefore, when <code>as</code> assembles a
directive of the form &lsquo;<samp>.word sym1-sym2</samp>&rsquo;, and the difference between
<code>sym1</code> and <code>sym2</code> does not fit in 16 bits, <code>as</code>
creates a <em>secondary jump table</em>, immediately before the next label.
This secondary jump table is preceded by a short-jump to the
first byte after the secondary table.  This short-jump prevents the flow
of control from accidentally falling into the new table.  Inside the
table is a long-jump to <code>sym2</code>.  The original &lsquo;<samp>.word</samp>&rsquo;
contains <code>sym1</code> minus the address of the long-jump to
<code>sym2</code>.
</p>
<p>If there were several occurrences of &lsquo;<samp>.word sym1-sym2</samp>&rsquo; before the
secondary jump table, all of them are adjusted.  If there was a
&lsquo;<samp>.word sym3-sym4</samp>&rsquo;, that also did not fit in sixteen bits, a
long-jump to <code>sym4</code> is included in the secondary jump table,
and the <code>.word</code> directives are adjusted to contain <code>sym3</code>
minus the address of the long-jump to <code>sym4</code>; and so on, for as many
entries in the original jump table as necessary.
</p>

<hr>
<div class="header">
<p>
Next: <a href="Zero.html#Zero" accesskey="n" rel="next">Zero</a>, Previous: <a href="Weakref.html#Weakref" accesskey="p" rel="prev">Weakref</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>



</body>
</html>
