Performance & Systems
Aug 7, 2026
Differences Between High-Level and Assembly Languages
Differences Between High-Level and Assembly LanguagesIn the realm of programming, languages are categorized based on their level of abstraction from machine code. High-level languages (HLLs) and assembly languages represent two ends of this spectrum, each serving distinct purposes and offering unique advantages and…
7 reads
0 today
Read article
Performance & Systems
Aug 7, 2026
Overview of the Assembler's Role in Compilation
Overview of the Assembler's Role in CompilationIn modern computing, the assembler serves as a pivotal component in the software development process, acting as a bridge between human-readable assembly language and machine-executable code. Its role is integral to the compilation pipeline, facilitating the transformation…
6 reads
0 today
Read article
Performance & Systems
Aug 7, 2026
Currently exploring the design of a native code generator for ForgeVM
Currently exploring the design of a native code generator for ForgeVM. This is a modular, scalable code generator for ForgeVM, focusing on direct translation from a high-level representation (AST → IR) to native assembly or machine code for x86-64 and ARM64. Part 1: Abstract Architecture Overview [ Source Code (Any…
5 reads
0 today
Read article
Performance & Systems
Aug 7, 2026
X86 Registers, Flags,
X86 Registers, Flags, .... 1. x86 Register Encodings (Used in Machine Code)Registers in x86 are not accessed directly via hex opcodes; instead, their usage is encoded in modR/M, SIB, or opcode bytes. Below is how they’re represented in 3-bit binary (and hex) within instruction fields.RegisterBinaryHex (for internal…
19 reads
0 today
Read article
Performance & Systems
Aug 7, 2026
x86-64_Instructions
x86-64 Legacy InstructionsThis table lists core legacy x86-64 assembly instructions with their machine code and encoding details.MnemonicOpcodeEncodingOperandsModR/MSIBDescriptionMOV89 /rLegacyreg, reg/memYesOptionalMove data between registers or memoryADD01 /rLegacyreg, reg/memYesOptionalAdd two operandsSUB29…
15 reads
0 today
Read article
Performance & Systems
Aug 7, 2026
What is TASM and Why Was It Important
What is TASM and Why Was It Important?TASM (Turbo Assembler), developed by Borland in the late 1980s, was one of the most popular assemblers of its time. It was designed to compete with MASM from Microsoft and offered:Fast assembly performance.Support for both Intel syntax and MASM-compatible syntax.Excellent…
34 reads
0 today
Read article
Performance & Systems
Aug 7, 2026
Macros in Assemblers Are There Better Alternatives in Modern Assemblers
Macros in Assemblers: Are There Better Alternatives in Modern Assemblers?In almost all assemblers, the macro mechanism is used to mimic the behavior of functions found in high-level languages. These macros are textual templates that get expanded at assembly time, allowing code reuse and abstraction.But are there more…
7 reads
0 today
Read article
Performance & Systems
Aug 7, 2026
For Assembly Users - When Should You Use GAS, NASM, or MASM
For Assembly Users - When Should You Use GAS, NASM, or MASM? A Detailed Guide to Choosing the Right Assembler for Your ProjectIntroductionWhen working with assembly language, it's not enough to simply understand the instructions. You must also choose the right assembler for your project. The most popular assemblers…
47 reads
0 today
Read article
Performance & Systems
Aug 7, 2026
Understanding syscall and int 21h in Assembly Language
Understanding syscall and int 21h in Assembly Language Who's in Control: The CPU or the Operating System?In assembly language, there's no concept of "functions" like in high-level programming languages. Instead, there's a mechanism to interact with the operating system to perform essential tasks like reading files,…
15 reads
0 today
Read article