47 lines
950 B
Markdown
47 lines
950 B
Markdown
# stack_vm
|
|
|
|
Stack based virtual machine and assembly code compiler
|
|
|
|
## Features
|
|
|
|
- Binary code execution (assembly language compilation coming soon)
|
|
- Assembly
|
|
- Stack operations (push & pop)
|
|
- Arithmetics operations
|
|
- I/O operations
|
|
|
|
## Assembly documentation
|
|
|
|
### Commands:
|
|
|
|
- **NONE**
|
|
Doesn't do anything
|
|
- **PUSH**
|
|
Pushes value to stack
|
|
- **POP**
|
|
Removes from stack top
|
|
- **ADD**
|
|
Removes two top values in stack and pushes their sum
|
|
- **SUB**
|
|
Removes two top values in stack and pushes substraction of them
|
|
- **MUL**
|
|
Removes two top values in stack and pushes multiplication of them
|
|
- **DIV**
|
|
Removes two top values in stack and pushes integer part of division
|
|
- **MOD**
|
|
Removes two top values in stack and pushes modulo
|
|
- **IN**
|
|
Inputs string with C I/O operators
|
|
- **OUT**
|
|
Outputs string with C I/O operators
|
|
|
|
## TODO
|
|
|
|
- Assembly compiler
|
|
- Variables
|
|
- Arithmetics operators
|
|
- Strings
|
|
- I/O operators
|
|
- Loops
|
|
- Arrays
|