Asvi
- The creator of this esolang did leave from esolangs wiki. Please help us by adding some more information.
- This is still a work in progress. It may be changed in the future.
Introduction
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.
Syntax
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
Registers
- Program counter abbreviated as PC register:
- A register that stores the char that is running right now.
- A register that stores the char that is running right now.
- Auxiliar Accumulator abbreviated as auc register:
- A register that is an auxiliar accumulator.
Abbreviations
Word | Abbreviation |
---|---|
Program Counter | pc |
Accumulator | acc |
Instructions
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
Implementations
This is on WIP so there is a no interpreter, If I would make a change I would need to make the interpreter again