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
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.
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.
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.
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.
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.
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.
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.
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.