Skip to content

Lexicon Entry

Data Section (.data)

The section of an executable that contains initialized global and static variables. Unlike .bss, these values occupy space in the file on disk because they have non-zero initial values that must be loaded into memory.

Related Knowledge & Cross-References

Guide
Apr 28, 2026

Linker Explained: How Object Files Become Executables (Static & LTO)

Learn how the linker transforms object files into executables. Explore symbol resolution, relocation records, static vs dynamic linking, and Link-Time Optimization with real readelf and nm examples.

Continue Reading
Guide
Mar 31, 2026

How a C Program Becomes Machine Code: The C Compilation Process Explained

Trace the complete C compilation process from source code to executable binary. See each stage — preprocessing, compilation, assembly, and linking — with real GCC and Clang output across x86-64 and ARM64.

Continue Reading
Guide
Feb 22, 2026

System Calls Demystified: 4 Essential Facts About the User-Kernel Bridge

How does your program actually *do* anything? We dive deep into the `syscall` instruction, kernel mode transitions, and the differences between Linux, macOS, and Windows system calls.

Continue Reading
Guide
Feb 14, 2026

Executable File Formats: ELF, PE, and Mach-O Explained

How does the operating system know how to take that file and turn it into a running process? The answer lies in the Executable File Format.

Continue Reading
Guide
Feb 1, 2026

x86-64 & ARM64 Calling Conventions Demystified

Learn x86-64 and ARM64 calling conventions across Linux, macOS, and Windows. Master parameter passing, stack frames, and register preservation with hands-on assembly examples.

Continue Reading
Guide
Oct 28, 2025

Windows Assembly Toolchain: The Native MASM Guide

Set up the Windows native assembly toolchain with Visual Studio. Learn ml64.exe (MASM) for x64 and armasm64.exe for ARM64, plus key syntax differences from GNU tools.

Continue Reading
Guide
Oct 28, 2025

Assembly Hello World: Windows Edition (x64 & ARM64)

Learn Windows assembly programming for x64 and ARM64. Build Hello World using both Kernel32 APIs and direct syscalls with MASM (ml64.exe) and armasm64.exe toolchains.

Continue Reading
Guide
Oct 23, 2025

Assembly Hello World: A Cross-Platform Syscall Deep Dive

Master assembly syscalls across Linux & macOS for x86-64 and ARM64 architectures. This comprehensive assembly syscall tutorial provides working code examples for write and exit syscalls.

Continue Reading