LinuxAssembly.org

Assembly Language Programming on Linux

About

LinuxAssembly.org is a resource hub for assembly language programming on Linux. Whether you're writing your first "Hello, World" in NASM or optimising system calls in GAS, this site aims to be your reference for low-level programming on Linux.

Resources

๐Ÿ“– Linux Assembly HOWTO

Comprehensive guide to writing assembly on Linux systems.

๐Ÿ”ง NASM

The Netwide Assembler โ€” portable x86 assembler with Intel syntax.

โš™๏ธ GAS (GNU Assembler)

Part of GNU Binutils. AT&T syntax, tight GCC integration.

๐Ÿ“ฆ System Calls

Linux syscall reference for x86 and x86_64 architectures.

๐Ÿ”— ELF Format

Understanding the Executable and Linkable Format on Linux.

๐Ÿ’ก Code Examples

Practical assembly snippets and complete programs.

Hello World (NASM, Linux x86_64)

section .data
    msg db "Hello, World!", 10
    len equ $ - msg

section .text
    global _start

_start:
    mov rax, 1          ; sys_write
    mov rdi, 1          ; stdout
    mov rsi, msg        ; buffer
    mov rdx, len        ; length
    syscall

    mov rax, 60         ; sys_exit
    xor rdi, rdi        ; status 0
    syscall

This site is being restored and updated. More tutorials and resources coming soon.