alissembly
December 18, 2021 ยท View on GitHub
this is a JIT interpreter and maybe a VM (idk) for a basic programming language im calling alissembly. the language supports a basic memory map of interger values and has some opcodes for printing ascii, basic math and more
you can see some program examples in program.aa
| opcode | description | arguments |
|---|---|---|
ADR | Set / go to the current address | address |
ADD | Add the value at given addresses and store the result in the current address | address1, address2 |
SUB | Subtract the value at given addresses and store the result in the current address | address1, address2 |
MUL | Multiply the value at given addresses and store the result in the current address | address1, address2 |
DIV | Divide the value at given addresses and store the result in the current address | address1, address2 |
SET | Set the value at the current address to the integer value | value |
DEL | Delete the value at given address | address |
GET | Get the value at the given address and stores it in the current address (aka a copy) | address |
JNZ | Jump to the given loop label if the value at given address is not zero | address, label |
PNT | Print the value at the current address | |
PNS | Print the value at the current memory address as ascii text | |
WIPE | Wipe the memory map | |
DEBUG_MEM | Print the memory map | |
DEBUG_ADR | Print the current address |