diff --git a/assets/instructions.json b/assets/instructions.json index 31a9d15..efea243 100644 --- a/assets/instructions.json +++ b/assets/instructions.json @@ -14399,6 +14399,9 @@ { "mnemonic": "cmps", "opcode": "a6", + "extensions": { + "adsize": "16" + }, "operands": { "operand1": { "type": "srcidx8" @@ -14407,6 +14410,15 @@ "type": "dstidx8" } }, + "implicit_read": [ + "si", + "di", + "eflags" + ], + "implicit_write": [ + "si", + "di" + ], "prefix_flags": [ "accepts_reperepne" ], @@ -14416,6 +14428,83 @@ "af": "modified", "zf": "modified", "sf": "modified", + "df": "tested", + "of": "modified" + }, + "comment": "cmpsb $srcidx8, $dstidx8 (CMPSB)", + "cd8scale": 0 + }, + { + "mnemonic": "cmps", + "opcode": "a6", + "extensions": { + "adsize": "32" + }, + "operands": { + "operand1": { + "type": "srcidx8" + }, + "operand2": { + "type": "dstidx8" + } + }, + "implicit_read": [ + "esi", + "edi", + "eflags" + ], + "implicit_write": [ + "esi", + "edi" + ], + "prefix_flags": [ + "accepts_reperepne" + ], + "x86flags": { + "cf": "modified", + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "df": "tested", + "of": "modified" + }, + "comment": "cmpsb $srcidx8, $dstidx8 (CMPSB)", + "cd8scale": 0 + }, + { + "mnemonic": "cmps", + "opcode": "a6", + "extensions": { + "adsize": "64" + }, + "operands": { + "operand1": { + "type": "srcidx8" + }, + "operand2": { + "type": "dstidx8" + } + }, + "implicit_read": [ + "rsi", + "rdi", + "eflags" + ], + "implicit_write": [ + "rsi", + "rdi" + ], + "prefix_flags": [ + "accepts_reperepne" + ], + "x86flags": { + "cf": "modified", + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "df": "tested", "of": "modified" }, "comment": "cmpsb $srcidx8, $dstidx8 (CMPSB)", @@ -14425,6 +14514,7 @@ "mnemonic": "cmps", "opcode": "a7", "extensions": { + "adsize": "16", "bitfilters": [ "rex_w" ] @@ -14437,6 +14527,15 @@ "type": "dstidx64" } }, + "implicit_read": [ + "si", + "di", + "eflags" + ], + "implicit_write": [ + "si", + "di" + ], "prefix_flags": [ "accepts_reperepne" ], @@ -14446,6 +14545,7 @@ "af": "modified", "zf": "modified", "sf": "modified", + "df": "tested", "of": "modified" }, "comment": "cmpsq $srcidx64, $dstidx64 (CMPSQ)", @@ -14455,7 +14555,8 @@ "mnemonic": "cmps", "opcode": "a7", "extensions": { - "opsize": "16" + "opsize": "16", + "adsize": "16" }, "operands": { "operand1": { @@ -14465,6 +14566,132 @@ "type": "dstidx16" } }, + "implicit_read": [ + "si", + "di", + "eflags" + ], + "implicit_write": [ + "si", + "di" + ], + "prefix_flags": [ + "accepts_reperepne" + ], + "x86flags": { + "cf": "modified", + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "df": "tested", + "of": "modified" + }, + "comment": "cmpsw $srcidx16, $dstidx16 (CMPSW)", + "cd8scale": 0 + }, + { + "mnemonic": "cmps", + "opcode": "a7", + "extensions": { + "opsize": "32", + "adsize": "16" + }, + "operands": { + "operand1": { + "type": "srcidx32" + }, + "operand2": { + "type": "dstidx32" + } + }, + "implicit_read": [ + "si", + "di", + "eflags" + ], + "implicit_write": [ + "si", + "di" + ], + "prefix_flags": [ + "accepts_reperepne" + ], + "x86flags": { + "cf": "modified", + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "df": "tested", + "of": "modified" + }, + "comment": "cmpsd $srcidx32, $dstidx32 (CMPSL)", + "cd8scale": 0 + }, + { + "mnemonic": "cmps", + "opcode": "a7", + "extensions": { + "opsize": "16", + "adsize": "32" + }, + "operands": { + "operand1": { + "type": "srcidx16" + }, + "operand2": { + "type": "dstidx16" + } + }, + "implicit_read": [ + "esi", + "edi", + "eflags" + ], + "implicit_write": [ + "esi", + "edi" + ], + "prefix_flags": [ + "accepts_reperepne" + ], + "x86flags": { + "cf": "modified", + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "df": "tested", + "of": "modified" + }, + "comment": "cmpsw $srcidx16, $dstidx16 (CMPSW)", + "cd8scale": 0 + }, + { + "mnemonic": "cmps", + "opcode": "a7", + "extensions": { + "opsize": "16", + "adsize": "64" + }, + "operands": { + "operand1": { + "type": "srcidx16" + }, + "operand2": { + "type": "dstidx16" + } + }, + "implicit_read": [ + "rsi", + "rdi", + "eflags" + ], + "implicit_write": [ + "rsi", + "rdi" + ], "prefix_flags": [ "accepts_reperepne" ], @@ -14483,7 +14710,8 @@ "mnemonic": "cmps", "opcode": "a7", "extensions": { - "opsize": "32" + "opsize": "32", + "adsize": "32" }, "operands": { "operand1": { @@ -14493,6 +14721,15 @@ "type": "dstidx32" } }, + "implicit_read": [ + "esi", + "edi", + "eflags" + ], + "implicit_write": [ + "esi", + "edi" + ], "prefix_flags": [ "accepts_reperepne" ], @@ -14502,11 +14739,133 @@ "af": "modified", "zf": "modified", "sf": "modified", + "df": "tested", "of": "modified" }, "comment": "cmpsd $srcidx32, $dstidx32 (CMPSL)", "cd8scale": 0 }, + { + "mnemonic": "cmps", + "opcode": "a7", + "extensions": { + "opsize": "32", + "adsize": "64" + }, + "operands": { + "operand1": { + "type": "srcidx32" + }, + "operand2": { + "type": "dstidx32" + } + }, + "implicit_read": [ + "rsi", + "rdi", + "eflags" + ], + "implicit_write": [ + "rsi", + "rdi" + ], + "prefix_flags": [ + "accepts_reperepne" + ], + "x86flags": { + "cf": "modified", + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "df": "tested", + "of": "modified" + }, + "comment": "cmpsd $srcidx32, $dstidx32 (CMPSL)", + "cd8scale": 0 + }, + { + "mnemonic": "cmps", + "opcode": "a7", + "extensions": { + "adsize": "32", + "bitfilters": [ + "rex_w" + ] + }, + "operands": { + "operand1": { + "type": "srcidx64" + }, + "operand2": { + "type": "dstidx64" + } + }, + "implicit_read": [ + "esi", + "edi", + "eflags" + ], + "implicit_write": [ + "esi", + "edi" + ], + "prefix_flags": [ + "accepts_reperepne" + ], + "x86flags": { + "cf": "modified", + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "df": "tested", + "of": "modified" + }, + "comment": "cmpsq $srcidx64, $dstidx64 (CMPSQ)", + "cd8scale": 0 + }, + { + "mnemonic": "cmps", + "opcode": "a7", + "extensions": { + "adsize": "64", + "bitfilters": [ + "rex_w" + ] + }, + "operands": { + "operand1": { + "type": "srcidx64" + }, + "operand2": { + "type": "dstidx64" + } + }, + "implicit_read": [ + "rsi", + "rdi", + "eflags" + ], + "implicit_write": [ + "rsi", + "rdi" + ], + "prefix_flags": [ + "accepts_reperepne" + ], + "x86flags": { + "cf": "modified", + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "df": "tested", + "of": "modified" + }, + "comment": "cmpsq $srcidx64, $dstidx64 (CMPSQ)", + "cd8scale": 0 + }, { "mnemonic": "cmpsd", "opcode": "c2", @@ -29566,6 +29925,40 @@ { "mnemonic": "lods", "opcode": "ac", + "extensions": { + "adsize": "16" + }, + "operands": { + "operand1": { + "type": "al", + "accessmode": "write" + }, + "operand2": { + "type": "srcidx8" + } + }, + "implicit_read": [ + "si", + "eflags" + ], + "implicit_write": [ + "si" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "lodsb al, $srcidx8 (LODSB)", + "cd8scale": 0 + }, + { + "mnemonic": "lods", + "opcode": "ac", + "extensions": { + "adsize": "32" + }, "operands": { "operand1": { "type": "al", @@ -29580,8 +29973,38 @@ "eflags" ], "implicit_write": [ - "esi", - "al" + "esi" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "lodsb al, $srcidx8 (LODSB)", + "cd8scale": 0 + }, + { + "mnemonic": "lods", + "opcode": "ac", + "extensions": { + "adsize": "64" + }, + "operands": { + "operand1": { + "type": "al", + "accessmode": "write" + }, + "operand2": { + "type": "srcidx8" + } + }, + "implicit_read": [ + "rsi", + "eflags" + ], + "implicit_write": [ + "rsi" ], "prefix_flags": [ "accepts_rep" @@ -29596,6 +30019,233 @@ "mnemonic": "lods", "opcode": "ad", "extensions": { + "adsize": "16", + "bitfilters": [ + "rex_w" + ] + }, + "operands": { + "operand1": { + "type": "rax", + "accessmode": "write" + }, + "operand2": { + "type": "srcidx64" + } + }, + "implicit_read": [ + "si", + "eflags" + ], + "implicit_write": [ + "si" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "lodsq rax, $srcidx64 (LODSQ)", + "cd8scale": 0 + }, + { + "mnemonic": "lods", + "opcode": "ad", + "extensions": { + "opsize": "16", + "adsize": "16" + }, + "operands": { + "operand1": { + "type": "ax", + "accessmode": "write" + }, + "operand2": { + "type": "srcidx16" + } + }, + "implicit_read": [ + "si", + "eflags" + ], + "implicit_write": [ + "si" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "lodsw ax, $srcidx16 (LODSW)", + "cd8scale": 0 + }, + { + "mnemonic": "lods", + "opcode": "ad", + "extensions": { + "opsize": "32", + "adsize": "16" + }, + "operands": { + "operand1": { + "type": "eax", + "accessmode": "write" + }, + "operand2": { + "type": "srcidx32" + } + }, + "implicit_read": [ + "si", + "eflags" + ], + "implicit_write": [ + "si" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "lodsd eax, $srcidx32 (LODSL)", + "cd8scale": 0 + }, + { + "mnemonic": "lods", + "opcode": "ad", + "extensions": { + "opsize": "16", + "adsize": "32" + }, + "operands": { + "operand1": { + "type": "ax", + "accessmode": "write" + }, + "operand2": { + "type": "srcidx16" + } + }, + "implicit_read": [ + "esi", + "eflags" + ], + "implicit_write": [ + "esi" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "lodsw ax, $srcidx16 (LODSW)", + "cd8scale": 0 + }, + { + "mnemonic": "lods", + "opcode": "ad", + "extensions": { + "opsize": "16", + "adsize": "64" + }, + "operands": { + "operand1": { + "type": "ax", + "accessmode": "write" + }, + "operand2": { + "type": "srcidx16" + } + }, + "implicit_read": [ + "rsi", + "eflags" + ], + "implicit_write": [ + "rsi" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "lodsw ax, $srcidx16 (LODSW)", + "cd8scale": 0 + }, + { + "mnemonic": "lods", + "opcode": "ad", + "extensions": { + "opsize": "32", + "adsize": "32" + }, + "operands": { + "operand1": { + "type": "eax", + "accessmode": "write" + }, + "operand2": { + "type": "srcidx32" + } + }, + "implicit_read": [ + "esi", + "eflags" + ], + "implicit_write": [ + "esi" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "lodsd eax, $srcidx32 (LODSL)", + "cd8scale": 0 + }, + { + "mnemonic": "lods", + "opcode": "ad", + "extensions": { + "opsize": "32", + "adsize": "64" + }, + "operands": { + "operand1": { + "type": "eax", + "accessmode": "write" + }, + "operand2": { + "type": "srcidx32" + } + }, + "implicit_read": [ + "rsi", + "eflags" + ], + "implicit_write": [ + "rsi" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "lodsd eax, $srcidx32 (LODSL)", + "cd8scale": 0 + }, + { + "mnemonic": "lods", + "opcode": "ad", + "extensions": { + "adsize": "32", "bitfilters": [ "rex_w" ] @@ -29614,7 +30264,6 @@ "eflags" ], "implicit_write": [ - "rax", "esi" ], "prefix_flags": [ @@ -29630,24 +30279,26 @@ "mnemonic": "lods", "opcode": "ad", "extensions": { - "opsize": "16" + "adsize": "64", + "bitfilters": [ + "rex_w" + ] }, "operands": { "operand1": { - "type": "ax", + "type": "rax", "accessmode": "write" }, "operand2": { - "type": "srcidx16" + "type": "srcidx64" } }, "implicit_read": [ - "esi", + "rsi", "eflags" ], "implicit_write": [ - "esi", - "ax" + "rsi" ], "prefix_flags": [ "accepts_rep" @@ -29655,39 +30306,7 @@ "x86flags": { "df": "tested" }, - "comment": "lodsw ax, $srcidx16 (LODSW)", - "cd8scale": 0 - }, - { - "mnemonic": "lods", - "opcode": "ad", - "extensions": { - "opsize": "32" - }, - "operands": { - "operand1": { - "type": "eax", - "accessmode": "write" - }, - "operand2": { - "type": "srcidx32" - } - }, - "implicit_read": [ - "esi", - "eflags" - ], - "implicit_write": [ - "eax", - "esi" - ], - "prefix_flags": [ - "accepts_rep" - ], - "x86flags": { - "df": "tested" - }, - "comment": "lodsd eax, $srcidx32 (LODSL)", + "comment": "lodsq rax, $srcidx64 (LODSQ)", "cd8scale": 0 }, { @@ -30873,6 +31492,9 @@ "ecx", "edx" ], + "flags": [ + "privileged" + ], "comment": "monitor (MONITORrrr)", "cd8scale": 0 }, @@ -32774,6 +33396,14 @@ "encoding": "modrm_reg" } }, + "x86flags": { + "cf": "undefined", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "undefined" + }, "comment": "mov $GR64, $CONTROL_REG (MOV64rc)", "cd8scale": 0 }, @@ -32796,6 +33426,14 @@ "encoding": "modrm_reg" } }, + "x86flags": { + "cf": "undefined", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "undefined" + }, "comment": "mov $GR32, $CONTROL_REG (MOV32rc)", "cd8scale": 0 }, @@ -32818,6 +33456,14 @@ "encoding": "modrm_reg" } }, + "x86flags": { + "cf": "undefined", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "undefined" + }, "comment": "mov $GR64, $DEBUG_REG (MOV64rd)", "cd8scale": 0 }, @@ -32840,6 +33486,14 @@ "encoding": "modrm_reg" } }, + "x86flags": { + "cf": "undefined", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "undefined" + }, "comment": "mov $GR32, $DEBUG_REG (MOV32rd)", "cd8scale": 0 }, @@ -32862,6 +33516,14 @@ "encoding": "modrm_rm" } }, + "x86flags": { + "cf": "undefined", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "undefined" + }, "comment": "mov $CONTROL_REG, $GR64 (MOV64cr)", "cd8scale": 0 }, @@ -32884,6 +33546,14 @@ "encoding": "modrm_rm" } }, + "x86flags": { + "cf": "undefined", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "undefined" + }, "comment": "mov $CONTROL_REG, $GR32 (MOV32cr)", "cd8scale": 0 }, @@ -32906,6 +33576,14 @@ "encoding": "modrm_rm" } }, + "x86flags": { + "cf": "undefined", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "undefined" + }, "comment": "mov $DEBUG_REG, $GR64 (MOV64dr)", "cd8scale": 0 }, @@ -32928,6 +33606,14 @@ "encoding": "modrm_rm" } }, + "x86flags": { + "cf": "undefined", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "undefined" + }, "comment": "mov $DEBUG_REG, $GR32 (MOV32dr)", "cd8scale": 0 }, @@ -34808,6 +35494,9 @@ { "mnemonic": "movs", "opcode": "a4", + "extensions": { + "adsize": "16" + }, "operands": { "operand1": { "type": "dstidx8", @@ -34817,9 +35506,81 @@ "type": "srcidx8" } }, + "implicit_read": [ + "si", + "eflags" + ], + "implicit_write": [ + "di" + ], "prefix_flags": [ "accepts_rep" ], + "x86flags": { + "df": "tested" + }, + "comment": "movsb $dstidx8, $srcidx8 (MOVSB)", + "cd8scale": 0 + }, + { + "mnemonic": "movs", + "opcode": "a4", + "extensions": { + "adsize": "32" + }, + "operands": { + "operand1": { + "type": "dstidx8", + "accessmode": "write" + }, + "operand2": { + "type": "srcidx8" + } + }, + "implicit_read": [ + "esi", + "eflags" + ], + "implicit_write": [ + "edi" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "movsb $dstidx8, $srcidx8 (MOVSB)", + "cd8scale": 0 + }, + { + "mnemonic": "movs", + "opcode": "a4", + "extensions": { + "adsize": "64" + }, + "operands": { + "operand1": { + "type": "dstidx8", + "accessmode": "write" + }, + "operand2": { + "type": "srcidx8" + } + }, + "implicit_read": [ + "rsi", + "eflags" + ], + "implicit_write": [ + "rdi" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, "comment": "movsb $dstidx8, $srcidx8 (MOVSB)", "cd8scale": 0 }, @@ -34827,6 +35588,233 @@ "mnemonic": "movs", "opcode": "a5", "extensions": { + "adsize": "16", + "bitfilters": [ + "rex_w" + ] + }, + "operands": { + "operand1": { + "type": "srcidx64", + "accessmode": "write" + }, + "operand2": { + "type": "srcidx64" + } + }, + "implicit_read": [ + "si", + "eflags" + ], + "implicit_write": [ + "di" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "movsq $dstidx64, $srcidx64 (MOVSQ)", + "cd8scale": 0 + }, + { + "mnemonic": "movs", + "opcode": "a5", + "extensions": { + "opsize": "16", + "adsize": "16" + }, + "operands": { + "operand1": { + "type": "dstidx16", + "accessmode": "write" + }, + "operand2": { + "type": "srcidx16" + } + }, + "implicit_read": [ + "si", + "eflags" + ], + "implicit_write": [ + "di" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "movsw $dstidx16, $srcidx16 (MOVSW)", + "cd8scale": 0 + }, + { + "mnemonic": "movs", + "opcode": "a5", + "extensions": { + "opsize": "32", + "adsize": "16" + }, + "operands": { + "operand1": { + "type": "dstidx32", + "accessmode": "write" + }, + "operand2": { + "type": "srcidx32" + } + }, + "implicit_read": [ + "si", + "eflags" + ], + "implicit_write": [ + "di" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "movsd $dstidx32, $srcidx32 (MOVSL)", + "cd8scale": 0 + }, + { + "mnemonic": "movs", + "opcode": "a5", + "extensions": { + "opsize": "16", + "adsize": "32" + }, + "operands": { + "operand1": { + "type": "dstidx16", + "accessmode": "write" + }, + "operand2": { + "type": "srcidx16" + } + }, + "implicit_read": [ + "esi", + "eflags" + ], + "implicit_write": [ + "edi" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "movsw $dstidx16, $srcidx16 (MOVSW)", + "cd8scale": 0 + }, + { + "mnemonic": "movs", + "opcode": "a5", + "extensions": { + "opsize": "16", + "adsize": "64" + }, + "operands": { + "operand1": { + "type": "dstidx16", + "accessmode": "write" + }, + "operand2": { + "type": "srcidx16" + } + }, + "implicit_read": [ + "rsi", + "eflags" + ], + "implicit_write": [ + "rdi" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "movsw $dstidx16, $srcidx16 (MOVSW)", + "cd8scale": 0 + }, + { + "mnemonic": "movs", + "opcode": "a5", + "extensions": { + "opsize": "32", + "adsize": "32" + }, + "operands": { + "operand1": { + "type": "dstidx32", + "accessmode": "write" + }, + "operand2": { + "type": "srcidx32" + } + }, + "implicit_read": [ + "esi", + "eflags" + ], + "implicit_write": [ + "edi" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "movsd $dstidx32, $srcidx32 (MOVSL)", + "cd8scale": 0 + }, + { + "mnemonic": "movs", + "opcode": "a5", + "extensions": { + "opsize": "32", + "adsize": "64" + }, + "operands": { + "operand1": { + "type": "dstidx32", + "accessmode": "write" + }, + "operand2": { + "type": "srcidx32" + } + }, + "implicit_read": [ + "rsi", + "eflags" + ], + "implicit_write": [ + "rdi" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "movsd $dstidx32, $srcidx32 (MOVSL)", + "cd8scale": 0 + }, + { + "mnemonic": "movs", + "opcode": "a5", + "extensions": { + "adsize": "32", "bitfilters": [ "rex_w" ] @@ -34842,16 +35830,17 @@ }, "implicit_read": [ "esi", - "edi", "eflags" ], "implicit_write": [ - "esi", "edi" ], "prefix_flags": [ "accepts_rep" ], + "x86flags": { + "df": "tested" + }, "comment": "movsq $dstidx64, $srcidx64 (MOVSQ)", "cd8scale": 0 }, @@ -34859,60 +35848,34 @@ "mnemonic": "movs", "opcode": "a5", "extensions": { - "opsize": "16" + "adsize": "64", + "bitfilters": [ + "rex_w" + ] }, "operands": { "operand1": { - "type": "dstidx16", + "type": "srcidx64", "accessmode": "write" }, "operand2": { - "type": "srcidx16" + "type": "srcidx64" } }, "implicit_read": [ - "esi", - "edi", + "rsi", "eflags" ], "implicit_write": [ - "esi", - "edi" + "rdi" ], "prefix_flags": [ "accepts_rep" ], - "comment": "movsw $dstidx16, $srcidx16 (MOVSW)", - "cd8scale": 0 - }, - { - "mnemonic": "movs", - "opcode": "a5", - "extensions": { - "opsize": "32" + "x86flags": { + "df": "tested" }, - "operands": { - "operand1": { - "type": "dstidx32", - "accessmode": "write" - }, - "operand2": { - "type": "srcidx32" - } - }, - "implicit_read": [ - "esi", - "edi", - "eflags" - ], - "implicit_write": [ - "esi", - "edi" - ], - "prefix_flags": [ - "accepts_rep" - ], - "comment": "movsd $dstidx32, $srcidx32 (MOVSL)", + "comment": "movsq $dstidx64, $srcidx64 (MOVSQ)", "cd8scale": 0 }, { @@ -57373,6 +58336,39 @@ { "mnemonic": "scas", "opcode": "ae", + "extensions": { + "adsize": "16" + }, + "operands": { + "operand1": { + "type": "al" + }, + "operand2": { + "type": "dstidx8" + } + }, + "implicit_read": [ + "di", + "eflags" + ], + "implicit_write": [ + "di" + ], + "prefix_flags": [ + "accepts_reperepne" + ], + "x86flags": { + "df": "tested" + }, + "comment": "scasb al, $dstidx8 (SCASB)", + "cd8scale": 0 + }, + { + "mnemonic": "scas", + "opcode": "ae", + "extensions": { + "adsize": "32" + }, "operands": { "operand1": { "type": "al" @@ -57383,16 +58379,47 @@ }, "implicit_read": [ "edi", - "al", "eflags" ], "implicit_write": [ - "edi", - "eflags" + "edi" ], "prefix_flags": [ "accepts_reperepne" ], + "x86flags": { + "df": "tested" + }, + "comment": "scasb al, $dstidx8 (SCASB)", + "cd8scale": 0 + }, + { + "mnemonic": "scas", + "opcode": "ae", + "extensions": { + "adsize": "64" + }, + "operands": { + "operand1": { + "type": "al" + }, + "operand2": { + "type": "dstidx8" + } + }, + "implicit_read": [ + "rdi", + "eflags" + ], + "implicit_write": [ + "rdi" + ], + "prefix_flags": [ + "accepts_reperepne" + ], + "x86flags": { + "df": "tested" + }, "comment": "scasb al, $dstidx8 (SCASB)", "cd8scale": 0 }, @@ -57400,6 +58427,7 @@ "mnemonic": "scas", "opcode": "af", "extensions": { + "adsize": "16", "bitfilters": [ "rex_w" ] @@ -57413,17 +58441,18 @@ } }, "implicit_read": [ - "rax", - "edi", + "di", "eflags" ], "implicit_write": [ - "edi", - "eflags" + "di" ], "prefix_flags": [ "accepts_reperepne" ], + "x86flags": { + "df": "tested" + }, "comment": "scasq rax, $dstidx64 (SCASQ)", "cd8scale": 0 }, @@ -57431,7 +58460,70 @@ "mnemonic": "scas", "opcode": "af", "extensions": { - "opsize": "16" + "opsize": "16", + "adsize": "16" + }, + "operands": { + "operand1": { + "type": "ax" + }, + "operand2": { + "type": "dstidx16" + } + }, + "implicit_read": [ + "di", + "eflags" + ], + "implicit_write": [ + "di" + ], + "prefix_flags": [ + "accepts_reperepne" + ], + "x86flags": { + "df": "tested" + }, + "comment": "scasw ax, $dstidx16 (SCASW)", + "cd8scale": 0 + }, + { + "mnemonic": "scas", + "opcode": "af", + "extensions": { + "opsize": "32", + "adsize": "16" + }, + "operands": { + "operand1": { + "type": "eax" + }, + "operand2": { + "type": "dstidx32" + } + }, + "implicit_read": [ + "di", + "eflags" + ], + "implicit_write": [ + "di" + ], + "prefix_flags": [ + "accepts_reperepne" + ], + "x86flags": { + "df": "tested" + }, + "comment": "scasd eax, $dstidx32 (SCASL)", + "cd8scale": 0 + }, + { + "mnemonic": "scas", + "opcode": "af", + "extensions": { + "opsize": "16", + "adsize": "32" }, "operands": { "operand1": { @@ -57443,16 +58535,17 @@ }, "implicit_read": [ "edi", - "ax", "eflags" ], "implicit_write": [ - "edi", - "eflags" + "edi" ], "prefix_flags": [ "accepts_reperepne" ], + "x86flags": { + "df": "tested" + }, "comment": "scasw ax, $dstidx16 (SCASW)", "cd8scale": 0 }, @@ -57460,7 +58553,39 @@ "mnemonic": "scas", "opcode": "af", "extensions": { - "opsize": "32" + "opsize": "16", + "adsize": "64" + }, + "operands": { + "operand1": { + "type": "ax" + }, + "operand2": { + "type": "dstidx16" + } + }, + "implicit_read": [ + "rdi", + "eflags" + ], + "implicit_write": [ + "rdi" + ], + "prefix_flags": [ + "accepts_reperepne" + ], + "x86flags": { + "df": "tested" + }, + "comment": "scasw ax, $dstidx16 (SCASW)", + "cd8scale": 0 + }, + { + "mnemonic": "scas", + "opcode": "af", + "extensions": { + "opsize": "32", + "adsize": "32" }, "operands": { "operand1": { @@ -57471,20 +58596,118 @@ } }, "implicit_read": [ - "eax", "edi", "eflags" ], "implicit_write": [ - "edi", - "eflags" + "edi" ], "prefix_flags": [ "accepts_reperepne" ], + "x86flags": { + "df": "tested" + }, "comment": "scasd eax, $dstidx32 (SCASL)", "cd8scale": 0 }, + { + "mnemonic": "scas", + "opcode": "af", + "extensions": { + "opsize": "32", + "adsize": "64" + }, + "operands": { + "operand1": { + "type": "eax" + }, + "operand2": { + "type": "dstidx32" + } + }, + "implicit_read": [ + "rdi", + "eflags" + ], + "implicit_write": [ + "rdi" + ], + "prefix_flags": [ + "accepts_reperepne" + ], + "x86flags": { + "df": "tested" + }, + "comment": "scasd eax, $dstidx32 (SCASL)", + "cd8scale": 0 + }, + { + "mnemonic": "scas", + "opcode": "af", + "extensions": { + "adsize": "32", + "bitfilters": [ + "rex_w" + ] + }, + "operands": { + "operand1": { + "type": "rax" + }, + "operand2": { + "type": "dstidx64" + } + }, + "implicit_read": [ + "edi", + "eflags" + ], + "implicit_write": [ + "edi" + ], + "prefix_flags": [ + "accepts_reperepne" + ], + "x86flags": { + "df": "tested" + }, + "comment": "scasq rax, $dstidx64 (SCASQ)", + "cd8scale": 0 + }, + { + "mnemonic": "scas", + "opcode": "af", + "extensions": { + "adsize": "64", + "bitfilters": [ + "rex_w" + ] + }, + "operands": { + "operand1": { + "type": "rax" + }, + "operand2": { + "type": "dstidx64" + } + }, + "implicit_read": [ + "rdi", + "eflags" + ], + "implicit_write": [ + "rdi" + ], + "prefix_flags": [ + "accepts_reperepne" + ], + "x86flags": { + "df": "tested" + }, + "comment": "scasq rax, $dstidx64 (SCASQ)", + "cd8scale": 0 + }, { "mnemonic": "seta", "opcode": "97", @@ -61295,6 +62518,40 @@ { "mnemonic": "stos", "opcode": "aa", + "extensions": { + "adsize": "16" + }, + "operands": { + "operand1": { + "type": "dstidx8", + "accessmode": "write" + }, + "operand2": { + "type": "al" + } + }, + "implicit_read": [ + "di", + "eflags" + ], + "implicit_write": [ + "di" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "stosb $dstidx8, al (STOSB)", + "cd8scale": 0 + }, + { + "mnemonic": "stos", + "opcode": "aa", + "extensions": { + "adsize": "32" + }, "operands": { "operand1": { "type": "dstidx8", @@ -61306,7 +62563,6 @@ }, "implicit_read": [ "edi", - "al", "eflags" ], "implicit_write": [ @@ -61315,6 +62571,40 @@ "prefix_flags": [ "accepts_rep" ], + "x86flags": { + "df": "tested" + }, + "comment": "stosb $dstidx8, al (STOSB)", + "cd8scale": 0 + }, + { + "mnemonic": "stos", + "opcode": "aa", + "extensions": { + "adsize": "64" + }, + "operands": { + "operand1": { + "type": "dstidx8", + "accessmode": "write" + }, + "operand2": { + "type": "al" + } + }, + "implicit_read": [ + "rdi", + "eflags" + ], + "implicit_write": [ + "rdi" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, "comment": "stosb $dstidx8, al (STOSB)", "cd8scale": 0 }, @@ -61322,6 +62612,267 @@ "mnemonic": "stos", "opcode": "ab", "extensions": { + "opsize": "16", + "adsize": "16" + }, + "operands": { + "operand1": { + "type": "dstidx16", + "accessmode": "write" + }, + "operand2": { + "type": "ax" + } + }, + "implicit_read": [ + "di", + "eflags" + ], + "implicit_write": [ + "di" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "stosw $dstidx16, ax (STOSW)", + "cd8scale": 0 + }, + { + "mnemonic": "stos", + "opcode": "ab", + "extensions": { + "opsize": "16", + "adsize": "32" + }, + "operands": { + "operand1": { + "type": "dstidx16", + "accessmode": "write" + }, + "operand2": { + "type": "ax" + } + }, + "implicit_read": [ + "edi", + "eflags" + ], + "implicit_write": [ + "edi" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "stosw $dstidx16, ax (STOSW)", + "cd8scale": 0 + }, + { + "mnemonic": "stos", + "opcode": "ab", + "extensions": { + "opsize": "16", + "adsize": "64" + }, + "operands": { + "operand1": { + "type": "dstidx16", + "accessmode": "write" + }, + "operand2": { + "type": "ax" + } + }, + "implicit_read": [ + "rdi", + "eflags" + ], + "implicit_write": [ + "rdi" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "stosw $dstidx16, ax (STOSW)", + "cd8scale": 0 + }, + { + "mnemonic": "stos", + "opcode": "ab", + "extensions": { + "opsize": "32", + "adsize": "16" + }, + "operands": { + "operand1": { + "type": "dstidx32", + "accessmode": "write" + }, + "operand2": { + "type": "eax" + } + }, + "implicit_read": [ + "di", + "eflags" + ], + "implicit_write": [ + "di" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "stosd $dstidx32, eax (STOSL)", + "cd8scale": 0 + }, + { + "mnemonic": "stos", + "opcode": "ab", + "extensions": { + "opsize": "32", + "adsize": "32" + }, + "operands": { + "operand1": { + "type": "dstidx32", + "accessmode": "write" + }, + "operand2": { + "type": "eax" + } + }, + "implicit_read": [ + "edi", + "eflags" + ], + "implicit_write": [ + "edi" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "stosd $dstidx32, eax (STOSL)", + "cd8scale": 0 + }, + { + "mnemonic": "stos", + "opcode": "ab", + "extensions": { + "opsize": "32", + "adsize": "64" + }, + "operands": { + "operand1": { + "type": "dstidx32", + "accessmode": "write" + }, + "operand2": { + "type": "eax" + } + }, + "implicit_read": [ + "rdi", + "eflags" + ], + "implicit_write": [ + "rdi" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "stosd $dstidx32, eax (STOSL)", + "cd8scale": 0 + }, + { + "mnemonic": "stos", + "opcode": "ab", + "extensions": { + "adsize": "16", + "bitfilters": [ + "rex_w" + ] + }, + "operands": { + "operand1": { + "type": "dstidx64", + "accessmode": "write" + }, + "operand2": { + "type": "rax" + } + }, + "implicit_read": [ + "di", + "eflags" + ], + "implicit_write": [ + "di" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "stosq $dstidx64, rax (STOSQ)", + "cd8scale": 0 + }, + { + "mnemonic": "stos", + "opcode": "ab", + "extensions": { + "adsize": "32", + "bitfilters": [ + "rex_w" + ] + }, + "operands": { + "operand1": { + "type": "dstidx64", + "accessmode": "write" + }, + "operand2": { + "type": "rax" + } + }, + "implicit_read": [ + "edi", + "eflags" + ], + "implicit_write": [ + "edi" + ], + "prefix_flags": [ + "accepts_rep" + ], + "x86flags": { + "df": "tested" + }, + "comment": "stosq $dstidx64, rax (STOSQ)", + "cd8scale": 0 + }, + { + "mnemonic": "stos", + "opcode": "ab", + "extensions": { + "adsize": "64", "bitfilters": [ "rex_w" ] @@ -61336,7 +62887,6 @@ } }, "implicit_read": [ - "rax", "rdi", "eflags" ], @@ -61346,67 +62896,12 @@ "prefix_flags": [ "accepts_rep" ], + "x86flags": { + "df": "tested" + }, "comment": "stosq $dstidx64, rax (STOSQ)", "cd8scale": 0 }, - { - "mnemonic": "stos", - "opcode": "ab", - "extensions": { - "opsize": "16" - }, - "operands": { - "operand1": { - "type": "dstidx16", - "accessmode": "write" - }, - "operand2": { - "type": "ax" - } - }, - "implicit_read": [ - "edi", - "ax", - "eflags" - ], - "implicit_write": [ - "edi" - ], - "prefix_flags": [ - "accepts_rep" - ], - "comment": "stosw $dstidx16, ax (STOSW)", - "cd8scale": 0 - }, - { - "mnemonic": "stos", - "opcode": "ab", - "extensions": { - "opsize": "32" - }, - "operands": { - "operand1": { - "type": "dstidx32", - "accessmode": "write" - }, - "operand2": { - "type": "eax" - } - }, - "implicit_read": [ - "eax", - "edi", - "eflags" - ], - "implicit_write": [ - "edi" - ], - "prefix_flags": [ - "accepts_rep" - ], - "comment": "stosd $dstidx32, eax (STOSL)", - "cd8scale": 0 - }, { "mnemonic": "str", "opcode": "00",