stack_vm/README.md

49 lines
985 B
Markdown

# stack_vm
Stack based virtual machine and assembly code compiler
## Features
- Assembly language compilation
- Binary code execution
- 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
- **OUTS**
Outputs string with C I/O operators
- **OUTC**
Outputs one stack element as char with I/O operators
## TODO
- Variables
- Arithmetics operators
- Strings
- I/O operators
- Loops
- Arrays