From 87b9a281cf91205e86a1a798d2427639d45ea049 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joel=20H=C3=B6ner?= Date: Thu, 24 Nov 2016 00:31:49 +0100 Subject: [PATCH] added flags and implicit regs for instructions DPPD-IRET --- assets/instructions.json | 803 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 774 insertions(+), 29 deletions(-) diff --git a/assets/instructions.json b/assets/instructions.json index 139d63c..e938649 100644 --- a/assets/instructions.json +++ b/assets/instructions.json @@ -19028,6 +19028,14 @@ "implicit_write": [ "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "modified", + "af": "reset", + "zf": "modified", + "sf": "reset", + "of": "reset" + }, "comment": "fcomi $RST (COM_FIr)", "cd8scale": 0 }, @@ -20117,7 +20125,7 @@ }, "operands": { "operand1": { - "type": "mem32", + "type": "mem", "encoding": "modrm_rm" } }, @@ -20270,7 +20278,7 @@ }, "operands": { "operand1": { - "type": "mem32", + "type": "mem", "encoding": "modrm_rm" } }, @@ -20766,6 +20774,14 @@ "implicit_write": [ "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "modified", + "af": "reset", + "zf": "modified", + "sf": "reset", + "of": "reset" + }, "comment": "fucomi $RST (UCOM_FIr)", "cd8scale": 0 }, @@ -20884,6 +20900,33 @@ "encoding": "modrm_rm" } }, + "implicit_write": [ + "mm0", + "mm1", + "mm2", + "mm3", + "mm4", + "mm5", + "mm6", + "mm7", + "xmm0", + "xmm1", + "xmm2", + "xmm3", + "xmm4", + "xmm5", + "xmm6", + "xmm7", + "xmm8", + "xmm9", + "xmm10", + "xmm11", + "xmm12", + "xmm13", + "xmm14", + "xmm15", + "mxcsr" + ], "comment": "fxrstor $opaque512mem (FXRSTOR)", "cd8scale": 0 }, @@ -20928,6 +20971,33 @@ "accessmode": "write" } }, + "implicit_read": [ + "mm0", + "mm1", + "mm2", + "mm3", + "mm4", + "mm5", + "mm6", + "mm7", + "xmm0", + "xmm1", + "xmm2", + "xmm3", + "xmm4", + "xmm5", + "xmm6", + "xmm7", + "xmm8", + "xmm9", + "xmm10", + "xmm11", + "xmm12", + "xmm13", + "xmm14", + "xmm15", + "mxcsr" + ], "comment": "fxsave $opaque512mem (FXSAVE)", "cd8scale": 0 }, @@ -21109,6 +21179,9 @@ { "mnemonic": "hlt", "opcode": "f4", + "flags": [ + "privileged" + ], "comment": "hlt (HLT)", "cd8scale": 0 }, @@ -21234,6 +21307,14 @@ "ah", "eflags" ], + "x86flags": { + "cf": "undefined", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "undefined" + }, "comment": "idiv $i8mem (IDIV8m)", "cd8scale": 0 }, @@ -21259,6 +21340,14 @@ "ah", "eflags" ], + "x86flags": { + "cf": "undefined", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "undefined" + }, "comment": "idiv $GR8 (IDIV8r)", "cd8scale": 0 }, @@ -21288,6 +21377,14 @@ "rdx", "eflags" ], + "x86flags": { + "cf": "undefined", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "undefined" + }, "comment": "idiv $i64mem (IDIV64m)", "cd8scale": 0 }, @@ -21315,6 +21412,14 @@ "dx", "eflags" ], + "x86flags": { + "cf": "undefined", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "undefined" + }, "comment": "idiv $i16mem (IDIV16m)", "cd8scale": 0 }, @@ -21342,6 +21447,14 @@ "edx", "eflags" ], + "x86flags": { + "cf": "undefined", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "undefined" + }, "comment": "idiv $i32mem (IDIV32m)", "cd8scale": 0 }, @@ -21371,6 +21484,14 @@ "rdx", "eflags" ], + "x86flags": { + "cf": "undefined", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "undefined" + }, "comment": "idiv $GR64 (IDIV64r)", "cd8scale": 0 }, @@ -21398,6 +21519,14 @@ "dx", "eflags" ], + "x86flags": { + "cf": "undefined", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "undefined" + }, "comment": "idiv $GR16 (IDIV16r)", "cd8scale": 0 }, @@ -21425,6 +21554,14 @@ "edx", "eflags" ], + "x86flags": { + "cf": "undefined", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "undefined" + }, "comment": "idiv $GR32 (IDIV32r)", "cd8scale": 0 }, @@ -21452,6 +21589,17 @@ "encoding": "imm32" } }, + "implicit_write": [ + "eflags" + ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "cd8scale": 0 }, { @@ -21476,6 +21624,17 @@ "encoding": "imm16" } }, + "implicit_write": [ + "eflags" + ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "cd8scale": 0 }, { @@ -21500,6 +21659,17 @@ "encoding": "imm32" } }, + "implicit_write": [ + "eflags" + ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "cd8scale": 0 }, { @@ -21526,6 +21696,17 @@ "encoding": "imm32" } }, + "implicit_write": [ + "eflags" + ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "cd8scale": 0 }, { @@ -21550,6 +21731,17 @@ "encoding": "imm16" } }, + "implicit_write": [ + "eflags" + ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "cd8scale": 0 }, { @@ -21574,6 +21766,17 @@ "encoding": "imm32" } }, + "implicit_write": [ + "eflags" + ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "cd8scale": 0 }, { @@ -21600,6 +21803,17 @@ "encoding": "imm8" } }, + "implicit_write": [ + "eflags" + ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "cd8scale": 0 }, { @@ -21624,6 +21838,17 @@ "encoding": "imm8" } }, + "implicit_write": [ + "eflags" + ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "cd8scale": 0 }, { @@ -21648,6 +21873,17 @@ "encoding": "imm8" } }, + "implicit_write": [ + "eflags" + ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "cd8scale": 0 }, { @@ -21674,6 +21910,17 @@ "encoding": "imm8" } }, + "implicit_write": [ + "eflags" + ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "cd8scale": 0 }, { @@ -21698,6 +21945,17 @@ "encoding": "imm8" } }, + "implicit_write": [ + "eflags" + ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "cd8scale": 0 }, { @@ -21722,6 +21980,17 @@ "encoding": "imm8" } }, + "implicit_write": [ + "eflags" + ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "cd8scale": 0 }, { @@ -21746,6 +22015,14 @@ "al", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "comment": "imul $i8mem (IMUL8m)", "cd8scale": 0 }, @@ -21771,6 +22048,14 @@ "al", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "comment": "imul $GR8 (IMUL8r)", "cd8scale": 0 }, @@ -21799,6 +22084,14 @@ "rdx", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "comment": "imul $i64mem (IMUL64m)", "cd8scale": 0 }, @@ -21825,6 +22118,14 @@ "dx", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "comment": "imul $i16mem (IMUL16m)", "cd8scale": 0 }, @@ -21851,6 +22152,14 @@ "edx", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "comment": "imul $i32mem (IMUL32m)", "cd8scale": 0 }, @@ -21879,6 +22188,14 @@ "rdx", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "comment": "imul $GR64 (IMUL64r)", "cd8scale": 0 }, @@ -21905,6 +22222,14 @@ "dx", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "comment": "imul $GR16 (IMUL16r)", "cd8scale": 0 }, @@ -21931,6 +22256,14 @@ "edx", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "comment": "imul $GR32 (IMUL32r)", "cd8scale": 0 }, @@ -21958,6 +22291,14 @@ "implicit_write": [ "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "comment": "imul $GR64, $i64mem (IMUL64rm)", "cd8scale": 0 }, @@ -21983,6 +22324,14 @@ "implicit_write": [ "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "comment": "imul $GR16, $i16mem (IMUL16rm)", "cd8scale": 0 }, @@ -22008,6 +22357,14 @@ "implicit_write": [ "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "comment": "imul $GR32, $i32mem (IMUL32rm)", "cd8scale": 0 }, @@ -22035,6 +22392,14 @@ "implicit_write": [ "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "comment": "imul $GR64, $GR64 (IMUL64rr)", "cd8scale": 0 }, @@ -22060,6 +22425,14 @@ "implicit_write": [ "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "comment": "imul $GR16, $GR16 (IMUL16rr)", "cd8scale": 0 }, @@ -22085,6 +22458,14 @@ "implicit_write": [ "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "undefined", + "af": "undefined", + "zf": "undefined", + "sf": "undefined", + "of": "modified" + }, "comment": "imul $GR32, $GR32 (IMUL32rr)", "cd8scale": 0 }, @@ -22101,8 +22482,8 @@ "encoding": "imm8" } }, - "implicit_write": [ - "al" + "flags": [ + "privileged" ], "comment": "in al, $u8imm (IN8ri)", "cd8scale": 0 @@ -22123,8 +22504,8 @@ "encoding": "imm8" } }, - "implicit_write": [ - "ax" + "flags": [ + "privileged" ], "comment": "in ax, $u8imm (IN16ri)", "cd8scale": 0 @@ -22145,8 +22526,8 @@ "encoding": "imm8" } }, - "implicit_write": [ - "eax" + "flags": [ + "privileged" ], "comment": "in eax, $u8imm (IN32ri)", "cd8scale": 0 @@ -22163,11 +22544,8 @@ "type": "dx" } }, - "implicit_read": [ - "dx" - ], - "implicit_write": [ - "al" + "flags": [ + "privileged" ], "comment": "in al, dx (IN8rr)", "cd8scale": 0 @@ -22187,11 +22565,8 @@ "type": "dx" } }, - "implicit_read": [ - "dx" - ], - "implicit_write": [ - "ax" + "flags": [ + "privileged" ], "comment": "in ax, dx (IN16rr)", "cd8scale": 0 @@ -22211,11 +22586,8 @@ "type": "dx" } }, - "implicit_read": [ - "dx" - ], - "implicit_write": [ - "eax" + "flags": [ + "privileged" ], "comment": "in eax, dx (IN32rr)", "cd8scale": 0 @@ -22234,6 +22606,13 @@ "accessmode": "readwrite" } }, + "x86flags": { + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "cd8scale": 0 }, { @@ -22250,6 +22629,13 @@ "accessmode": "readwrite" } }, + "x86flags": { + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "cd8scale": 0 }, { @@ -22266,6 +22652,13 @@ "accessmode": "readwrite" } }, + "x86flags": { + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "cd8scale": 0 }, { @@ -22282,6 +22675,13 @@ "accessmode": "readwrite" } }, + "x86flags": { + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "cd8scale": 0 }, { @@ -22298,6 +22698,13 @@ "accessmode": "readwrite" } }, + "x86flags": { + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "cd8scale": 0 }, { @@ -22314,6 +22721,13 @@ "accessmode": "readwrite" } }, + "x86flags": { + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "cd8scale": 0 }, { @@ -22330,6 +22744,13 @@ "accessmode": "readwrite" } }, + "x86flags": { + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "cd8scale": 0 }, { @@ -22346,6 +22767,13 @@ "accessmode": "readwrite" } }, + "x86flags": { + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "cd8scale": 0 }, { @@ -22362,6 +22790,13 @@ "accessmode": "readwrite" } }, + "x86flags": { + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "cd8scale": 0 }, { @@ -22378,6 +22813,13 @@ "accessmode": "readwrite" } }, + "x86flags": { + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "cd8scale": 0 }, { @@ -22394,6 +22836,13 @@ "accessmode": "readwrite" } }, + "x86flags": { + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "cd8scale": 0 }, { @@ -22410,6 +22859,13 @@ "accessmode": "readwrite" } }, + "x86flags": { + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "cd8scale": 0 }, { @@ -22426,6 +22882,13 @@ "accessmode": "readwrite" } }, + "x86flags": { + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "cd8scale": 0 }, { @@ -22442,6 +22905,13 @@ "accessmode": "readwrite" } }, + "x86flags": { + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "cd8scale": 0 }, { @@ -22458,6 +22928,13 @@ "accessmode": "readwrite" } }, + "x86flags": { + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "cd8scale": 0 }, { @@ -22474,6 +22951,13 @@ "accessmode": "readwrite" } }, + "x86flags": { + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "cd8scale": 0 }, { @@ -22498,6 +22982,13 @@ "accepts_xacquire", "accepts_xrelease" ], + "x86flags": { + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "comment": "inc $i8mem (LOCK_INC8m)", "cd8scale": 0 }, @@ -22518,6 +23009,13 @@ "implicit_write": [ "eflags" ], + "x86flags": { + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "comment": "inc $GR8 (INC8r)", "cd8scale": 0 }, @@ -22546,6 +23044,13 @@ "accepts_xacquire", "accepts_xrelease" ], + "x86flags": { + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "comment": "inc $i64mem (LOCK_INC64m)", "cd8scale": 0 }, @@ -22572,6 +23077,13 @@ "accepts_xacquire", "accepts_xrelease" ], + "x86flags": { + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "comment": "inc $i16mem (LOCK_INC16m)", "cd8scale": 0 }, @@ -22598,6 +23110,13 @@ "accepts_xacquire", "accepts_xrelease" ], + "x86flags": { + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "comment": "inc $i32mem (LOCK_INC32m)", "cd8scale": 0 }, @@ -22621,6 +23140,13 @@ "implicit_write": [ "eflags" ], + "x86flags": { + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "comment": "inc $GR64 (INC64r)", "cd8scale": 0 }, @@ -22642,6 +23168,13 @@ "implicit_write": [ "eflags" ], + "x86flags": { + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "comment": "inc $GR16 (INC16r)", "cd8scale": 0 }, @@ -22663,6 +23196,13 @@ "implicit_write": [ "eflags" ], + "x86flags": { + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "comment": "inc $GR32 (INC32r)", "cd8scale": 0 }, @@ -22678,6 +23218,9 @@ "type": "dx" } }, + "flags": [ + "privileged" + ], "prefix_flags": [ "accepts_rep" ], @@ -22698,6 +23241,9 @@ "type": "dx" } }, + "flags": [ + "privileged" + ], "prefix_flags": [ "accepts_rep" ], @@ -22718,6 +23264,9 @@ "type": "dx" } }, + "flags": [ + "privileged" + ], "prefix_flags": [ "accepts_rep" ], @@ -22910,17 +23459,98 @@ "encoding": "imm8" } }, + "implicit_read": [ + "eflags" + ], + "implicit_write": [ + "rsp", + "eflags", + "rip", + "cs", + "ss" + ], + "x86flags": { + "cf": "modified", + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "tf": "modified", + "if": "modified", + "df": "modified", + "of": "modified", + "rf": "modified", + "vm": "modified", + "ac": "modified", + "vif": "modified", + "vip": "modified", + "id": "modified" + }, "comment": "int $u8imm (INT)", "cd8scale": 0 }, { "mnemonic": "int1", "opcode": "f1", + "implicit_read": [ + "eflags" + ], + "implicit_write": [ + "rsp", + "eflags", + "rip", + "cs", + "ss" + ], + "x86flags": { + "cf": "modified", + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "tf": "modified", + "if": "modified", + "df": "modified", + "of": "modified", + "rf": "modified", + "vm": "modified", + "ac": "modified", + "vif": "modified", + "vip": "modified", + "id": "modified" + }, "cd8scale": 0 }, { "mnemonic": "int3", "opcode": "cc", + "implicit_read": [ + "eflags" + ], + "implicit_write": [ + "rsp", + "eflags", + "rip", + "cs", + "ss" + ], + "x86flags": { + "cf": "modified", + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "tf": "modified", + "if": "modified", + "df": "modified", + "of": "modified", + "rf": "modified", + "vm": "modified", + "ac": "modified", + "vif": "modified", + "vip": "modified", + "id": "modified" + }, "comment": "int3 (INT3)", "cd8scale": 0 }, @@ -22930,6 +23560,30 @@ "implicit_read": [ "eflags" ], + "implicit_write": [ + "rsp", + "eflags", + "rip", + "cs", + "ss" + ], + "x86flags": { + "cf": "modified", + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "tf": "modified", + "if": "modified", + "df": "modified", + "of": "modified", + "rf": "modified", + "vm": "modified", + "ac": "modified", + "vif": "modified", + "vip": "modified", + "id": "modified" + }, "comment": "into (INTO)", "cd8scale": 0 }, @@ -22937,6 +23591,9 @@ "mnemonic": "invd", "opcode": "08", "map": "0f", + "flags": [ + "privileged" + ], "comment": "invd (INVD)", "cd8scale": 0 }, @@ -22998,6 +23655,9 @@ "encoding": "modrm_rm" } }, + "flags": [ + "privileged" + ], "comment": "invlpg $i8mem (INVLPG)", "cd8scale": 0 }, @@ -23016,9 +23676,8 @@ "type": "rax" } }, - "implicit_read": [ - "rax", - "ecx" + "flags": [ + "privileged" ], "comment": "invlpga rax, ecx (INVLPGA64)", "cd8scale": 0 @@ -23038,9 +23697,8 @@ "type": "eax" } }, - "implicit_read": [ - "eax", - "ecx" + "flags": [ + "privileged" ], "comment": "invlpga eax, ecx (INVLPGA32)", "cd8scale": 0 @@ -23064,6 +23722,9 @@ "encoding": "modrm_rm" } }, + "flags": [ + "privileged" + ], "comment": "invpcid $GR64, $i128mem (INVPCID64)", "cd8scale": 0 }, @@ -23086,6 +23747,9 @@ "encoding": "modrm_rm" } }, + "flags": [ + "privileged" + ], "comment": "invpcid $GR32, $i128mem (INVPCID32)", "cd8scale": 0 }, @@ -23139,6 +23803,33 @@ "extensions": { "opsize": "16" }, + "implicit_read": [ + "eflags" + ], + "implicit_write": [ + "rsp", + "eflags", + "rip", + "cs", + "ss" + ], + "x86flags": { + "cf": "modified", + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "tf": "modified", + "if": "modified", + "df": "modified", + "of": "modified", + "rf": "modified", + "vm": "modified", + "ac": "modified", + "vif": "modified", + "vip": "modified", + "id": "modified" + }, "comment": "iret (IRET16)", "cd8scale": 0 }, @@ -23148,6 +23839,33 @@ "extensions": { "opsize": "32" }, + "implicit_read": [ + "eflags" + ], + "implicit_write": [ + "rsp", + "eflags", + "rip", + "cs", + "ss" + ], + "x86flags": { + "cf": "modified", + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "tf": "modified", + "if": "modified", + "df": "modified", + "of": "modified", + "rf": "modified", + "vm": "modified", + "ac": "modified", + "vif": "modified", + "vip": "modified", + "id": "modified" + }, "comment": "iretd (IRET32)", "cd8scale": 0 }, @@ -23159,6 +23877,33 @@ "rex_w" ] }, + "implicit_read": [ + "eflags" + ], + "implicit_write": [ + "rsp", + "eflags", + "rip", + "cs", + "ss" + ], + "x86flags": { + "cf": "modified", + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "tf": "modified", + "if": "modified", + "df": "modified", + "of": "modified", + "rf": "modified", + "vm": "modified", + "ac": "modified", + "vif": "modified", + "vip": "modified", + "id": "modified" + }, "comment": "iretq (IRET64)", "cd8scale": 0 },