<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.7"> <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, 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="VAX_002dOpts"></a>Next: <a rel="next" accesskey="n" href="VAX_002dfloat.html#VAX_002dfloat">VAX-float</a>, Up: <a rel="up" accesskey="u" href="Vax_002dDependent.html#Vax_002dDependent">Vax-Dependent</a> <hr><br> </div> <h4 class="subsection">9.34.1 VAX Command-Line Options</h4> <p><a name="index-command_002dline-options-ignored_002c-VAX-1735"></a><a name="index-VAX-command_002dline-options-ignored-1736"></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-_0040code_007b_002dD_007d_002c-ignored-on-VAX-1737"></a> <a name="index-_0040code_007b_002dS_007d_002c-ignored-on-VAX-1738"></a> <a name="index-_0040code_007b_002dT_007d_002c-ignored-on-VAX-1739"></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-_0040code_007b_002dd_007d_002c-VAX-option-1740"></a><br><dt><code>-d (Displacement size for JUMPs)</code><dd>This option expects a number following the <span class="samp">-d</span>. Like options that expect filenames, the number may immediately follow the <span class="samp">-d</span> (old standard) or constitute the whole of the command line argument that follows <span class="samp">-d</span> (<span class="sc">gnu</span> standard). <p><a name="index-_0040code_007b_002dV_007d_002c-redundant-on-VAX-1741"></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-_0040code_007b_002dJ_007d_002c-ignored-on-VAX-1742"></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-_0040code_007b_002dt_007d_002c-ignored-on-VAX-1743"></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. <span class="samp">-t</span> needs exactly one filename. </dl> <p><a name="index-VMS-_0028VAX_0029-options-1744"></a><a name="index-options-for-VAX_002fVMS-1745"></a><a name="index-VAX_002fVMS-options-1746"></a><a name="index-Vax_002d11-C-compatibility-1747"></a><a name="index-symbols-with-uppercase_002c-VAX_002fVMS-1748"></a>The Vax version of the assembler accepts additional options when compiled for VMS: <a name="index-_0040samp_007b_002dh_007d-option_002c-VAX_002fVMS-1749"></a> <dl><dt><span class="samp">-h </span><var>n</var><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 <span class="samp">-h </span><var>n</var> option determines how we map names. This takes several values. No <span class="samp">-h</span> switch at all allows case hacking as described above. A value of zero (<span class="samp">-h0</span>) implies names should be upper case, and inhibits the case hack. A value of 2 (<span class="samp">-h2</span>) implies names should be all lower case, with no case hack. A value of 3 (<span class="samp">-h3</span>) 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 <span class="samp">$</span> 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-_0040samp_007b_002d_002b_007d-option_002c-VAX_002fVMS-1750"></a><br><dt><span class="samp">-+</span><dd>The <span class="samp">-+</span> option causes <code>as</code> to truncate any symbol name larger than 31 characters. The <span class="samp">-+</span> option also prevents some code following the <span class="samp">_main</span> symbol normally added to make the object file compatible with Vax-11 "C". <p><a name="index-_0040samp_007b_002d1_007d-option_002c-VAX_002fVMS-1751"></a><br><dt><span class="samp">-1</span><dd>This option is ignored for backward compatibility with <code>as</code> version 1.x. <p><a name="index-_0040samp_007b_002dH_007d-option_002c-VAX_002fVMS-1752"></a><br><dt><span class="samp">-H</span><dd>The <span class="samp">-H</span> option causes <code>as</code> to print every symbol which was changed by case mapping. </dl> </body></html>