Factsheet
Developer GNU Project
Release 1986; 40 years ago (1986)
Stable release GNU Binutils 2.46.1
/ 8 June 2026; 11 days ago (8 June 2026)
/ 8 June 2026; 11 days ago (8 June 2026)
Developer GNU Project
Release 1986; 40 years ago (1986)
Stable release GNU Binutils 2.46.1
/ 8 June 2026; 11 days ago (8 June 2026)
/ 8 June 2026; 11 days ago (8 June 2026)
Wikipedia
en.wikipedia.org › wiki › GNU_Assembler
GNU Assembler - Wikipedia
2 weeks ago - The GNU Assembler, commonly known as gas or as, is the assembler developed by the GNU Project. It is the default final pass of GCC, generating machine code from the assembly-language output of the code generator. It is used to assemble the assembly-language portions of the GNU operating system and the Linux kernel, and various other software.
Debrouxl
debrouxl.github.io › gcc4ti › gnuasm.html
The GNU Assembler
If a logical line number was given (see .line) then it is used to calculate the number printed, otherwise the actual line in the current source file is printed. The message text is intended to be self explanatory (in the grand Unix tradition). Error messages have the format ... The file name and line number are derived as for warning messages. The actual message text may be rather less explanatory because many of them aren't supposed to happen. The machine-independent syntax used by the GNU assembler is similar to what many other assemblers use; it is inspired by the BSD 4.2 assembler.
assembly - Source code for adding new GNU assembler x86 instruction and recompile - Stack Overflow
I am trying to figure out which file I need to modify in binutils project so I can add a new x86 instruction mov2 which will be exact copy of mov. Searching source folder resulted hundred of result... More on stackoverflow.com
Is there any book or online tutorial for learning assembly x86_64 (AT&T)?
I liked this book . Also you must read "Using as, the GNU assembler". Both with AT&T-based syntax. More on reddit.com
How do I compile an ARM Assembly Source file on ArchLinux?
You will want an exit syscall at the end of your code first, otherwise it'll execute junk after the last instruction. Add this to the end: mov r7, #1 /* syscall 1 - exit */ mov r0, #0 /* exit code 0 - success */ svc #0 /* do system call */ Then: pacman -S arm-none-eabi-binutils qemu-user arm-none-eabi-as -o prog.o prog.s \ && arm-none-eabi-ld -o prog prog.o \ && qemu-arm -d in_asm,exec,cpu -singlestep ./prog It'll output a disassembly of each instruction, and the registers before and after execution of each one: ---------------- IN: 0x00008000: e3a01042 mov r1, #0x42 Trace 0: 0x7faa3c0000c0 [00000480/00008000/00000000/00000201] R00=00000000 R01=408005be R02=00000000 R03=00000000 R04=00000000 R05=00000000 R06=00000000 R07=00000000 R08=00000000 R09=00000000 R10=0000801c R11=00000000 R12=00000000 R13=408003e0 R14=00000000 R15=00008000 PSR=00000010 ---- A usr32 ---------------- IN: 0x00008004: e24dd004 sub sp, sp, #4 Trace 0: 0x7faa3c000180 [00000480/00008004/00000000/00000201] R00=00000000 R01=00000042 R02=00000000 R03=00000000 R04=00000000 R05=00000000 R06=00000000 R07=00000000 R08=00000000 R09=00000000 R10=0000801c R11=00000000 R12=00000000 R13=408003e0 R14=00000000 R15=00008004 PSR=00000010 ---- A usr32 ---------------- etc More on reddit.com
How to assemble x86 assembly code in MacOS?
Your source is 32-bit, and Linux-specific. I don't remember exactly when Mac dumped 32-bit, but it was a while ago (then again, I don't know how old your computer+OS are either). And I don't think it ever used interrupt 0x80; that's a Linux thing. Looking at this tutorial , they used different section names (aside from also using the 64-bit registers). But then there's this one that ends up using the .data and .text sections, but also specifies the sections with section instead of .section. More on reddit.com
Videos
58:26
(x86-64) GNU Assembler Crash-Course - YouTube
13:35
Your First Program in Assembly | SASM (AT&T Syntax) | GNU Assembler ...
09:14
GNU Assembly Tutorial 1 - YouTube
23:51
What is Stack Memory | User Input in x86 AT&T Syntax | Assembly ...
11:43
Assembler Tutorial #2 - GCC Assembler - YouTube
08:52
Assembler Tutorial #1 - Einleitung - YouTube
freebasic.net
freebasic.net › board index › programming › general
Where is the assembler's source code located? [SOLVED] - freebasic.net
May 11, 2022 - For those of you curious on where the assembler source code is located, it's apart of the GNU Binutils. You can find them here. However, to save you time, if you're wanting to use pre-XP Windows to compile your programs, and DON'T want to compile your own custom version of Binutils read below.
GNU
ftp.gnu.org › old-gnu › Manuals › gas-2.9.1 › html_node › as_3.html
Using as - GNU Assembler
as is primarily intended to assemble the output of the GNU C compiler gcc for use by the linker ld. Nevertheless, we've tried to make as assemble correctly everything that other assemblers for the same machine would assemble. Any exceptions are documented explicitly (see section Machine Dependent ...
Arm Developer
developer.arm.com › documentation › den0013 › d › Introduction-to-Assembly-Language › Introduction-to-the-GNU-Assembler
Introduction to the GNU Assembler
We cannot provide a description for this page right now
Ee209-2019-spring
ee209-2019-spring.github.io › references › gnu-assembler.pdf pdf
Using as The gnu Assembler Version 2.14
syntax expected in source files, including notation for symbols, constants, and expressions; the directives that as understands; and of course how to invoke as. This manual also describes some of the machine-dependent features of various flavors of ... The gnu assembler can be configured to produce several alternative object file formats.
Linuxtopia
linuxtopia.org › online_books › redhat_linux_developer_tools_guide › s1-as-gnu.html
Red Hat Linux Developer Tools Guide - as, the GNU Assembler
Red Hat Linux Developer Tools Guide - as, the GNU Assembler
LMU
cs.lmu.edu › ~ray › notes › gasexamples
GNU Assembler Examples
To assemble and run: # # gcc hola.s && ./a.out # ---------------------------------------------------------------------------------------- .global main .text main: # This is called by C library's startup code mov $message, %rdi # First integer (or pointer) parameter in %rdi call puts # puts(message) ret # Return to C library code message: .asciz "Hola, mundo" # asciz puts a 0 byte at the end
Esa
microelectronics.esa.int › erc32 › doc › as.pdf pdf
Using as The gnu Assembler January 1994
This has little effect on the assembler, ... Control how to deal with multiplication overflow and division by zero. ‘--trap’ · or ‘--no-break’ (which are synonyms) take a trap exception (and only work · for Instruction Set Architecture level 2 and higher); ‘--break’ or ‘--no-trap’ · (also synonyms, and the default) take a break exception. ... This manual is intended to describe what you need to know to use gnu as. We cover the · syntax expected in source files, including notation for symbols, constants, and expressions;
Berkeley EECS
people.eecs.berkeley.edu › ~prabal › teaching › resources › eecs373 › Assembler.pdf pdf
Using as The gnu Assembler (Sourcery G++ Lite 2010q1-188) Version 2.19.51
This manual is a user guide to the gnu assembler as.
Mimuw
students.mimuw.edu.pl › ~zbyszek › asm › arm › assembler-intro.pdf pdf
An Introduction to the GNU Assembler
Assembly language source files consist of a sequence of statements, one per line. Each statement has the following format, each part of which is optional: ... Reference). A comment is anything that follows a semicolon “;”. ... All assembler directives have names that begin with a full-stop “.”. These are dis- cussed in detail in Chapter 7 of the GNU Assembler Reference; the list of directives
GitHub
github.com › gitGNU › gnu_as
GitHub - gitGNU/gnu_as: Temporary gnu Assembly "as"
This allows the assembler to assemble jump tables that jump to locations very far away into code that works properly. If the next label is more than 32K away from the .word, you lose (silently); RMS claims this will never happen. If the -K option is given, you will get a warning message when this happens. REPORTING BUGS IN GAS ===================== Bugs in gas should be reported to: bug-binutils@gnu...
Starred by 17 users
Forked by 9 users
Languages Makefile 30.3% | D 28.4% | Assembly 25.3% | C 13.2% | Roff 1.3% | Lex 0.6% | Makefile 30.3% | D 28.4% | Assembly 25.3% | C 13.2% | Roff 1.3% | Lex 0.6%
GitHub
gist.github.com › AVGP › 85037b51856dc7ebc0127a63d6a601fa
x86-gnu-assembly-primer.md · GitHub
There are quite a few possible directives for GNU assembler but we will focus on the ones we need for now: .code16, .global, and .fill. First of all, our bootsector will run when the processor is in its 16 bit real mode where it will use the 16 bit registers (ax etc.) and can only address 64kb of memory. The GNU assembler assumes 32 bit and the 32 bit registers by default, though. To avoid problems, we will tell the assembler to consider 16 bit the standard by starting our source code with the directive .code16.
Wikibooks
en.wikibooks.org › wiki › X86_Assembly › GNU_assembly_syntax
x86 Assembly/GNU assembly syntax - Wikibooks, open books for an open world
December 8, 2005 - The contents of "hello.s" may vary depending on the version of the GNU tools that are installed; this version was generated with Cygwin, using gcc version 3.3.1. The lines beginning with periods, like .file, .def, or .ascii are assembler directives — commands that tell the assembler how to assemble the file. The lines beginning with some text followed by a colon, like _main:, are labels, or named locations in the code.
SourceForge
asm.sourceforge.net › howto › gas.html
GAS
GAS is the GNU Assembler, that GCC relies upon. Find it at the same place where you've found GCC, in the binutils package. The latest version of binutils is available from http://sources.redhat.com/binutils/.
GNU
gcc.gnu.org › onlinedocs › gcc-3.1.1 › gcc › Overall-Options.html
Using the GNU Compiler Collection (GCC)
By default, the object file name for a source file is made by replacing the suffix .c, .i, .s, etc., with .o. Unrecognized input files, not requiring compilation or assembly, are ignored. ... Stop after the stage of compilation proper; do not assemble. The output is in the form of an assembler code file for each non-assembler input file specified.