mirror of
https://github.com/WerWolv/ImHex-Patterns.git
synced 2026-03-28 07:47:02 -05:00
disassemblers: Added half of the JVM instructions
This commit is contained in:
473
disassemblers/jvm.json
Normal file
473
disassemblers/jvm.json
Normal file
@@ -0,0 +1,473 @@
|
||||
{
|
||||
"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": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user