SCPL 4.1 vm instructions: opcode tier name description 0x00 ADD adds values on datastack together 0x01 SUB subs values on datastack 0x02 MUL multiplies values on datastack 0x03 DIV divides values on datastack 0x04 load loads operand onto datastack 0x05 save saves top of datastack into operand 0x06 goout goes out of current object 0x07 goin goes into top of datastack 0x08 pop pops top of datastack 0x09 1 call calls a function. top of datastack specifies amount of arguments, object under that is target function, arguments amount of objects under that are passed as arguments 0x0A 3 callif executes operand if top of datastack is 1. 0x0B equal checks if the 2 top objects on datastack are equal, if yes, push 1 on datastack 0x0C great checks if top object on datastack is greater than object under that, if yes, push 1 on datastack 0x0D AND And's the 2 top datastack objects together and pushes output onto datastack 0x0E NOT Inverts value on datastack and pushes result onto datastack 0x0F rem stores value on datastack onto secondary stack 0x10 recall loads value from secondary stack onto datastack 0x11 4 while executes operand while top of datastack is 1. 0x12 2 try executes operand and pushes an ATTEMPT_RES object onto datastack 0x13 ret exits out of code which has the same or greater tier than specified operand specification: operand handler must return pointer operand handler must be registered to work handler must register with an op_handler class.