
as Command in Linux
as in Linux is a GNU assembler that allows you to convert assembly language code into machine code. This command reads a source file usually with a .s extension. After that, it assembles it into an object file, usually named "a.out" by default. The main purpose of this command is to process the output of the GNU compiler on your Linux system.
Table of Contents
Here is a comprehensive guide to the options available with the as command in linux −
Syntax of as Command
By default, the as command is installed on most Linux systems. Heres is the basic syntax to use the as command −
as [options] [file]
Where,
- [options] specify different flags or options that can be used to change the command's behavior.
- [file] specify the assembly language source file (.s extension) to be assembled.
as Command Options
With as command, there are number of options you can use, some of them are discussed in the table provided below −
Option | Description |
---|---|
-a | Generates a listing file with various details like source code, assembly, etc. |
-D | Defines a symbol with a specified value. |
-g | Generates debugging information. |
-I dir | Adds a directory to the list of directories to be searched for include files. |
-L | Keeps local symbols in the symbol table. |
-MD | Generates dependency files for make |
-o outputfile | Specifies the name of the output file. |
--statistics | Displays statistics about the assembly process. |
--version | Display version information. |
-W | Suppresses warning messages. |
-Z | Generates an object file even if there are errors. |
Examples of as Command in Linux
Lets discuss a few practical examples of as command executed in a Linux system −
- Basic Usage of as Command in Linux
- Generating a Listing File
- Generating Dependency File
- Displaying Statistics of Resources
- Generating an Object File Despite Errors
Basic Usage of as Command
The basic use of the as command in Linux is to assemble an assembly language source file into an object file. You can do this by simply using the command followed by the assembly language source file name. For example −
as main.s

By default, the command generates the output file as a.out. However, you can specify the name of the output file using the -o option. For example −
as -o file.out main.s
This command will assemble the source file main.s into an object file named file.out.

Generating a Listing File
You can also generate a listing file that includes the source code, assembly, and machine code. This can be useful for debugging and understanding the assembly process. To generate a listing file, you can use the -alh option followed by the desired listing file name. For example −
as -alh=listing.lst main.s
The above command will assemble the source file main.s and generate a listing file named listing.lst with assembly, high-level, and symbol information.

Generating Dependency File
You can also generate a dependency file to track the dependencies of your source file using the as command. This is particularly useful in build systems to ensure that all important files are recompiled when changes are made.
To generate a dependency file, you can use the -MD option followed by the desired dependency file name. For example −
as -MD main.d main.s
This command will create a file named main.d that lists the dependencies of main.s.

Displaying Statistics of Resources
The as command can also be used to display statistics about resources during the assembly process. This includes information like memory usage and execution time. You can display these statistics by using the --statistics option. For example −
as --statistics -o output.o main.s
Once you run this command, it will assemble the main.s file into output.o and display statistics about the assembly process.

Generating an Object File Despite Errors
If you want to generate an object file even if there are errors, you can use the -z option. This can be useful for testing or debugging processes. For example −
as -Z -o output_err.o main.s
The above command will generate an object file output_err.o even if the main.s file includes errors.

Thats how you can use the as command on your Linux system.
Conclusion
The as command is a powerful tool that is used to convert assembly language code into machine code. You can use this command with several options, each outputting a different result.
In this user-friendly tutorial, we explained the syntax of the as command and provided descriptions of different options used with it. Along with that, we presented different examples that help you understand its usage better.
By mastering the as command, you can efficiently assemble your code and streamline your development process.