Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tomdionysus/mihini
A Minimal VM for embedded systems
https://github.com/tomdionysus/mihini
Last synced: about 2 months ago
JSON representation
A Minimal VM for embedded systems
- Host: GitHub
- URL: https://github.com/tomdionysus/mihini
- Owner: tomdionysus
- License: mit
- Created: 2022-12-10T02:16:19.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2022-12-23T03:06:18.000Z (about 2 years ago)
- Last Synced: 2024-04-12T16:08:55.200Z (9 months ago)
- Language: C
- Homepage:
- Size: 42 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Mihini
Mihini is virtual machine for embedded use.
*mihīni (loan) (noun) - machine, engine - [Te Aka](https://maoridictionary.co.nz/word/4064)*
*Status:* Mihini is alpha. Please don't use it in anything resembling production or rely on it - yet.
## Components
* `mhvm` VM frontend (alpha)
* `mhasm` assembler (beta)
* `mhdasm` disassembler (beta)* `libmihini` VM library (alpha)
## Building
Mihini has no dependencies other than `stdlib` (and cmake), so building the `mhasm`, `mhdasm` and `mihini` executables is trivial:
```
cmake .
make
```## mihini VM
By default, the VM has 1Mb of memory and a 4kbyte stack.`mhvm `
## mhasm Assembler
`mhasm `
## mhdasm Disassembler
`mhdasm `
## mhvm Virtual Machine
`mhdasm `
## VM Layout
See the [VM Layout Doucmentation](VM_LAYOUT.md).
## System Calls
See the [syscall Documentation](SYSTEM.md).
## Examples
See the [example](example) dir for `hello_world.mhasm` and further examples.
## Tests
The `mihini_tests` executable is built along with everything else into the `bin` dir. Execute the tests like so:```
mihini_tests
```