Skip to content
A virtual machine with a small 16 bit instruction set
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


This is a VM with a small 16 bit instruction set, an assembler and an assembly language that I wrote for fun and excercise (still a lot to do)
(I will write a full documented readme in the next days)


This is the assembly language used with avm_assembler, an example of a factorial program can be found in src/factorial.a4x


I only use stdio string unistd and stdlib so you just need to

gcc main.c -o avm && gcc assembler/main.c -o avm_assembler

in order to compile both VM and Assembler

Running a binary in the AVM

First of all you should write a program with the A4X syntax, at the moment check main.c in the root directory for a4x documentation or look at the example in src/factorial.a4x, then use the avm_assembler to compile it

./avm_assembler src/factorial.a4x factorial

Then start the AVM:


now just paste the binary path and press enter to start the execution

Contact me

@Arm4x Feel free to contact me for help or anything else

You can’t perform that action at this time.