This repository has been archived on 2025-02-21. You can view files and clone it, but cannot push or open issues or pull requests.
corten/docs/spec.md
Anthony Foxclaw 853188b010 Fixed bug with VM assigning wrong opcode
- Fixed a bug with VM assigning wrong opcode. After doing a little digging into the Iridium 1 source code (skipping to the next part of the tutorial), I discovered I had to have implement from() function in both directions. I.e. the Opcode outputs integer and integer outputs an Opcode. Derp moment in retrospective since I already had it done for the former but this is a learning experience.
- Moved Opcode enum to assembler module.
2020-02-08 15:14:37 -05:00

770 B

Specifications

Iridium

Corten MIPS64 Release 6 virtual machine based on Fletcher Haynes's So you want to build a language VM tutorial.

Instruction Set

Opcode Function Comment
0 LOAD Load program
1 ADD
2 SUB
3 MUL
4 DIV
5 HLT Halt
6 JMP Jump
7 JMPF Jump forward
8 JMPB Jump backward
9 EQ Equal
10 NEQ Not equal
11 GTE Greater then or equal to
12 GT Greater then
13 LTE Less then or equal to
14 LT Less then
15 JMPE Jump if equal
16 NOP
_ IGL Illegal action