Skip to content
Screen edited this page Jun 17, 2026 · 14 revisions

Easy

Easy is a super stripped-down processor architecture. It’s loosely based on RISC, but simplified even further, basically giving you a small set of core instructions and expecting you to build more complex stuff on top of them.

How do you use it?

Right now there’s no real CPU that runs Easy natively, so you run it through emulation on your current machine.
Using the Easy64 emulator, you can basically port Easy anywhere as a VM that reads bytecode.

Easy Assembly Guide

Easy Assembly is pretty minimal. The instruction set looks like this:
mov, add, sub, mul, div, and, or, xor, nop, not, shl, shr, jmp, je, jne, jl, jg, cmp, call, ret, push, pop, hlt, inc, dec, load, store, entry.

The Easy64 emulator adds a couple extra instructions to make emulation practical:
import, syscall, print.

These are all classic assembly instructions. Nothing fancy,just enough primitives to let you build more complex behavior yourself.

Easy Assembly register count

It’s 20 in the default/classic setup, but you’re free to tweak the code and add more if you need them.

The VM is open-source, so you can extend it however you want. But if you’re thinking about actually building a CPU for it, the “official” / base design sticks to those 20 registers.

How can I fully learn Easy Assembly?

Check out the examples folder in the GitHub repo, go through the code and see how things are done. Since there’s basically no hard limit on what you can build, we started with simple stuff to explore and test features.

That said, you can just jump in and start writing your own code too, that’s honestly one of the best ways to get the hang of it.

What does the output (binary code) look like?

The assembler doesn’t really follow the order you write your code in. It reorganizes everything based on its own internal structure.

The Easy assembler outputs things in this order:
easyfile

Clone this wiki locally