Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

cc(1)

what(1)

as(1)  —  Commands

Digital

NAME

as − assembler

SYNOPSIS

as [ option ] ... file

DESCRIPTION

The assembler, as, produces files in the following formats: object code in extended coff format (the normal result) and binary assembly language.  as never runs the link editor.  as accepts one type of argument. 

The argument file is assumed to be symbolic assembly language source program. It is assembled, producing an object file. 

The assembler, as, always defines the C preprocessor macros mips, host_mips , unix, and LANGUAGE_ASSEMBLY to the C macro preprocessor.  To see a list of predefined macros, use the −v option. 

The following options are interpreted by as and have the same meaning in cc(1). 

−g0 Have the assembler produce no symbol table information for symbolic debugging. This is the default. 

−g1 Have the assembler produce additional symbol table information for accurate but limited symbolic debugging of partially optimized code. 

−g or −g2
Have the assembler produce additional symbol table information for full symbolic debugging and not do optimizations that limit full symbolic debugging.

−g3 Have the assembler produce additional symbol table information for full symbolic debugging for fully optimized code. This option makes the debugger inaccurate. 

−w Suppress warning messages. 

−P Run only the C macro preprocessor and put the result in a file with the suffix of the source file changed to ‘.i’ or if the file has no suffix then a ‘.i’ is added to the source file name. The ‘.i’ file has no ‘#’ lines in it.  This sets the −cpp option. 

−E Run only the C macro preprocessor on the file and send the result to the standard output.  This sets the −cpp option. 

−C

−M

−Q These three options are passed directly to cpp(1). Please see cpp(1) for details. 

−o output
Name the final output file output. If this option is used, the file ‘a.out’ is undisturbed.

−Dname=def

−Dname
Define the name to the C macro preprocessor, as if by ‘#define’.  If no definition is given, the name is defined as "1". 

−Uname
Remove any initial definition of name.

−Idir ‘#include’ files whose names do not begin with ‘/’ are always sought first in the directory of the file argument, then in directories specified in −I options, and finally in the standard directory (/usr/include).

−I This option will cause ‘#include’ files never to be searched for in the standard directory (/usr/include).

−G num
Specify the maximum size, in bytes, of a data item that is to be accessed from the global pointer. Num is assumed to be a decimal number. If num is zero, no data is accessed from the global pointer. The default value for num is 8 bytes. 

−v Print the passes as they execute with their arguments and their input and output files. 

−V Print the version of the driver and the versions of all passes. This is done with the what(1) command. 

−cpp Run the C macro preprocessor on assembly source files before compiling.  This is the default for as. 

−nocpp
Do not run the C macro preprocessor on assembly source files before compiling.

Either object file target byte ordering can be produced by as. The default target byte ordering matches the machine where the assembler is running. The options −EB and −EL specify the target byte ordering (big-endian and little-endian, respectively).  The assembler also defines a C preprocessor macro for the target byte ordering. These C preprocessor macros are MIPSEB and MIPSEL for big-endian and little-endian byte ordering respectively. 

−EB Produce object files targeted for big-endian byte ordering. The C preprocessor macro MIPSEB is defined by the assembler. 

−EL Produce object files targeted for little-endian byte ordering. The C preprocessor macro MIPSEL is defined by the assembler. 

The following option is specific for as:

−m Apply the M4 preprocessor to the source file before assembling it. 

The option described below is primarily used to provide UNIX compilation environments other than the native compilation environment. 

The options described below primarily aid compiler development and are not generally used:

−Hc Halt compiling after the pass specified by the character c, producing an intermediate file for the next pass. The c can be [ a ].  It selects the assembler pass in the same way as the −t option.  If this option is used, the symbol table file produced and used by the passes, is the last component of the source file with the suffix changed to ‘.T’, or a ‘.T’ is added if the source file has no suffix. This file is not removed. 

−K Build and use intermediate file names with the last component of the source file’s name replacing its suffix with the conventional suffix for the type of file (for example ‘.G’ file for binary assembly language).  If the source file has no suffix the conventional suffix is added to the source file name.  These intermediate files are never removed even when a pass encounters a fatal error. 

−Wc[c...],arg1[,arg2...]
Pass the argument[s] argi to the compiler pass[es] c[c..]. The c’s are one of [ pab ].  The c’s selects the compiler pass in the same way as the −t option. 

The options −t[hpab], −hpath, and −Bstring select a name to use for a particular pass.  These arguments are processed from left to right so their order is significant.  When the −B option is encountered, the selection of names takes place using the last −h and −t options. Therefore, the −B option is always required when using −h or −t.  Sets of these options can be used to select any combination of names. 

−t[hpab]
Select the names. The names selected are those designated by the characters following the −t option according to the following table:
Name   Character
includeh (see note below)
cppp
as0a
as1b If the character ‘h’ is in the −t argument then a directory is added to the list of directories to be used in searching for ‘#include’ files. This directory name has the form COMP_TARGET_ROOT/usr/includestring. This directory is to contain the include files for the string release of the compiler. The standard directory is still searched. 

−hpath
Use path rather than the directory where the name is normally found. 

−Bstring
Append string to all names specified by the −t option. If no −t option has been processed before the −B, the −t option is assumed to be “hpab”. This list designates all names. 

Invoking the assembler with a name of the form asstring has the same effect as using a −Bstring option on the command line. 

If the environment variable COMP_HOST_ROOT is set, the value is used as the root directory for all pass names rather than the default /.  If the environment variable COMP_TARGET_ROOT is set, the value is used as the root directory for the includes rather than the default /. 

If the environment variable ROOTDIR is set, the value is used as the root directory for all names rather than the default /usr/. This also affects the standard directory for ‘#include’ files, /usr/include . 

If the environment variable TMPDIR is set, the value is used as the directory to place any temporary files rather than the default /tmp/ .

Other arguments are ignored. 

ERRORS

The diagnostics produced by the assembler are intended to be self-explanatory. 

FILES

file.o object file

a.out assembler output

/tmp/ctm? temporary

/usr/lib/cpp C macro preprocessor

/usr/lib/as0 symbolic to binary assembly language translator

/usr/lib/as1 binary assembly language assembler and reorganizer

/usr/include standard directory for ‘#include’ files

RELATED INFORMATION

cc(1), what(1)
DEC OSF/1 Programmer’s Guide

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026