From Esolang
Jump to navigation Jump to search
The creator of this esolang did leave from esolangs wiki, continue page for yourself
This is still a work in progress. It may be changed in the future.


The Asvi programming language was made to have a Virtual Machine, that is similar to Assembly code, Turing complete and esoteric at the same time.


Asvi instructions are just 2 character, without parameters, so it would be really easy to make an interpreter.

File extensions

Asvi file extensions are .asvi and .avmc.

.asvi is for storing source code
.avmc is for storing the Asvi Virtual Machine code

How data is stored

Asvi stores data with a stack, a heap, an accumulator abbreviated as acc and some pointer registers.

This is serious business man, specially because there is 2 characters for 1 instruction so you would need to use the entire Unicode table. For legal reasons that was a joke


Program counter abbreviated as PC register:
A register that stores the char that is running right now.
Auxiliar Accumulator abbreviated as auc register:
A register that is an auxiliar accumulator.


Word Abbreviation
Program Counter pc
Accumulator acc


Registers manipulation

Instruction Result Description
xa aux = (aux + 1) Increments the aux register
xd aux = (aux - 1) Decrements the aux register
ai acc = (acc + 1) Increments the acc register
ad acc = (acc - 1) Decrements the acc register
pc pc = acc Set the PC register to the acc register
ms mem[acc] = aux Can't explain
ma mem[acc] = (mem[acc] + aux) Increments the memory location pointed by acc

Final notes

Program stores in the same memory

The memory of the program and code of the program is stored in the same memory. The code of the program is stored in numbers, a number means an instruction, this is the instruction table:

Number Equivalent to
Ejemplo Ejemplo
Ejemplo Ejemplo

.avmc File extension


This is on WIP so there is a no interpreter, If I would make a change I would need to make the interpreter again