Assembly language, unified.
Write low-level code once with a clean, portable instruction set. Compile to x86-64, ARM, RISC-V, 8051, and more. No compromises.
; hello.ua — runs on ALL architectures
@IMPORT std_io
LDS R0, "Hello, World!\n"
CALL std_io.print
HLTOne language. Six targets.
uα compiles your code to native machine instructions for every major architecture — from 64-bit servers to 8-bit microcontrollers.
-arch x86-arch x86_32-arch arm-arch arm64-arch riscv-arch mcs51Why uα?
Designed from the ground up for portability, simplicity, and bare-metal performance.
Zero Dependencies
Pure C99 compiler — no build system, no package manager, no runtime. One command to build.
37 Core Instructions
The MVIS instruction set gives you everything you need. Identical behavior across all targets.
Write Once, Run Anywhere
Same source compiles to x86, ARM, RISC-V, and 8051. The compiler handles the translation.
Standard Libraries
Built-in libraries for I/O, strings, math, arrays, vectors, and file streams — all in pure uα.
JIT Execution
Run your code instantly with --run. No linking, no separate assembler. Just write and execute.
Compile-Time Safety
Architecture compliance is checked at compile time. No invalid opcodes slip through.
How it works
A clean five-stage pipeline transforms your uα source into native machine code.
Precompiler
Evaluates @directives, processes imports and conditionals
Lexer
Transforms source text into a flat array of typed tokens
Parser
Produces architecture-neutral IR instructions
Backend
Generates native machine code for the target CPU
Output
Emits PE, ELF, Mach-O binary or runs JIT
Download uα
Pre-built binaries available for all major platforms. Just download and start compiling.
Ready to write portable assembly?
Get started in minutes. No dependencies. Just a C compiler and your imagination.
Created by Swen Kalski · Open source under GNU License