https://github.com/splittydev/imardin2
Imardin Virtual Machine 2
https://github.com/splittydev/imardin2
Last synced: 3 months ago
JSON representation
Imardin Virtual Machine 2
- Host: GitHub
- URL: https://github.com/splittydev/imardin2
- Owner: SplittyDev
- Created: 2015-10-15T16:19:25.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2015-10-15T19:26:18.000Z (over 9 years ago)
- Last Synced: 2025-03-25T18:55:30.156Z (3 months ago)
- Language: C#
- Size: 176 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Imardin2
Imardin2 is a virtual machine with its own assembly language.
It contains an assembler (imc), the vm itself (imvm) and a library for shared code.# imc
imc is the imardin assembler.
It takes an assembly source file as input and spits out bytecode targetting the imardin vm.An example assembly file may look like the following:
```asm
jmp mainmain:
mov %eax, 0x10 # move 0x10 into the eax register
```Command-line arguments and switches:
| Argument | Description
| -------- | -----------
| -i | Input source
| -o | Output binary# imvm
imvm is the imardin vm.
It takes compiled imardin bytecode as input and interprets it.Command-line arguments and switches:
| Argument | Description
| -------------- | -----------
| -i | Input binary
| -m
--memory | Memory size
| -s
--stack | Stack addressPlease be aware that the stack grows to the top,
so be sure to allocate enough space for the stack.
You can also use . as stack address to place it at the end of the memory.# libImardin2
libImardin2 is a dynamic link library that contains most of the code that
imc and the imvm use.