Reads and assembles a source file.
as [ -a Mode ] [ -o ObjectFile ] [ -n Name ] [ -u ] [ -l [ ListFile ] ] [ -W | -w ] [ -x [ XCrossFile ] ] [ -s [ ListFile ] ] [ -m ModeName ] [ File ]
The as command reads and assembles the named File (by convention, this file ends with a .s suffix). If you do not specify a File, the as command reads and assembles standard input. It stores its output, by default, in a file named a.out. The output is stored in the XCOFF file format.
All flags for the as command are optional.
|-a Mode||Specifies the mode in which the as command operates. By default, the as command operates in 32-bit mode, but the mode can be explicitly set by using the flag -a32 for 32-bit mode operation or -a64 for 64-bit mode operation.|
|any||Specifies the indiscriminate mode. The assembler generates object code for any recognized instruction, regardless of architecture. This mode is used primarily for operating system development and for testing and debugging purposes.
Note: All POWER/PowerPC incompatibility errors are ignored when using the any assembly mode, and no warnings are generated.
|A35||Specifies the A35 mode. A source program can contain only instructions for the A35.|
|File||Specifies the source file. If no file is specified, the source code is taken from standard input.|
|-l[ListFile]|| Produces an assembler listing. If you do not specify a file name, a default name is produced by replacing the suffix extension of the source file name with a .lst extension. By convention, the source file suffix is a .s. For example:
produces a default name of:
If the source code is from standard input and the -l flag is used without specifying an assembler-listing file name, the listing file name is a.lst.
|-m ModeName||Indicates the assembly mode. This flag has lower priority than the .machine pseudo-op.
If this flag is not used and no .machine pseudo-op is present in the source program, the default assembly mode is used. The default assembly mode has the POWER/PowerPC intersection as the target environment, but treats all POWER/PowerPC incompatibility errors (including instructions outside the POWER/PowerPC intersection and invalid form errors) as instructional warnings.
If an assembly mode that is not valid is specified and no .machine pseudo-op is present in the source program, an error is reported and the default assembly mode is used for instruction validation in pass 1 of the assembler.
If the -m flag is used, the ModeName variable can specify one of the following values:
|-n Name||Specifies the name that appears in the header of the assembler listing. By default, the header contains the name of the assembler source file.|
|-o ObjectFile||Writes the output of the assembly process to the specified file instead of to the a.out file.|
|ppc||Specifies the PowerPC mode. A source program can contain only PowerPC instructions. Any other instruction causes an error.
|ppc64||Specifies the PowerPC 64-bit mode. A source program can contain 64-bit PowerPC instructions.|
|pwr||Specifies the POWER mode. A source program can contain only instructions for the POWER implementation of the POWER architecture.|
|pwr2(pwrx)||Specifies the POWER2 mode. A source program can contain only instructions for the POWER2 implementation of the POWER architecture. pwr2 is the preferred value. The alternate assembly mode value pwrx means the same thing as pwr2.
Note: The POWER implementation instruction set is a subset of the POWER2 implementation instruction set.
|-s[ListFile]|| Indicates whether or not a mnemonics cross-reference for POWER and PowerPC is included in the assembler listing. If this flag is omitted, no mnemonics cross-reference is produced. If this flag is used, the assembler listing will have POWER mnemonics if the source contains PowerPC mnemonics, and will have PowerPC mnemonics if the source contains POWER mnemonics.
Because the -s flag is used to change the assembler-listing format, it implies the -l flag. If both option flags are used and different assembler-listing file names (specified by the ListFile variable) are given, the listing file name specified by the ListFile variable used with the -l flag is used. If an assembler-listing file name is not specified with either the -l or -s flag, a default assembler listing file name is produced by replacing the suffix extension of the source file name with a .lst extension.
|-u||Accepts an undefined symbol as an extern so that an error message is not displayed. Otherwise, undefined symbols are flagged with error messages.|
|-W||Turns off all warning message reporting, including the instructional warning messages (the POWER and PowerPC incompatibility warnings).|
|-w|| Turns on warning message reporting, including reporting of instructional warning messages (the POWER and PowerPC incompatibility warnings).
Note: When neither -W nor -w is specified, the instructional warnings are reported, but other warnings are suppressed.
|-x[XCrossFile]||Produces cross reference output. If you do not specify a file name, a default name is produced by replacing the suffix extension of the source file name with an .xref extension. Conventionally, the suffix is a .s. For example:
produces a default name of:
Note: The assembler does not generate an object file when the -x flag is used.
|601||Specifies the PowerPC 601 RISC Microprocessor mode. A source program can contain only instructions for the PowerPC 601 RISC Microprocessor.
Note: The PowerPC 601 RISC Microprocessor design was completed before the PowerPC architecture. Therefore, some PowerPC instructions may not be supported by the PowerPC 601 RISC Microprocessor.
Attention: It is recommended that the 601 assembly mode not be used for applications that are intended to be portable to future PowerPC systems. The com or ppc assembly mode should be used for such applications.
The PowerPC 601 RISC Microprocessor implements the PowerPC architecture plus some POWER instructions are not included in the PowerPC architecture. This allows existing POWER applications to run with acceptable performance on PowerPC systems. Future PowerPC systems will not have this feature. The 601 assembly mode may result in applications that will not run on existing POWER systems and that may not have acceptable performance on future PowerPC systems, because the 601 assembly mode permits the use of all the instructions provided by the PowerPC 601 RISC Microprocessor.
|603||Specifies the PowerPC 603 RISC Microprocessor mode. A source program can contain only instructions for the PowerPC 603 RISC Microprocessor.|
|604||Specifies the PowerPC 604 RISC Microprocessor mode. A source program can contain only instructions for the PowerPC 604 RISC Microprocessor.|
|OBJECT_MODE=32||Produce 32-bit object code. The default machine setting is com.|
|OBJECT_MODE=64||Produce 64-bit object code (XCOFF64 files). The default machine setting is ppc64.|
as -l -o file.o file.s
as -s -m 601 -o file.o file.s
as -lxxx.lst -o file.o file.s
|/usr/ccs/bin/as||Contains the as command|
|a.out||The default output file.|
The cc command, ld command, m4 command.