Assembly
Aug 4, 2026
Practical Examples and Debugging: Building Step-by-Step with Makefiles.
When developing an x86-64 assembler in C/C++, managing the build process effectively is essential to streamline compilation, facilitate incremental builds, and ensure maintainability. Using makefiles remains a widely...
1 reads
1 today
Read article
Assembly
Aug 4, 2026
Practical Examples and Debugging : Writing a Full Sample Assembler in C/C++
Designing and implementing a full assembler in C or C++ is an excellent practical exercise to consolidate the understanding of assembler architecture, data structures, parsing, code generation, and output formats. This...
0 reads
0 today
Read article
Assembly
Aug 4, 2026
Assembler Internals: Design Decisions -> Custom Directives and Instruction Macros
1. Introduction Custom directives and instruction macros are powerful features within assembler design that enhance expressiveness, flexibility, and code reuse. They allow programmers to extend the assembly language...
0 reads
0 today
Read article
Assembly
Aug 4, 2026
Assembler Internals: Design Decisions -> Label Resolution and PC-Relative Addressing
1. Overview Label resolution and PC-relative addressing are critical components in the design of an x86-64 assembler, deeply affecting code generation, performance, and relocation. Labels serve as symbolic...
0 reads
0 today
Read article
Assembly
Aug 4, 2026
Assembler Internals: Design Decisions -> Symbol Resolution Strategies
1. Introduction Symbol resolution is a fundamental process within an assembler responsible for mapping symbolic names—such as labels, variables, and constants—to their concrete addresses or values during...
0 reads
0 today
Read article
Assembly
Aug 4, 2026
Assembler Internals: Design Decisions -> Macro Processors and Performance Tradeoffs
1. Introduction Macro processing is a powerful feature in assemblers that allows programmers to define reusable code templates or macros, which can be expanded during assembly time. This capability enhances code...
1 reads
1 today
Read article
Assembly
Aug 4, 2026
Assembler Internals: Design Decisions -> One-pass vs Two-pass Assemblers
1. Introduction A fundamental design decision when creating an assembler is choosing between a one-pass or two-pass architecture. This choice significantly influences the assembler’s complexity, performance, memory...
2 reads
0 today
Read article
Assembly
Aug 4, 2026
Object File Generation : Creating Relocatable Object Files -> Using Libraries (e.g., libelf, LLD) to Assist
Introduction Developing a complete assembler capable of producing valid relocatable object files compliant with ELF specifications involves significant complexity. To reduce development time and improve reliability,...
1 reads
0 today
Read article
Assembly
Aug 4, 2026
Object File Generation : Creating Relocatable Object Files -> ELF32 vs ELF64 Differences
1. Introduction When designing an assembler targeting x86-64 architectures, understanding the distinctions between the 32-bit ELF (ELF32) and 64-bit ELF (ELF64) formats is essential for generating correct relocatable...
0 reads
0 today
Read article