[PATCH] winedbg: Display movups in disassembly.

Daniel Lehman dlehman25 at gmail.com
Tue Jun 20 21:13:17 CDT 2017


in at&t:
0f 10  movups xmm2/m128, xmm1
0f 11  movups xmm1, xmm2/m128

to see an example of both, run 64-bit 'winedbg cmd' and disassemble RtlCreateActivationContext:

0f 10:
Wine-dbg>x /67b 0x7bc413af
0x000000007bc413af RtlCreateActivationContext+0x1bf:  0f 10 b5 28 ff ff ff 0f 10 bd 38 ff ff ff 44 0f
0x000000007bc413bf RtlCreateActivationContext+0x1cf:  10 85 48 ff ff ff 44 0f 10 8d 58 ff ff ff 44 0f
0x000000007bc413cf RtlCreateActivationContext+0x1df:  10 95 68 ff ff ff 44 0f 10 9d 78 ff ff ff 44 0f
0x000000007bc413df RtlCreateActivationContext+0x1ef:  10 65 88 44 0f 10 6d 98 44 0f 10 75 a8 44 0f 10
0x000000007bc413ef RtlCreateActivationContext+0x1ff:  7d b8 48

Wine-dbg>disass 0x7bc413af
0x000000007bc413af RtlCreateActivationContext+0x1bf in ntdll: movups 0xffffffffffffff28(%rbp),%xmm6
0x000000007bc413b6 RtlCreateActivationContext+0x1c6 in ntdll: movups 0xffffffffffffff38(%rbp),%xmm7
0x000000007bc413bd RtlCreateActivationContext+0x1cd in ntdll: movups 0xffffffffffffff48(%rbp),%xmm8
0x000000007bc413c5 RtlCreateActivationContext+0x1d5 in ntdll: movups 0xffffffffffffff58(%rbp),%xmm9
0x000000007bc413cd RtlCreateActivationContext+0x1dd in ntdll: movups 0xffffffffffffff68(%rbp),%xmm10
0x000000007bc413d5 RtlCreateActivationContext+0x1e5 in ntdll: movups 0xffffffffffffff78(%rbp),%xmm11
0x000000007bc413dd RtlCreateActivationContext+0x1ed in ntdll: movups 0xffffffffffffff88(%rbp),%xmm12
0x000000007bc413e2 RtlCreateActivationContext+0x1f2 in ntdll: movups 0xffffffffffffff98(%rbp),%xmm13
0x000000007bc413e7 RtlCreateActivationContext+0x1f7 in ntdll: movups 0xffffffffffffffa8(%rbp),%xmm14
0x000000007bc413ec RtlCreateActivationContext+0x1fc in ntdll: movups 0xffffffffffffffb8(%rbp),%xmm15

0f 11: RtlCreateActivationContext
Wine-dbg>x /75b 0x7bc41233
0x000000007bc41233 RtlCreateActivationContext+0x43:  0f 11 b5 28 ff ff ff 48 c7 44 24 70 00 00 00 00
0x000000007bc41243 RtlCreateActivationContext+0x53:  0f 11 bd 38 ff ff ff 44 0f 11 85 48 ff ff ff 44
0x000000007bc41253 RtlCreateActivationContext+0x63:  0f 11 8d 58 ff ff ff 44 0f 11 95 68 ff ff ff 44
0x000000007bc41263 RtlCreateActivationContext+0x73:  0f 11 9d 78 ff ff ff 44 0f 11 65 88 44 0f 11 6d
0x000000007bc41273 RtlCreateActivationContext+0x83:  98 44 0f 11 75 a8 44 0f 11 7d b8

Wine-dbg>disass 0x7bc41233
0x000000007bc41233 RtlCreateActivationContext+0x43 in ntdll: movups  %xmm6,0xffffffffffffff28(%rbp)
0x000000007bc4123a RtlCreateActivationContext+0x4a in ntdll: movq    $0,0x0000000000000070(%rsp)
0x000000007bc41243 RtlCreateActivationContext+0x53 in ntdll: movups  %xmm7,0xffffffffffffff38(%rbp)
0x000000007bc4124a RtlCreateActivationContext+0x5a in ntdll: movups  %xmm8,0xffffffffffffff48(%rbp)
0x000000007bc41252 RtlCreateActivationContext+0x62 in ntdll: movups  %xmm9,0xffffffffffffff58(%rbp)
0x000000007bc4125a RtlCreateActivationContext+0x6a in ntdll: movups  %xmm10,0xffffffffffffff68(%rbp)
0x000000007bc41262 RtlCreateActivationContext+0x72 in ntdll: movups  %xmm11,0xffffffffffffff78(%rbp)
0x000000007bc4126a RtlCreateActivationContext+0x7a in ntdll: movups  %xmm12,0xffffffffffffff88(%rbp)
0x000000007bc4126f RtlCreateActivationContext+0x7f in ntdll: movups  %xmm13,0xffffffffffffff98(%rbp)
0x000000007bc41274 RtlCreateActivationContext+0x84 in ntdll: movups  %xmm14,0xffffffffffffffa8(%rbp)

Signed-off-by: Daniel Lehman <dlehman25 at gmail.com>
---
 programs/winedbg/db_disasm64.c | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/programs/winedbg/db_disasm64.c b/programs/winedbg/db_disasm64.c
index 4957eeb..3db0b5e 100644
--- a/programs/winedbg/db_disasm64.c
+++ b/programs/winedbg/db_disasm64.c
@@ -270,6 +270,26 @@ static const struct inst db_inst_0f0x[] = {
 /*0f*/	{ "",      FALSE, NONE,  0,	      0 },
 };
 
+static const struct inst db_inst_0f1x[] = {
+/*10*/	{ "movups",TRUE,  NONE,  op2(E, XMM), 0 },
+/*11*/	{ "movups",TRUE,  NONE,  op2(XMM, E), 0 },
+/*12*/	{ "",      FALSE, NONE,  0,	      0 },
+/*13*/	{ "",      FALSE, NONE,  0,	      0 },
+/*14*/	{ "",      FALSE, NONE,  0,	      0 },
+/*15*/	{ "",      FALSE, NONE,  0,	      0 },
+/*16*/	{ "",      FALSE, NONE,  0,	      0 },
+/*17*/	{ "",      FALSE, NONE,  0,	      0 },
+
+/*18*/	{ "",      FALSE, NONE,  0,	      0 },
+/*19*/	{ "",      FALSE, NONE,  0,	      0 },
+/*1a*/	{ "",      FALSE, NONE,  0,	      0 },
+/*1b*/	{ "",      FALSE, NONE,  0,	      0 },
+/*1c*/	{ "",      FALSE, NONE,  0,	      0 },
+/*1d*/	{ "",      FALSE, NONE,  0,	      0 },
+/*1e*/	{ "",      FALSE, NONE,  0,	      0 },
+/*1f*/	{ "",      FALSE, NONE,  0,	      0 },
+};
+
 static const struct inst db_inst_0f2x[] = {
 /*20*/	{ "mov",   TRUE,  LONG,  op2(CR,El),  0 },
 /*21*/	{ "mov",   TRUE,  LONG,  op2(DR,El),  0 },
@@ -491,7 +511,7 @@ static const struct inst db_inst_0fcx[] = {
 
 static const struct inst * const db_inst_0f[] = {
 	db_inst_0f0x,
-	0,
+	db_inst_0f1x,
 	db_inst_0f2x,
 	db_inst_0f3x,
 	db_inst_0f4x,
-- 
2.7.4




More information about the wine-patches mailing list