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

opcodedescriptionarguments
ADRSet / go to the current addressaddress
ADDAdd the value at given addresses and store the result in the current addressaddress1, address2
SUBSubtract the value at given addresses and store the result in the current addressaddress1, address2
MULMultiply the value at given addresses and store the result in the current addressaddress1, address2
DIVDivide the value at given addresses and store the result in the current addressaddress1, address2
SETSet the value at the current address to the integer valuevalue
DELDelete the value at given addressaddress
GETGet the value at the given address and stores it in the current address (aka a copy)address
JNZJump to the given loop label if the value at given address is not zeroaddress, label
PNTPrint the value at the current address
PNSPrint the value at the current memory address as ascii text
WIPEWipe the memory map
DEBUG_MEMPrint the memory map
DEBUG_ADRPrint the current address