-
Notifications
You must be signed in to change notification settings - Fork 0
Home
These docs have not been updated in a very long time. And there for everything has likely changed. Sorry!!!! Docs will be updated when the project it more stable. These docs take far to much time to make and this project is "very demanding". Sorry!!!
Welcome to the wiki for the MVM (Micro Virtual Machine) project! This wiki provides detailed information about the design, implementation, and usage of MVM.
MVM is a simple, educational virtual machine written in Kotlin. It was created to explore the fundamentals of virtual machine architecture and to provide a platform for experimentation.
- Custom Assembly Language: MVM uses a straightforward assembly language with instructions for data movement, arithmetic, stack operations, control flow, memory access, and system calls.
- Fixed Memory: MVM uses a fixed amount of memory, simplifying memory management.
- Error Handling: The VM utilizes exceptions for robust error handling.
- Registers: MVM uses a set of registers, including general-purpose registers, system call registers, and return registers.
- Memory: The VM has a fixed amount of memory that is universally accessible.
- Instruction Decoder: The VM includes a component to decode bytecode instructions.
- Execution Engine: The execution engine fetches, decodes, and executes instructions.
- System Calls: MVM provides a limited set of system calls to interact with the underlying operating system.
- Writing Byte Code: Programs are written in the MVM assembly language.
- Bytecode Execution: The MVM loads and executes the bytecode, interacting with the memory, registers, and system calls.
Look at the sidebar!!!!
Contributions to the MVM project NOT are welcome! This is a personal project. But you may submit issues
MVM (Micro Virtual Machine) Wiki | Made with love and kotlin
warning, docs rewrite
Getting Started
Programming Guide
- Introduction to MVM Assembly
- Instruction Set
- Registers
- Memory and Addressing
- System Calls
- Standard Library
- Subroutines (Functions)
Reference Tables
VM Internals (Advanced)
- Architecture Overview
- Execution Engine NOT UPDATED
- System Call Implementation NOT UPDATED
- Memory Management NOT UPDATED
- Plans
Project