diff --git a/bddisasm/include/bdx86_instructions.h b/bddisasm/include/bdx86_instructions.h index 4c21138..b5b0fb1 100644 --- a/bddisasm/include/bdx86_instructions.h +++ b/bddisasm/include/bdx86_instructions.h @@ -6971,7 +6971,7 @@ const ND_IDBE gInstructions[4075] = .Operands = { OP(ND_OPT_E, ND_OPS_v, 0, ND_OPA_R, 0, 0), - OP(ND_OPT_rIP, ND_OPS_v, ND_OPF_OPDEF, ND_OPA_W, 0, 0), + OP(ND_OPT_rIP, ND_OPS_v, ND_OPF_OPDEF, ND_OPA_RW, 0, 0), OP(ND_OPT_K, ND_OPS_v, ND_OPF_OPDEF, ND_OPA_W, 0, 0), OP(ND_OPT_SHSP, ND_OPS_v, ND_OPF_OPDEF, ND_OPA_W, 0, 0), }, @@ -7001,7 +7001,7 @@ const ND_IDBE gInstructions[4075] = { OP(ND_OPT_A, ND_OPS_p, 0, ND_OPA_R, 0, 0), OP(ND_OPT_CS, ND_OPS_v, ND_OPF_OPDEF, ND_OPA_RW, 0, 0), - OP(ND_OPT_rIP, ND_OPS_v, ND_OPF_OPDEF, ND_OPA_W, 0, 0), + OP(ND_OPT_rIP, ND_OPS_v, ND_OPF_OPDEF, ND_OPA_RW, 0, 0), OP(ND_OPT_K, ND_OPS_v2, ND_OPF_OPDEF, ND_OPA_W, 0, 0), OP(ND_OPT_SHSP, ND_OPS_v2, ND_OPF_OPDEF, ND_OPA_W, 0, 0), }, @@ -7030,8 +7030,8 @@ const ND_IDBE gInstructions[4075] = .Operands = { OP(ND_OPT_M, ND_OPS_p, 0, ND_OPA_R, 0, 0), - OP(ND_OPT_CS, ND_OPS_v, ND_OPF_OPDEF, ND_OPA_W, 0, 0), - OP(ND_OPT_rIP, ND_OPS_v, ND_OPF_OPDEF, ND_OPA_W, 0, 0), + OP(ND_OPT_CS, ND_OPS_v, ND_OPF_OPDEF, ND_OPA_RW, 0, 0), + OP(ND_OPT_rIP, ND_OPS_v, ND_OPF_OPDEF, ND_OPA_RW, 0, 0), OP(ND_OPT_K, ND_OPS_v2, ND_OPF_OPDEF, ND_OPA_W, 0, 0), OP(ND_OPT_SHSP, ND_OPS_v2, ND_OPF_OPDEF, ND_OPA_W, 0, 0), }, diff --git a/bddisasm_test/x86/basic/branch_16.result b/bddisasm_test/x86/basic/branch_16.result index 8eaac93..0222f19 100644 --- a/bddisasm_test/x86/basic/branch_16.result +++ b/bddisasm_test/x86/basic/branch_16.result @@ -30,7 +30,7 @@ HLE: no, XACQUIRE only: no, XRELEASE only: no BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Register, Size: 2, RawSize: 2, Encoding: M, RegType: General Purpose, RegSize: 2, RegId: 0, RegCount: 1 - Operand: 1, Acc: -W, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 2, RawSize: 2, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 2, RawSize: 2, Encoding: S, Shadow stack: 3, @@ -49,7 +49,7 @@ HLE: no, XACQUIRE only: no, XRELEASE only: no BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Register, Size: 4, RawSize: 4, Encoding: M, RegType: General Purpose, RegSize: 4, RegId: 0, RegCount: 1 - Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -69,7 +69,7 @@ BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Memory, Size: 2, RawSize: 2, Encoding: M, Segment: 3, Base: 3, - Operand: 1, Acc: -W, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 2, RawSize: 2, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 2, RawSize: 2, Encoding: S, Shadow stack: 3, @@ -89,7 +89,7 @@ BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Memory, Size: 2, RawSize: 2, Encoding: M, Segment: 3, Base: 3, - Operand: 1, Acc: -W, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 2, RawSize: 2, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 2, RawSize: 2, Encoding: S, Shadow stack: 3, @@ -109,7 +109,7 @@ BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Memory, Size: 2, RawSize: 2, Encoding: M, Segment: 3, Base: 3, - Operand: 1, Acc: -W, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 2, RawSize: 2, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 2, RawSize: 2, Encoding: S, Shadow stack: 3, @@ -129,7 +129,7 @@ BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Memory, Size: 4, RawSize: 4, Encoding: M, Segment: 3, Base: 3, - Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -258,7 +258,7 @@ BND: no, BHINT: no, DNT: no Operand: 0, Acc: R-, Type: Address, Size: 4, RawSize: 4, Encoding: D Operand: 1, Acc: RW, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: Segment, RegSize: 2, RegId: 1, RegCount: 1 - Operand: 2, Acc: -W, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 + Operand: 2, Acc: RW, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 4, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -278,7 +278,7 @@ BND: no, BHINT: no, DNT: no Operand: 0, Acc: R-, Type: Address, Size: 6, RawSize: 6, Encoding: D Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Segment, RegSize: 4, RegId: 1, RegCount: 1 - Operand: 2, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 2, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 4, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, @@ -314,7 +314,7 @@ BND: no, BHINT: no, DNT: no Operand: 0, Acc: R-, Type: Address, Size: 6, RawSize: 6, Encoding: D Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Segment, RegSize: 4, RegId: 1, RegCount: 1 - Operand: 2, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 2, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 4, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, @@ -334,8 +334,8 @@ BND: no, BHINT: no, DNT: no Operand: 0, Acc: R-, Type: Memory, Size: 4, RawSize: 4, Encoding: M, Segment: 3, Base: 3, - Operand: 1, Acc: -W, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: Segment, RegSize: 2, RegId: 1, RegCount: 1 - Operand: 2, Acc: -W, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: Segment, RegSize: 2, RegId: 1, RegCount: 1 + Operand: 2, Acc: RW, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 4, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -355,8 +355,8 @@ BND: no, BHINT: no, DNT: no Operand: 0, Acc: R-, Type: Memory, Size: 4, RawSize: 4, Encoding: M, Segment: 3, Base: 3, - Operand: 1, Acc: -W, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: Segment, RegSize: 2, RegId: 1, RegCount: 1 - Operand: 2, Acc: -W, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: Segment, RegSize: 2, RegId: 1, RegCount: 1 + Operand: 2, Acc: RW, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 4, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -376,8 +376,8 @@ BND: no, BHINT: no, DNT: no Operand: 0, Acc: R-, Type: Memory, Size: 6, RawSize: 6, Encoding: M, Segment: 3, Base: 3, - Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Segment, RegSize: 4, RegId: 1, RegCount: 1 - Operand: 2, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Segment, RegSize: 4, RegId: 1, RegCount: 1 + Operand: 2, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 4, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, @@ -397,8 +397,8 @@ BND: no, BHINT: no, DNT: no Operand: 0, Acc: R-, Type: Memory, Size: 6, RawSize: 6, Encoding: M, Segment: 3, Base: 3, - Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Segment, RegSize: 4, RegId: 1, RegCount: 1 - Operand: 2, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Segment, RegSize: 4, RegId: 1, RegCount: 1 + Operand: 2, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 4, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, diff --git a/bddisasm_test/x86/basic/branch_32.result b/bddisasm_test/x86/basic/branch_32.result index a9b68d0..c084456 100644 --- a/bddisasm_test/x86/basic/branch_32.result +++ b/bddisasm_test/x86/basic/branch_32.result @@ -30,7 +30,7 @@ HLE: no, XACQUIRE only: no, XRELEASE only: no BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Register, Size: 2, RawSize: 2, Encoding: M, RegType: General Purpose, RegSize: 2, RegId: 0, RegCount: 1 - Operand: 1, Acc: -W, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 2, RawSize: 2, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 2, RawSize: 2, Encoding: S, Shadow stack: 3, @@ -49,7 +49,7 @@ HLE: no, XACQUIRE only: no, XRELEASE only: no BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Register, Size: 4, RawSize: 4, Encoding: M, RegType: General Purpose, RegSize: 4, RegId: 0, RegCount: 1 - Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -69,7 +69,7 @@ BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Memory, Size: 4, RawSize: 4, Encoding: M, Segment: 3, Base: 3, - Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -89,7 +89,7 @@ BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Memory, Size: 4, RawSize: 4, Encoding: M, Segment: 3, Base: 3, - Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -109,7 +109,7 @@ BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Memory, Size: 2, RawSize: 2, Encoding: M, Segment: 3, Base: 3, - Operand: 1, Acc: -W, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 2, RawSize: 2, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 2, RawSize: 2, Encoding: S, Shadow stack: 3, @@ -129,7 +129,7 @@ BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Memory, Size: 4, RawSize: 4, Encoding: M, Segment: 3, Base: 3, - Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -258,7 +258,7 @@ BND: no, BHINT: no, DNT: no Operand: 0, Acc: R-, Type: Address, Size: 4, RawSize: 4, Encoding: D Operand: 1, Acc: RW, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: Segment, RegSize: 2, RegId: 1, RegCount: 1 - Operand: 2, Acc: -W, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 + Operand: 2, Acc: RW, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 4, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -278,7 +278,7 @@ BND: no, BHINT: no, DNT: no Operand: 0, Acc: R-, Type: Address, Size: 6, RawSize: 6, Encoding: D Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Segment, RegSize: 4, RegId: 1, RegCount: 1 - Operand: 2, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 2, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 4, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, @@ -314,7 +314,7 @@ BND: no, BHINT: no, DNT: no Operand: 0, Acc: R-, Type: Address, Size: 6, RawSize: 6, Encoding: D Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Segment, RegSize: 4, RegId: 1, RegCount: 1 - Operand: 2, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 2, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 4, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, @@ -334,8 +334,8 @@ BND: no, BHINT: no, DNT: no Operand: 0, Acc: R-, Type: Memory, Size: 4, RawSize: 4, Encoding: M, Segment: 3, Base: 3, - Operand: 1, Acc: -W, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: Segment, RegSize: 2, RegId: 1, RegCount: 1 - Operand: 2, Acc: -W, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: Segment, RegSize: 2, RegId: 1, RegCount: 1 + Operand: 2, Acc: RW, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 4, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -355,8 +355,8 @@ BND: no, BHINT: no, DNT: no Operand: 0, Acc: R-, Type: Memory, Size: 4, RawSize: 4, Encoding: M, Segment: 3, Base: 3, - Operand: 1, Acc: -W, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: Segment, RegSize: 2, RegId: 1, RegCount: 1 - Operand: 2, Acc: -W, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: Segment, RegSize: 2, RegId: 1, RegCount: 1 + Operand: 2, Acc: RW, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 4, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -376,8 +376,8 @@ BND: no, BHINT: no, DNT: no Operand: 0, Acc: R-, Type: Memory, Size: 6, RawSize: 6, Encoding: M, Segment: 3, Base: 3, - Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Segment, RegSize: 4, RegId: 1, RegCount: 1 - Operand: 2, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Segment, RegSize: 4, RegId: 1, RegCount: 1 + Operand: 2, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 4, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, @@ -397,8 +397,8 @@ BND: no, BHINT: no, DNT: no Operand: 0, Acc: R-, Type: Memory, Size: 6, RawSize: 6, Encoding: M, Segment: 3, Base: 3, - Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Segment, RegSize: 4, RegId: 1, RegCount: 1 - Operand: 2, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Segment, RegSize: 4, RegId: 1, RegCount: 1 + Operand: 2, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 4, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, diff --git a/bddisasm_test/x86/basic/branch_64.result b/bddisasm_test/x86/basic/branch_64.result index d7ef879..a8be11f 100644 --- a/bddisasm_test/x86/basic/branch_64.result +++ b/bddisasm_test/x86/basic/branch_64.result @@ -30,7 +30,7 @@ HLE: no, XACQUIRE only: no, XRELEASE only: no BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Register, Size: 8, RawSize: 8, Encoding: M, RegType: General Purpose, RegSize: 8, RegId: 0, RegCount: 1 - Operand: 1, Acc: -W, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, @@ -50,7 +50,7 @@ BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Memory, Size: 8, RawSize: 8, Encoding: M, Segment: 3, Base: 3, - Operand: 1, Acc: -W, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, @@ -70,7 +70,7 @@ BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Memory, Size: 8, RawSize: 8, Encoding: M, Segment: 3, Base: 3, - Operand: 1, Acc: -W, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, @@ -152,8 +152,8 @@ BND: no, BHINT: no, DNT: no Operand: 0, Acc: R-, Type: Memory, Size: 4, RawSize: 4, Encoding: M, Segment: 3, Base: 3, - Operand: 1, Acc: -W, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: Segment, RegSize: 2, RegId: 1, RegCount: 1 - Operand: 2, Acc: -W, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: Segment, RegSize: 2, RegId: 1, RegCount: 1 + Operand: 2, Acc: RW, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: IP, RegSize: 2, RegId: 0, RegCount: 1 Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 4, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -173,8 +173,8 @@ BND: no, BHINT: no, DNT: no Operand: 0, Acc: R-, Type: Memory, Size: 6, RawSize: 6, Encoding: M, Segment: 3, Base: 3, - Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Segment, RegSize: 4, RegId: 1, RegCount: 1 - Operand: 2, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Segment, RegSize: 4, RegId: 1, RegCount: 1 + Operand: 2, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 4, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, @@ -194,8 +194,8 @@ BND: no, BHINT: no, DNT: no Operand: 0, Acc: R-, Type: Memory, Size: 10, RawSize: 10, Encoding: M, Segment: 3, Base: 3, - Operand: 1, Acc: -W, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: Segment, RegSize: 8, RegId: 1, RegCount: 1 - Operand: 2, Acc: -W, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: Segment, RegSize: 8, RegId: 1, RegCount: 1 + Operand: 2, Acc: RW, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 Operand: 3, Acc: -W, Type: Memory, Size: 16, RawSize: 16, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 4, Acc: -W, Type: Memory, Size: 16, RawSize: 16, Encoding: S, Shadow stack: 3, diff --git a/bddisasm_test/x86/cet/dnt_32.result b/bddisasm_test/x86/cet/dnt_32.result index 94b2636..f67ad40 100644 --- a/bddisasm_test/x86/cet/dnt_32.result +++ b/bddisasm_test/x86/cet/dnt_32.result @@ -12,7 +12,7 @@ BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Memory, Size: 4, RawSize: 4, Encoding: M, Segment: 3, Base: 0, - Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -31,7 +31,7 @@ HLE: no, XACQUIRE only: no, XRELEASE only: no BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Register, Size: 4, RawSize: 4, Encoding: M, RegType: General Purpose, RegSize: 4, RegId: 0, RegCount: 1 - Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -51,7 +51,7 @@ BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Memory, Size: 4, RawSize: 4, Encoding: M, Segment: 4, Base: 0, - Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -70,7 +70,7 @@ HLE: no, XACQUIRE only: no, XRELEASE only: no BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Register, Size: 4, RawSize: 4, Encoding: M, RegType: General Purpose, RegSize: 4, RegId: 0, RegCount: 1 - Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -90,7 +90,7 @@ BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Memory, Size: 4, RawSize: 4, Encoding: M, Segment: 3, Base: 0, - Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -109,7 +109,7 @@ HLE: no, XACQUIRE only: no, XRELEASE only: no BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Register, Size: 4, RawSize: 4, Encoding: M, RegType: General Purpose, RegSize: 4, RegId: 0, RegCount: 1 - Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -129,7 +129,7 @@ BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Memory, Size: 4, RawSize: 4, Encoding: M, Segment: 1, Base: 0, - Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -148,7 +148,7 @@ HLE: no, XACQUIRE only: no, XRELEASE only: no BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Register, Size: 4, RawSize: 4, Encoding: M, RegType: General Purpose, RegSize: 4, RegId: 0, RegCount: 1 - Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -168,7 +168,7 @@ BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Memory, Size: 4, RawSize: 4, Encoding: M, Segment: 3, Base: 0, - Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -187,7 +187,7 @@ HLE: no, XACQUIRE only: no, XRELEASE only: no BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Register, Size: 4, RawSize: 4, Encoding: M, RegType: General Purpose, RegSize: 4, RegId: 0, RegCount: 1 - Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -207,7 +207,7 @@ BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Memory, Size: 4, RawSize: 4, Encoding: M, Segment: 4, Base: 0, - Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -226,7 +226,7 @@ HLE: no, XACQUIRE only: no, XRELEASE only: no BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Register, Size: 4, RawSize: 4, Encoding: M, RegType: General Purpose, RegSize: 4, RegId: 0, RegCount: 1 - Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -246,7 +246,7 @@ BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Memory, Size: 4, RawSize: 4, Encoding: M, Segment: 3, Base: 0, - Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, @@ -265,7 +265,7 @@ HLE: no, XACQUIRE only: no, XRELEASE only: no BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Register, Size: 4, RawSize: 4, Encoding: M, RegType: General Purpose, RegSize: 4, RegId: 0, RegCount: 1 - Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 4, RawSize: 4, Encoding: S, Shadow stack: 3, diff --git a/bddisasm_test/x86/cet/dnt_64.result b/bddisasm_test/x86/cet/dnt_64.result index 29cb513..a1064d7 100644 --- a/bddisasm_test/x86/cet/dnt_64.result +++ b/bddisasm_test/x86/cet/dnt_64.result @@ -12,7 +12,7 @@ BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Memory, Size: 8, RawSize: 8, Encoding: M, Segment: 3, Base: 0, - Operand: 1, Acc: -W, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, @@ -31,7 +31,7 @@ HLE: no, XACQUIRE only: no, XRELEASE only: no BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Register, Size: 8, RawSize: 8, Encoding: M, RegType: General Purpose, RegSize: 8, RegId: 0, RegCount: 1 - Operand: 1, Acc: -W, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, @@ -51,7 +51,7 @@ BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Memory, Size: 8, RawSize: 8, Encoding: M, Segment: 4, Base: 0, - Operand: 1, Acc: -W, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, @@ -70,7 +70,7 @@ HLE: no, XACQUIRE only: no, XRELEASE only: no BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Register, Size: 8, RawSize: 8, Encoding: M, RegType: General Purpose, RegSize: 8, RegId: 0, RegCount: 1 - Operand: 1, Acc: -W, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, @@ -90,7 +90,7 @@ BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Memory, Size: 8, RawSize: 8, Encoding: M, Segment: 3, Base: 0, - Operand: 1, Acc: -W, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, @@ -109,7 +109,7 @@ HLE: no, XACQUIRE only: no, XRELEASE only: no BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Register, Size: 8, RawSize: 8, Encoding: M, RegType: General Purpose, RegSize: 8, RegId: 0, RegCount: 1 - Operand: 1, Acc: -W, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, @@ -129,7 +129,7 @@ BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Memory, Size: 8, RawSize: 8, Encoding: M, Segment: 3, Base: 0, - Operand: 1, Acc: -W, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, @@ -148,7 +148,7 @@ HLE: no, XACQUIRE only: no, XRELEASE only: no BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Register, Size: 8, RawSize: 8, Encoding: M, RegType: General Purpose, RegSize: 8, RegId: 0, RegCount: 1 - Operand: 1, Acc: -W, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, @@ -168,7 +168,7 @@ BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Memory, Size: 8, RawSize: 8, Encoding: M, Segment: 3, Base: 0, - Operand: 1, Acc: -W, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, @@ -187,7 +187,7 @@ HLE: no, XACQUIRE only: no, XRELEASE only: no BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Register, Size: 8, RawSize: 8, Encoding: M, RegType: General Purpose, RegSize: 8, RegId: 0, RegCount: 1 - Operand: 1, Acc: -W, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, @@ -207,7 +207,7 @@ BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Memory, Size: 8, RawSize: 8, Encoding: M, Segment: 4, Base: 0, - Operand: 1, Acc: -W, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, @@ -226,7 +226,7 @@ HLE: no, XACQUIRE only: no, XRELEASE only: no BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Register, Size: 8, RawSize: 8, Encoding: M, RegType: General Purpose, RegSize: 8, RegId: 0, RegCount: 1 - Operand: 1, Acc: -W, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, @@ -246,7 +246,7 @@ BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Memory, Size: 8, RawSize: 8, Encoding: M, Segment: 4, Base: 0, - Operand: 1, Acc: -W, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, @@ -265,7 +265,7 @@ HLE: no, XACQUIRE only: no, XRELEASE only: no BND: yes, BHINT: no, DNT: yes Operand: 0, Acc: R-, Type: Register, Size: 8, RawSize: 8, Encoding: M, RegType: General Purpose, RegSize: 8, RegId: 0, RegCount: 1 - Operand: 1, Acc: -W, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 + Operand: 1, Acc: RW, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1 Operand: 2, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, diff --git a/bddisasm_test/x86/special/only_32.result b/bddisasm_test/x86/special/only_32.result index 70328dd..8d2151b 100644 --- a/bddisasm_test/x86/special/only_32.result +++ b/bddisasm_test/x86/special/only_32.result @@ -300,7 +300,7 @@ BND: no, BHINT: no, DNT: no Operand: 0, Acc: R-, Type: Address, Size: 6, RawSize: 6, Encoding: D Operand: 1, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Segment, RegSize: 4, RegId: 1, RegCount: 1 - Operand: 2, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 + Operand: 2, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1 Operand: 3, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Stack: yes, Segment: 2, Base: 4, Operand: 4, Acc: -W, Type: Memory, Size: 8, RawSize: 8, Encoding: S, Shadow stack: 3, diff --git a/inc/bddisasm_version.h b/inc/bddisasm_version.h index 9f586a1..b3832b2 100644 --- a/inc/bddisasm_version.h +++ b/inc/bddisasm_version.h @@ -7,7 +7,7 @@ #define DISASM_VERSION_MAJOR 2 #define DISASM_VERSION_MINOR 1 -#define DISASM_VERSION_REVISION 0 +#define DISASM_VERSION_REVISION 1 #define SHEMU_VERSION_MAJOR DISASM_VERSION_MAJOR #define SHEMU_VERSION_MINOR DISASM_VERSION_MINOR diff --git a/isagenerator/instructions/table_legacy_0.dat b/isagenerator/instructions/table_legacy_0.dat index bea4117..6947551 100644 --- a/isagenerator/instructions/table_legacy_0.dat +++ b/isagenerator/instructions/table_legacy_0.dat @@ -234,7 +234,7 @@ CDQE ; ; RAX,EAX ; ds64 0x98 ; s:I CWD ; ; DX,AX ; ds16 0x99 ; s:I386, t:CONVERT, w:W|R CDQ ; ; EDX,EAX ; ds32 0x99 ; s:I386, t:CONVERT, w:W|R CQO ; ; RDX,RAX ; ds64 0x99 ; s:I386, t:CONVERT, w:W|R -CALLF ; Ap ; CS,rIP,Kv2,SHS2 ; 0x9A cp ; s:I86, t:CALL, c:CALLFD, w:R|RW|W|W|W, m:NO64|NOSGX +CALLF ; Ap ; CS,rIP,Kv2,SHS2 ; 0x9A cp ; s:I86, t:CALL, c:CALLFD, w:R|RW|RW|W|W, m:NO64|NOSGX WAIT ; ; ; 0x9B ; s:X87, t:X87_ALU PUSHFW ; Fv ; Kv ; ds16 0x9C ; s:I86, t:PUSH, c:PUSHF, w:R|W, a:D64 PUSHFD ; Fv ; Kv ; ds32 0x9C ; s:I86, t:PUSH, c:PUSHF, w:R|W, a:D64 @@ -442,8 +442,8 @@ INC ; Eb ; Fv ; 0xFE /0 ; s:I DEC ; Eb ; Fv ; 0xFE /1 ; s:I86, t:ARITH, w:RW|W, f:INCDEC, p:HLE|LOCK INC ; Ev ; Fv ; 0xFF /0 ; s:I86, t:ARITH, w:RW|W, f:INCDEC, p:HLE|LOCK DEC ; Ev ; Fv ; 0xFF /1 ; s:I86, t:ARITH, w:RW|W, f:INCDEC, p:HLE|LOCK -CALL ; Ev ; rIP,Kv,SHS1 ; 0xFF /2 ; s:I86, t:CALL, c:CALLNI, w:R|W|W|W, a:F64|CETT, p:BND|DNT -CALLF ; Mp ; CS,rIP,Kv2,SHS2 ; 0xFF /3:mem ; s:I86, t:CALL, c:CALLFI, w:R|W|W|W|W, a:CETT, m:NOSGX +CALL ; Ev ; rIP,Kv,SHS1 ; 0xFF /2 ; s:I86, t:CALL, c:CALLNI, w:R|RW|W|W, a:F64|CETT, p:BND|DNT +CALLF ; Mp ; CS,rIP,Kv2,SHS2 ; 0xFF /3:mem ; s:I86, t:CALL, c:CALLFI, w:R|RW|RW|W|W, a:CETT, m:NOSGX JMP ; Ev ; rIP ; 0xFF /4 ; s:I86, t:UNCOND_BR, c:JMPNI, w:R|W, a:F64|CETT, p:BND|DNT JMPF ; Mp ; CS,rIP ; 0xFF /5:mem ; s:I86, t:UNCOND_BR, c:JMPFI, w:R|W|W, a:CETT, m:NOSGX PUSH ; Ev ; Kv ; 0xFF /6 ; s:I86, t:PUSH, w:R|W, a:D64