# 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