instructionsDict = {
    "add": {
        "code": 0x40,
        "arguments": 3,
        "argumentTypes": [
            "uint8",
            "uint8",
            "int32"
        ]},
    "sub": {
        "code": 0x41,
        "arguments": 3,
        "argumentTypes": [
            "uint8",
            "uint8",
            "int32"
        ]},
    "div": {
        "code": 0x42,
        "arguments": 3,
        "argumentTypes": [
            "uint8",
            "uint8",
            "int32"
        ]},
    "mod": {
        "code": 0x43,
        "arguments": 3,
        "argumentTypes": [
            "uint8",
            "uint8",
            "int32"
        ]},
    "mul": {
        "code": 0x44,
        "arguments": 3,
        "argumentTypes": [
            "uint8",
            "uint8",
            "int32"
        ]},
    "pow": {
        "code": 0x45,
        "arguments": 3,
        "argumentTypes": [
            "uint8",
            "uint8",
            "int32"
        ]},
    "push": {
        "code": 0x12,
        "arguments": 1,
        "argumentTypes": [
            "uint8"
        ]},
    "pop": {
        "code": 0x13,
        "arguments": 1,
        "argumentTypes": [
            "uint8"
        ]},
    "run": {
        "code": 0x14,
        "arguments": 1,
        "argumentTypes": [
            "uint16"
        ]},
    "call": {
        "code": 0x11,
        "arguments": 1,
        "argumentTypes": [
            "funcName"
        ]},
    "ret": {
        "code": 0x10,
        "arguments": 0,
        "argumentTypes": [
        ]},
    "mov": {
        "code": 0x30,
        "arguments": 3,
        "argumentTypes": [
            "uint8",
            "uint8",
            "int32"
        ]},
    "printregs": {
        "code": 0x50,
        "arguments": 0,
        "argumentTypes": [
        ]},
}