From e2a9329781fef9112e06cebdc1fb7719aa2ea373 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joel=20H=C3=B6ner?= Date: Fri, 25 Nov 2016 20:45:17 +0100 Subject: [PATCH] regs and flags for PABS - PTEST --- assets/instructions.json | 608 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 584 insertions(+), 24 deletions(-) diff --git a/assets/instructions.json b/assets/instructions.json index 2e64f20..69a9027 100644 --- a/assets/instructions.json +++ b/assets/instructions.json @@ -42472,6 +42472,14 @@ "ecx", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "comment": "pcmpestri $VR128, $i128mem, $u8imm (PCMPESTRIrm)", "cd8scale": 0 }, @@ -42508,6 +42516,14 @@ "ecx", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "comment": "pcmpestri $VR128, $VR128, $u8imm (PCMPESTRIrr)", "cd8scale": 0 }, @@ -42544,6 +42560,14 @@ "xmm0", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "comment": "pcmpestrm $VR128, $i128mem, $u8imm (PCMPESTRM128rm)", "cd8scale": 0 }, @@ -42580,6 +42604,14 @@ "xmm0", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "comment": "pcmpestrm $VR128, $VR128, $u8imm (PCMPESTRM128rr)", "cd8scale": 0 }, @@ -42956,6 +42988,14 @@ "ecx", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "comment": "pcmpistri $VR128, $i128mem, $u8imm (PCMPISTRIrm)", "cd8scale": 0 }, @@ -42988,6 +43028,14 @@ "ecx", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "comment": "pcmpistri $VR128, $VR128, $u8imm (PCMPISTRIrr)", "cd8scale": 0 }, @@ -43020,6 +43068,14 @@ "xmm0", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "comment": "pcmpistrm $VR128, $i128mem, $u8imm (PCMPISTRM128rm)", "cd8scale": 0 }, @@ -43052,6 +43108,14 @@ "xmm0", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "comment": "pcmpistrm $VR128, $VR128, $u8imm (PCMPISTRM128rr)", "cd8scale": 0 }, @@ -48163,6 +48227,12 @@ "type": "es" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48176,6 +48246,12 @@ "type": "ss" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48189,6 +48265,12 @@ "type": "ds" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48205,6 +48287,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48221,6 +48309,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48237,6 +48331,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48253,6 +48353,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48269,6 +48375,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48285,6 +48397,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48301,6 +48419,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48317,6 +48441,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48333,6 +48463,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48349,6 +48485,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48365,6 +48507,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48381,6 +48529,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48397,6 +48551,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48413,6 +48573,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48429,6 +48595,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48445,6 +48617,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48461,6 +48639,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48477,6 +48661,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48493,6 +48683,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48509,6 +48705,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48525,6 +48727,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48541,6 +48749,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48557,6 +48771,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48573,6 +48793,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48589,6 +48815,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48605,6 +48837,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48621,6 +48859,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48637,6 +48881,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48653,6 +48903,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48669,6 +48925,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48685,6 +48947,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48701,6 +48969,12 @@ "accessmode": "write" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "cd8scale": 0 }, { @@ -48720,10 +48994,10 @@ } }, "implicit_read": [ - "esp" + "rsp" ], "implicit_write": [ - "esp" + "rsp" ], "comment": "pop $i16mem (POP16rmm)", "cd8scale": 0 @@ -48770,10 +49044,10 @@ } }, "implicit_read": [ - "esp" + "rsp" ], "implicit_write": [ - "esp" + "rsp" ], "comment": "pop $GR16 (POP16rmr)", "cd8scale": 0 @@ -48820,10 +49094,10 @@ } }, "implicit_read": [ - "esp" + "rsp" ], "implicit_write": [ - "esp" + "rsp" ], "comment": "pop $i16mem (POP16rmm)", "cd8scale": 0 @@ -48845,10 +49119,10 @@ } }, "implicit_read": [ - "esp" + "rsp" ], "implicit_write": [ - "esp" + "rsp" ], "comment": "pop $i32mem (POP32rmm)", "cd8scale": 0 @@ -48870,10 +49144,10 @@ } }, "implicit_read": [ - "esp" + "rsp" ], "implicit_write": [ - "esp" + "rsp" ], "comment": "pop $GR16 (POP16rmr)", "cd8scale": 0 @@ -48895,10 +49169,10 @@ } }, "implicit_read": [ - "esp" + "rsp" ], "implicit_write": [ - "esp" + "rsp" ], "comment": "pop $GR32 (POP32rmr)", "cd8scale": 0 @@ -48916,6 +49190,12 @@ "type": "fs" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "comment": "pop fs (POPFS16)", "cd8scale": 0 }, @@ -48932,6 +49212,12 @@ "type": "fs" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "comment": "pop fs (POPFS16)", "cd8scale": 0 }, @@ -48948,6 +49234,12 @@ "type": "fs" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "comment": "pop fs (POPFS16)", "cd8scale": 0 }, @@ -48964,6 +49256,12 @@ "type": "fs" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "comment": "pop fs (POPFS16)", "cd8scale": 0 }, @@ -48980,6 +49278,12 @@ "type": "gs" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "comment": "pop gs (POPGS16)", "cd8scale": 0 }, @@ -48996,6 +49300,12 @@ "type": "gs" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "comment": "pop gs (POPGS16)", "cd8scale": 0 }, @@ -49012,6 +49322,12 @@ "type": "gs" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "comment": "pop gs (POPGS16)", "cd8scale": 0 }, @@ -49028,25 +49344,57 @@ "type": "gs" } }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp" + ], "comment": "pop gs (POPGS16)", "cd8scale": 0 }, { - "mnemonic": "popal", - "opcode": "61", - "extensions": { - "mode": "exclude64", - "opsize": "32" - }, - "cd8scale": 0 - }, - { - "mnemonic": "popaw", + "mnemonic": "popa", "opcode": "61", "extensions": { "mode": "exclude64", "opsize": "16" }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp", + "ax", + "cx", + "dx", + "bx", + "bp", + "si", + "di" + ], + "cd8scale": 0 + }, + { + "mnemonic": "popad", + "opcode": "61", + "extensions": { + "mode": "exclude64", + "opsize": "32" + }, + "implicit_read": [ + "rsp" + ], + "implicit_write": [ + "rsp", + "eax", + "ecx", + "edx", + "ebx", + "ebp", + "esi", + "edi" + ], "cd8scale": 0 }, { @@ -49076,6 +49424,14 @@ "implicit_write": [ "eflags" ], + "x86flags": { + "cf": "reset", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "reset", + "of": "reset" + }, "comment": "popcnt $GR64, $i64mem (POPCNT64rm)", "cd8scale": 0 }, @@ -49104,6 +49460,14 @@ "implicit_write": [ "eflags" ], + "x86flags": { + "cf": "reset", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "reset", + "of": "reset" + }, "comment": "popcnt $GR16, $i16mem (POPCNT16rm)", "cd8scale": 0 }, @@ -49132,6 +49496,14 @@ "implicit_write": [ "eflags" ], + "x86flags": { + "cf": "reset", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "reset", + "of": "reset" + }, "comment": "popcnt $GR32, $i32mem (POPCNT32rm)", "cd8scale": 0 }, @@ -49162,6 +49534,14 @@ "implicit_write": [ "eflags" ], + "x86flags": { + "cf": "reset", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "reset", + "of": "reset" + }, "comment": "popcnt $GR64, $GR64 (POPCNT64rr)", "cd8scale": 0 }, @@ -49190,6 +49570,14 @@ "implicit_write": [ "eflags" ], + "x86flags": { + "cf": "reset", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "reset", + "of": "reset" + }, "comment": "popcnt $GR16, $GR16 (POPCNT16rr)", "cd8scale": 0 }, @@ -49218,6 +49606,14 @@ "implicit_write": [ "eflags" ], + "x86flags": { + "cf": "reset", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "reset", + "of": "reset" + }, "comment": "popcnt $GR32, $GR32 (POPCNT32rr)", "cd8scale": 0 }, @@ -49233,8 +49629,20 @@ ], "implicit_write": [ "esp", - "eflags" + "rflags" ], + "x86flags": { + "cf": "modified", + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "tf": "modified", + "if": "modified", + "df": "modified", + "of": "modified", + "rf": "reset" + }, "comment": "popf (POPF16)", "cd8scale": 0 }, @@ -49252,6 +49660,18 @@ "esp", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "tf": "modified", + "if": "modified", + "df": "modified", + "of": "modified", + "rf": "reset" + }, "comment": "popf (POPF16)", "cd8scale": 0 }, @@ -49269,6 +49689,20 @@ "esp", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "tf": "modified", + "if": "modified", + "df": "modified", + "of": "modified", + "rf": "reset", + "ac": "modified", + "id": "modified" + }, "comment": "popfd (POPF32)", "cd8scale": 0 }, @@ -49284,8 +49718,22 @@ ], "implicit_write": [ "rsp", - "eflags" + "rflags" ], + "x86flags": { + "cf": "modified", + "pf": "modified", + "af": "modified", + "zf": "modified", + "sf": "modified", + "tf": "modified", + "if": "modified", + "df": "modified", + "of": "modified", + "rf": "reset", + "ac": "modified", + "id": "modified" + }, "comment": "popfq (POPF64)", "cd8scale": 0 }, @@ -52326,6 +52774,14 @@ "encoding": "modrm_rm" } }, + "x86flags": { + "cf": "modified", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "reset", + "of": "reset" + }, "comment": "ptest $VR128, $f128mem (PTESTrm)", "cd8scale": 0 }, @@ -52350,6 +52806,14 @@ "encoding": "modrm_rm" } }, + "x86flags": { + "cf": "modified", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "reset", + "of": "reset" + }, "comment": "ptest $VR128, $VR128 (PTESTrr)", "cd8scale": 0 }, @@ -156444,6 +156908,14 @@ "ecx", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "comment": "vpcmpestri $VR128, $i128mem, $u8imm (VPCMPESTRIrm)", "cd8scale": 0 }, @@ -156481,6 +156953,14 @@ "ecx", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "comment": "vpcmpestri $VR128, $VR128, $u8imm (VPCMPESTRIrr)", "cd8scale": 0 }, @@ -156518,6 +156998,14 @@ "xmm0", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "comment": "vpcmpestrm $VR128, $i128mem, $u8imm (VPCMPESTRM128rm)", "cd8scale": 0 }, @@ -156555,6 +157043,14 @@ "xmm0", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "comment": "vpcmpestrm $VR128, $VR128, $u8imm (VPCMPESTRM128rr)", "cd8scale": 0 }, @@ -158191,6 +158687,14 @@ "ecx", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "comment": "vpcmpistri $VR128, $i128mem, $u8imm (VPCMPISTRIrm)", "cd8scale": 0 }, @@ -158224,6 +158728,14 @@ "ecx", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "comment": "vpcmpistri $VR128, $VR128, $u8imm (VPCMPISTRIrr)", "cd8scale": 0 }, @@ -158257,6 +158769,14 @@ "xmm0", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "comment": "vpcmpistrm $VR128, $i128mem, $u8imm (VPCMPISTRM128rm)", "cd8scale": 0 }, @@ -158290,6 +158810,14 @@ "xmm0", "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "modified", + "of": "modified" + }, "comment": "vpcmpistrm $VR128, $VR128, $u8imm (VPCMPISTRM128rr)", "cd8scale": 0 }, @@ -216245,6 +216773,14 @@ "implicit_write": [ "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "reset", + "of": "reset" + }, "comment": "vptest $VR128, $f128mem (VPTESTrm)", "cd8scale": 0 }, @@ -216276,6 +216812,14 @@ "implicit_write": [ "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "reset", + "of": "reset" + }, "comment": "vptest $VR256, $i256mem (VPTESTYrm)", "cd8scale": 0 }, @@ -216304,6 +216848,14 @@ "implicit_write": [ "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "reset", + "of": "reset" + }, "comment": "vptest $VR128, $VR128 (VPTESTrr)", "cd8scale": 0 }, @@ -216335,6 +216887,14 @@ "implicit_write": [ "eflags" ], + "x86flags": { + "cf": "modified", + "pf": "reset", + "af": "reset", + "zf": "modified", + "sf": "reset", + "of": "reset" + }, "comment": "vptest $VR256, $VR256 (VPTESTYrr)", "cd8scale": 0 },