Files
ImHex-Patterns/disassemblers/jvm.json

473 lines
11 KiB
JSON

{
"name": "Java Virtual Machine (JVM)",
"includes": [],
"options": [],
"opcodes": [
{
"mask": "0011'0010",
"mnemonic": "aaload",
"format": ""
},
{
"mask": "0101'0011",
"mnemonic": "aastore",
"format": ""
},
{
"mask": "0000'0001",
"mnemonic": "aconst_null",
"format": ""
},
{
"mask": "0001'1001 IIII'IIII",
"mnemonic": "aload",
"format": "#{I}"
},
{
"mask": "0010'1010",
"mnemonic": "aload_0",
"format": ""
},
{
"mask": "0010'1011",
"mnemonic": "aload_1",
"format": ""
},
{
"mask": "0010'1100",
"mnemonic": "aload_2",
"format": ""
},
{
"mask": "0010'1101",
"mnemonic": "aload_3",
"format": ""
},
{
"mask": "1011'1101 IIII'IIII IIII'IIII",
"mnemonic": "anewarray",
"format": "#{I}"
},
{
"mask": "areturn",
"mnemonic": "1011'0000",
"format": ""
},
{
"mask": "1011'1110",
"mnemonic": "arraylength",
"format": ""
},
{
"mask": "0011'1010 IIII'IIII",
"mnemonic": "astore",
"format": "#{I}"
},
{
"mask": "0100'1011",
"mnemonic": "astore_0",
"format": ""
},
{
"mask": "0100'1100",
"mnemonic": "astore_1",
"format": ""
},
{
"mask": "0100'1101",
"mnemonic": "astore_2",
"format": ""
},
{
"mask": "0100'1110",
"mnemonic": "astore_3",
"format": ""
},
{
"mask": "athrow",
"mnemonic": "1011'1111",
"format": ""
},
{
"mask": "0011'0011",
"mnemonic": "baload",
"format": ""
},
{
"mask": "0101'0100",
"mnemonic": "bastore",
"format": ""
},
{
"mask": "0001'0000 BBBB'BBBB",
"mnemonic": "bipush",
"format": "0x{B:02X}"
},
{
"mask": "1100'1010",
"mnemonic": "breakpoint",
"format": ""
},
{
"mask": "0011'0100",
"mnemonic": "caload",
"format": ""
},
{
"mask": "0101'0101",
"mnemonic": "castore",
"format": ""
},
{
"mask": "1100'0000 IIII'IIII IIII'IIII",
"mnemonic": "checkcast",
"format": "#{I}"
},
{
"mask": "1011'0000",
"mnemonic": "d2f",
"format": ""
},
{
"mask": "1000'1110",
"mnemonic": "d2i",
"format": ""
},
{
"mask": "1000'1111",
"mnemonic": "d2l",
"format": ""
},
{
"mask": "0110'0011",
"mnemonic": "dadd",
"format": ""
},
{
"mask": "0011'0001",
"mnemonic": "daload",
"format": ""
},
{
"mask": "0101'0010",
"mnemonic": "dastore",
"format": ""
},
{
"mask": "1001'1000",
"mnemonic": "dcmpg",
"format": ""
},
{
"mask": "1001'0111",
"mnemonic": "dcmpl",
"format": ""
},
{
"mask": "0000'1110",
"mnemonic": "dconst_0",
"format": ""
},
{
"mask": "0000'1111",
"mnemonic": "dcosnt_1",
"format": ""
},
{
"mask": "0110'1111",
"mnemonic": "ddiv",
"format": ""
},
{
"mask": "0001'1000 IIII'IIII",
"mnemonic": "dload",
"format": "#{I}"
},
{
"mask": "0010'0110",
"mnemonic": "dload_0",
"format": ""
},
{
"mask": "0010'0111",
"mnemonic": "dload_1",
"format": ""
},
{
"mask": "0010'1000",
"mnemonic": "dload_2",
"format": ""
},
{
"mask": "0010'1001",
"mnemonic": "dload_3",
"format": ""
},
{
"mask": "0110'1011",
"mnemonic": "dmul",
"format": ""
},
{
"mask": "0111'0111",
"mnemonic": "dneg",
"format": ""
},
{
"mask": "0111'0011",
"mnemonic": "drem",
"format": ""
},
{
"mask": "1010'1111",
"mnemonic": "dreturn",
"format": ""
},
{
"mask": "0011'1001 IIII'IIII",
"mnemonic": "dstore",
"format": "#{I}"
},
{
"mask": "0100'0111",
"mnemonic": "dstore_0",
"format": ""
},
{
"mask": "0100'1000",
"mnemonic": "dstore_1",
"format": ""
},
{
"mask": "0100'1001",
"mnemonic": "dstore_2",
"format": ""
},
{
"mask": "0100'1010",
"mnemonic": "dstore_3",
"format": ""
},
{
"mask": "0110'0111",
"mnemonic": "dsub",
"format": ""
},
{
"mask": "0101'1001",
"mnemonic": "dup",
"format": ""
},
{
"mask": "0101'1010",
"mnemonic": "dup_x1",
"format": ""
},
{
"mask": "0101'1011",
"mnemonic": "dup_x2",
"format": ""
},
{
"mask": "0101'1100",
"mnemonic": "dup2",
"format": ""
},
{
"mask": "0101'1101",
"mnemonic": "dup2_x1",
"format": ""
},
{
"mask": "0101'1110",
"mnemonic": "dup2_x2",
"format": ""
},
{
"mask": "1000'1101",
"mnemonic": "f2d",
"format": ""
},
{
"mask": "1000'1011",
"mnemonic": "f2i",
"format": ""
},
{
"mask": "1000'1100",
"mnemonic": "f2l",
"format": ""
},
{
"mask": "0110'0010",
"mnemonic": "fadd",
"format": ""
},
{
"mask": "0011'0000",
"mnemonic": "faload",
"format": ""
},
{
"mask": "0101'0001",
"mnemonic": "fastore",
"format": ""
},
{
"mask": "1001'0110",
"mnemonic": "fcmpg",
"format": ""
},
{
"mask": "1001'0101",
"mnemonic": "fcmpl",
"format": ""
},
{
"mask": "0000'1011",
"mnemonic": "fconst_0",
"format": ""
},
{
"mask": "0000'1100",
"mnemonic": "fconst_1",
"format": ""
},
{
"mask": "0000'1101",
"mnemonic": "fconst_2",
"format": ""
},
{
"mask": "0110'1110",
"mnemonic": "fdiv",
"format": ""
},
{
"mask": "0001'0111 IIII'IIII",
"mnemonic": "fload",
"format": "#{I}"
},
{
"mask": "0010'0010",
"mnemonic": "fload_0",
"format": ""
},
{
"mask": "0010'0011",
"mnemonic": "fload_1",
"format": ""
},
{
"mask": "0010'0100",
"mnemonic": "fload_2",
"format": ""
},
{
"mask": "0010'0101",
"mnemonic": "fload_3",
"format": ""
},
{
"mask": "0110'1010",
"mnemonic": "fmul",
"format": ""
},
{
"mask": "0111'0110",
"mnemonic": "fneg",
"format": ""
},
{
"mask": "0111'0010",
"mnemonic": "frem",
"format": ""
},
{
"mask": "1010'1110",
"mnemonic": "freturn",
"format": ""
},
{
"mask": "0011'1000 IIII'IIII",
"mnemonic": "fstore",
"format": "#{I}"
},
{
"mask": "0100'0011",
"mnemonic": "fstore_0",
"format": ""
},
{
"mask": "0100'0100",
"mnemonic": "fstore_1",
"format": ""
},
{
"mask": "0100'0101",
"mnemonic": "fstore_2",
"format": ""
},
{
"mask": "0100'0110",
"mnemonic": "fstore_3",
"format": ""
},
{
"mask": "0110'0110",
"mnemonic": "fsub",
"format": ""
},
{
"mask": "1011'0100 IIII'IIII IIII'IIII",
"mnemonic": "getfield",
"format": "#{I}"
},
{
"mask": "1011'0010 IIII'IIII IIII'IIII",
"mnemonic": "getstatic",
"format": "#{I}"
},
{
"mask": "1010'0111 BBBB'BBBB BBBB'BBBB",
"mnemonic": "goto",
"format": "0x{B:04X}"
},
{
"mask": "1100'1000 BBBB'BBBB BBBB'BBBB BBBB'BBBB BBBB'BBBB",
"mnemonic": "goto_w",
"format": "0x{B:08X}"
},
{
"mask": "1001'0001",
"mnemonic": "i2b",
"format": ""
},
{
"mask": "1001'0010",
"mnemonic": "i2c",
"format": ""
},
{
"mask": "1000'0111",
"mnemonic": "i2d",
"format": ""
},
{
"mask": "1000'0110",
"mnemonic": "i2f",
"format": ""
},
{
"mask": "1000'0101",
"mnemonic": "i2l",
"format": ""
},
{
"mask": "1001'0011",
"mnemonic": "i2s",
"format": ""
}
]
}