This is experimental project to
emulate very simple computer with custom CPU instructions.
The emulator has its own assembly language interpreter.
; Comments are as usual.
; There are no registers
; you have to operate only with memory offsets.
; The emulator's endianness depends on your system.
; MOV expects memory offset where to move right hand side value after "<-"
; which can also be memory offset.
; I32 tells the operation what is the expected size type.
; There are following size types:
; I8 - 1 byte
; I16 - 2 bytes
; I32 - 4 bytes
; I64 - 8 bytes
MOV [0x0] <- 0xFFAAEE, I32
MOV [0x4] <- 500, I32
MOV [0x10] <- 500, I32
ADD [0x10] <- [0x4], I32
MEMDUMP
$ ./em --run test.asmYou can see options if you just run ./em