Intelligent assemblers
Validated encoding, precise diagnostics, architecture rules, reusable machine descriptions, and an assembler-centered intermediate layer.
ForgeVM is a focused systems project for intelligent assemblers, machine-aware optimization, linking, debugging, binary tooling, compiler support, and first-class WebAssembly workflows.
ForgeVM concentrates on connected engineering layers instead of becoming a general programming portal.
Validated encoding, precise diagnostics, architecture rules, reusable machine descriptions, and an assembler-centered intermediate layer.
Optimization close to the final instruction stream, with measurable effects on size, speed, layout, and target behavior.
Object generation, linking, relocation, executable formats, disassembly, debugging, and binary inspection.
A strong path between low-level toolchains and modern web execution, with optimization and diagnostics built in.
Published tools and prototypes are the primary evidence of project progress.
LLInfra builds modern low-level infrastructure from scratch in C++20/23. It features a multi-architecture 64-bit assembler for x86-64, ARM64, and RISC-V with latest extensions, plus a linker, minimal runtime, C compiler with SSA backend, and bare-metal kernel. Free from legacy baggage, it offers a clean foundation for researchers and developers seeking to deeply understand low-level systems.
WebAssembly is designed into the architecture rather than added later as an export format.
Explore how assembler-oriented structures can support both native encodings and WebAssembly instruction streams without hiding machine intent.
Apply validation, simplification, layout, and target-specific optimization before a module reaches the browser or runtime.
Make binary-level and WebAssembly errors understandable to compiler authors, systems programmers, and language designers.
Each phase must produce verifiable artifacts before the next layer expands.
Machine descriptions, instruction encoding, validation, diagnostics, object emission, and comprehensive tests.
Instruction-level transformations, layout, relocation, object composition, executable generation, and binary inspection.
Module production, analysis, optimization, native interoperability, and browser-oriented development workflows.
Compiler interfaces, C/C++/Rust/Zig support, language design tools, ARM/AArch64, and RISC-V.
Only published builds and documented milestones appear here.
The release archive will begin with the first verified public ForgeVM build.
Articles explain architecture decisions, experiments, formats, optimization, and integration work.
Floating-point computing has evolved from scalar FPU operations to SIMD vectors, massively parallel GPUs, and specialized matrix and tensor engines. Modern processors combine CPUs, GPUs, NPUs, and accelerators, using mixed precision to balance speed, accuracy, and energy. The future is heterogeneous computing focused on both increasing performance and reducing costly data movement.
Read article →An ABI is the binary contract that lets compilers, libraries, runtimes, and operating systems work together. It defines calling conventions, register use, stack layout, data representation, symbols, linking, loading, and system calls. C remains the preferred ABI language because its simple, explicit model enables stable, portable interfaces across compilers and programming languages.
Read article →GAS is a powerful assembler because it supports many CPU architectures through GNU Binutils, including x86, ARM, RISC-V, MIPS, and PowerPC. On x86, it supports both Intel and AT&T syntax. GAS works closely with GCC, Clang, GDB, `ld`, `objdump`, and `readelf`, making it ideal for systems programming, compilers, operating systems, cross-compilation, and low-level development.
Read article →Books remain a supporting knowledge layer, not the center of the website.
This booklet explains how x86-64 processors execute software under Linux. It covers instructions, registers, pipelines, caches, memory, paging, privilege levels, interrupts, and debugging tools. By distinguishing architecture from microarchitecture, it helps programmers, engineers, researchers, and students understand, analyze, secure, and optimize modern systems with confidence.
Assembly reveals how processors, memory, operating systems, and performance truly work. This second volume introduces x86-64 assembly on Linux using GAS with Intel syntax, covering assembling, linking, memory layout, calling conventions, functions, and high-level language interoperability through clear, practical, testable examples.
This booklet explains Linux system calls and process control directly in x86-64 assembly, without libc or high-level abstractions. It covers kernel interfaces, registers, processes, signals, environments, memory, and execution, then builds a minimal working shell. It is designed for readers seeking a precise foundation in Linux systems programming, debugging, performance, and runtime design.
Books and articles remain valuable, but they are organized as supporting resources around the assembler-first compiler infrastructure mission.