✦ Assemble. Simulate. Learn.

A complete 64-bit virtual CPU.

CPUSim64 is a 64-bit virtual CPU, assembler, and cycle-accurate simulation environment for experimenting with CPU architecture, assembly language design, and microarchitecture concepts.

CPUSim64 icon

CPUSim64

Linux • macOS • Windows

mandelbrot.asm 64-bit RISC Cycle-Accurate
#include <system/io.asm>
#include <system/math.asm>

    #call   main()
    int     iEXIT

X_MIN:  DCF  -2.5
X_MAX:  DCF   0.5
Y_MIN:  DCF  -1.5
Y_MAX:  DCF   1.5
MAX_ITERATION: DCI 50

#def_func main()
    #var  argc, escape_limit, imageSize
    #fvar x, y, radius, x_min, x_max

    int     iARGC
    move    argc, r0
    cmp     argc, 7
    jump    lt, @GET_ARGS_FAILED
// Compute limits of image
    sub     x_min, x, radius
    store   x_min, X_MIN
    add     x_max, x, radius
    store   x_max, X_MAX
#end_func

Everything you need for CPU architecture exploration.

📝

Integrated Development Environment

Code editor with syntax highlighting, line numbers, console pane with interactive input, and integrated assemble/run/debug/trace.

🖥️

64-Bit Virtual CPU

A custom RISC-style architecture with support for integer/float arithmetic, branching, memory operations, and pseudo-instructions.

⚙️

Assembler with ANTLR4

A Java-based assembler with strict syntax checking, helpful diagnostics, preprocessor with macros, functions, loops, and conditional compilation.

🔄

Cycle-Accurate Simulation

Execute programs with cycle-accurate timing, stepping, register inspection, and optional instruction-by-instruction trace mode.

🐛

Debugging Tools

Run, debug, and trace programs from the IDE or command line. Inspect CPU state, set breakpoints, and step through code.

🔧

Native CLI Tool

A C++ command-line tool (cpusim64) for assembling, running, debugging, tracing, and disassembling from the terminal.

📚

Comprehensive Documentation

Full HTML documentation covering architecture, instruction set reference, directives, interrupts, libraries, and programming guide.

🧩

Standard Libraries

Built-in libraries for I/O, math, string operations, threads, and system calls. Navigate to system includes with Cmd+click.

🔍

Find and Replace

Find and replace with regex/grep support, capture groups, case sensitivity, whole word matching, and wrap-around search.

🤖

Agentic AI Assistant

Built-in AI chat panel for writing and debugging assembly. Supports OpenAI, Anthropic, Google, DeepSeek, Alibaba, and local Ollama. Context-aware with Allow/Reject code application.

📦

Native Installers

Signed and notarized macOS DMG, Windows MSI, and Linux DEB/RPM packages with file type associations.

🎨

Customizable

Configurable monospaced fonts, sizes, and syntax highlighting colors. Settings persist across sessions.

🖥️

Cross-Platform

Runs on Linux, macOS, and Windows with native installers for each platform.

Simple app licensing.

Buy CPUSim64 once and use it to learn assembly language, experiment with CPU architecture, and explore microarchitecture concepts.

$25 software license

A complete 64-bit virtual CPU, assembler, and simulation environment with integrated IDE.

  • Integrated development environment with syntax highlighting
  • 64-bit RISC-style virtual CPU
  • Java-based assembler with ANTLR4
  • Cycle-accurate simulation engine
  • Debugging, trace, and disassembly tools
  • Agentic AI assistant for writing and debugging assembly
  • Native CLI tool and installers
  • Comprehensive documentation and examples
  • Cross-platform (Linux, macOS, Windows)
Get CPUSim64

Common questions

What is CPUSim64?

CPUSim64 is a complete software toolchain for experimenting with CPU architecture and assembly language design. It includes a 64-bit virtual CPU, assembler, and cycle-accurate simulation engine.

What can I do with CPUSim64?

Write assembly programs, assemble them, run them on the virtual CPU, debug with stepping and register inspection, trace execution, and disassemble object files.

What instruction types are supported?

CPUSim64 supports integer and floating-point arithmetic, branching, memory operations, pseudo-instructions, interrupts, and a standard library of system calls.

What are the system requirements?

CPUSim64 requires Java to run. It works on Linux, macOS, and Windows.

Is there documentation?

Yes. CPUSim64 includes comprehensive HTML documentation covering the architecture, instruction set, directives, interrupts, libraries, and a programmer's guide.

Are example programs included?

Yes. Sample assembly programs with expected output files demonstrate instruction usage, control flow, I/O, interrupts, and library calls.

Which platforms are supported?

CPUSim64 runs on Linux, macOS, and Windows — anywhere Java is available.

Do I need a license for each computer?

No, you only need one license that is good for all platforms and all computers that you as an individual own. Send an email to Glowing Cat Software for information about commercial licenses.

Is CPUSim64 open source?

Yes. CPUSim64 source is available under the Apache 2.0 license.

Can I download and use CPUSim64 without a license?

Yes, purchasing a license is optional, but it helps support open source software development.

CPUSim64 Logo

Ready to explore CPU architecture?

Download CPUSim64 to write assembly, simulate execution,
and learn computer architecture hands-on.

×