Articles count is : 918
Object File Generation: ELF Format Deep Dive -> Section Headers: .text, .data, .bss
In the ELF object file format, section headers define the organization of the binary’s data into logically distinct regions. Each section header pro...
Architecture of an Assembler: Data Structures in Assembler Design -> Relocation Table
The relocation table is a fundamental data structure in assembler and linker design, responsible for recording references to symbols or addresses that...
Architecture of an Assembler: Data Structures in Assembler Design -> Instruction Table
The instruction table is the core reference structure that an assembler uses to map mnemonic representations of machine instructions to their correspo...
Architecture of an Assembler: Data Structures in Assembler Design -> Symbol Table
The symbol table is one of the core data structures in any assembler. It serves as a central repository for all named identifiers encountered during t...
Architecture of an Assembler: Lexical analysis and tokenizing
After preprocessing completes macro expansion, includes, and directive handling, the assembler proceeds to lexical analysis, also known as tokenizing....
Architecture of an Assembler: Code generation: converting tokens to binary
The code generation phase is the assembler’s core responsibility—translating the parsed instructions and directives into raw machine code. This in...
Architecture of an Assembler: Symbol resolution and backpatching
After code generation has constructed the initial binary stream, an assembler must resolve all symbolic references to their actual numeric addresses o...
Architecture of an Assembler: Syntax Analysis: Grammar and Parsing
Following the lexical analysis phase, the assembler enters the syntax analysis or parsing stage. This phase is responsible for interpreting the token ...
Architecture of an Assembler: Assembler Phases Explained
- Preprocessing: Macro Expansion, Includes, Directives1. Overview of Preprocessing in an Assembler Preprocessing is the initial phase in the assembl...
x86-64 Machine Code Encoding: Little-endian Conversion Walkthroughs
The x86-64 architecture uses little-endian byte order for representing multi-byte values such as immediate constants, displacement fields, and memory ...
Drawing Graphics with CPU Only on Windows Using GAS Assembly (Intel Syntax)
This example shows how to create a simple Windows application in pure x86 Intel syntax assembly, which: Creates a window Allocates a framebuffer in...
Graphics Programming Using the CPU Only (No GPU): A Complete Guide for Professionals on Linux and Windows
Why Program Graphics Without a GPU? With the advancement of GPU technologies, some might wonder: why would anyone be interested in drawing graphics ...