blob: e47db0f8d7ec69e08ec6a66853ebacf782d81fc6 [file] [log] [blame]
<html lang="en">
<head>
<title>VAX-Opts - 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="Vax_002dDependent.html#Vax_002dDependent" title="Vax-Dependent">
<link rel="next" href="VAX_002dfloat.html#VAX_002dfloat" title="VAX-float">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU Assembler "as".
Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2006, 2007, 2008, 2009, 2010 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>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="VAX-Opts"></a>
<a name="VAX_002dOpts"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="VAX_002dfloat.html#VAX_002dfloat">VAX-float</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Vax_002dDependent.html#Vax_002dDependent">Vax-Dependent</a>
<hr>
</div>
<h4 class="subsection">9.40.1 VAX Command-Line Options</h4>
<p><a name="index-command_002dline-options-ignored_002c-VAX-1892"></a><a name="index-VAX-command_002dline-options-ignored-1893"></a>The Vax version of <code>as</code> accepts any of the following options,
gives a warning message that the option was ignored and proceeds.
These options are for compatibility with scripts designed for other
people's assemblers.
<a name="index-g_t_0040code_007b_002dD_007d_002c-ignored-on-VAX-1894"></a>
<a name="index-g_t_0040code_007b_002dS_007d_002c-ignored-on-VAX-1895"></a>
<a name="index-g_t_0040code_007b_002dT_007d_002c-ignored-on-VAX-1896"></a>
<dl><dt><code>-D (Debug)</code><dt><code>-S (Symbol Table)</code><dt><code>-T (Token Trace)</code><dd>These are obsolete options used to debug old assemblers.
<p><a name="index-g_t_0040code_007b_002dd_007d_002c-VAX-option-1897"></a><br><dt><code>-d (Displacement size for JUMPs)</code><dd>This option expects a number following the &lsquo;<samp><span class="samp">-d</span></samp>&rsquo;. Like options
that expect filenames, the number may immediately follow the
&lsquo;<samp><span class="samp">-d</span></samp>&rsquo; (old standard) or constitute the whole of the command line
argument that follows &lsquo;<samp><span class="samp">-d</span></samp>&rsquo; (<span class="sc">gnu</span> standard).
<p><a name="index-g_t_0040code_007b_002dV_007d_002c-redundant-on-VAX-1898"></a><br><dt><code>-V (Virtualize Interpass Temporary File)</code><dd>Some other assemblers use a temporary file. This option
commanded them to keep the information in active memory rather
than in a disk file. <code>as</code> always does this, so this
option is redundant.
<p><a name="index-g_t_0040code_007b_002dJ_007d_002c-ignored-on-VAX-1899"></a><br><dt><code>-J (JUMPify Longer Branches)</code><dd>Many 32-bit computers permit a variety of branch instructions
to do the same job. Some of these instructions are short (and
fast) but have a limited range; others are long (and slow) but
can branch anywhere in virtual memory. Often there are 3
flavors of branch: short, medium and long. Some other
assemblers would emit short and medium branches, unless told by
this option to emit short and long branches.
<p><a name="index-g_t_0040code_007b_002dt_007d_002c-ignored-on-VAX-1900"></a><br><dt><code>-t (Temporary File Directory)</code><dd>Some other assemblers may use a temporary file, and this option
takes a filename being the directory to site the temporary
file. Since <code>as</code> does not use a temporary disk file, this
option makes no difference. &lsquo;<samp><span class="samp">-t</span></samp>&rsquo; needs exactly one
filename.
</dl>
<p><a name="index-VMS-_0028VAX_0029-options-1901"></a><a name="index-options-for-VAX_002fVMS-1902"></a><a name="index-VAX_002fVMS-options-1903"></a><a name="index-Vax_002d11-C-compatibility-1904"></a><a name="index-symbols-with-uppercase_002c-VAX_002fVMS-1905"></a>The Vax version of the assembler accepts additional options when
compiled for VMS:
<a name="index-g_t_0040samp_007b_002dh_007d-option_002c-VAX_002fVMS-1906"></a>
<dl><dt>&lsquo;<samp><span class="samp">-h </span><var>n</var></samp>&rsquo;<dd>External symbol or section (used for global variables) names are not
case sensitive on VAX/VMS and always mapped to upper case. This is
contrary to the C language definition which explicitly distinguishes
upper and lower case. To implement a standard conforming C compiler,
names must be changed (mapped) to preserve the case information. The
default mapping is to convert all lower case characters to uppercase and
adding an underscore followed by a 6 digit hex value, representing a 24
digit binary value. The one digits in the binary value represent which
characters are uppercase in the original symbol name.
<p>The &lsquo;<samp><span class="samp">-h </span><var>n</var></samp>&rsquo; option determines how we map names. This takes
several values. No &lsquo;<samp><span class="samp">-h</span></samp>&rsquo; switch at all allows case hacking as
described above. A value of zero (&lsquo;<samp><span class="samp">-h0</span></samp>&rsquo;) implies names should be
upper case, and inhibits the case hack. A value of 2 (&lsquo;<samp><span class="samp">-h2</span></samp>&rsquo;)
implies names should be all lower case, with no case hack. A value of 3
(&lsquo;<samp><span class="samp">-h3</span></samp>&rsquo;) implies that case should be preserved. The value 1 is
unused. The <code>-H</code> option directs <code>as</code> to display
every mapped symbol during assembly.
<p>Symbols whose names include a dollar sign &lsquo;<samp><span class="samp">$</span></samp>&rsquo; are exceptions to the
general name mapping. These symbols are normally only used to reference
VMS library names. Such symbols are always mapped to upper case.
<p><a name="index-g_t_0040samp_007b_002d_002b_007d-option_002c-VAX_002fVMS-1907"></a><br><dt>&lsquo;<samp><span class="samp">-+</span></samp>&rsquo;<dd>The &lsquo;<samp><span class="samp">-+</span></samp>&rsquo; option causes <code>as</code> to truncate any symbol
name larger than 31 characters. The &lsquo;<samp><span class="samp">-+</span></samp>&rsquo; option also prevents some
code following the &lsquo;<samp><span class="samp">_main</span></samp>&rsquo; symbol normally added to make the object
file compatible with Vax-11 "C".
<p><a name="index-g_t_0040samp_007b_002d1_007d-option_002c-VAX_002fVMS-1908"></a><br><dt>&lsquo;<samp><span class="samp">-1</span></samp>&rsquo;<dd>This option is ignored for backward compatibility with <code>as</code>
version 1.x.
<p><a name="index-g_t_0040samp_007b_002dH_007d-option_002c-VAX_002fVMS-1909"></a><br><dt>&lsquo;<samp><span class="samp">-H</span></samp>&rsquo;<dd>The &lsquo;<samp><span class="samp">-H</span></samp>&rsquo; option causes <code>as</code> to print every symbol
which was changed by case mapping.
</dl>
</body></html>