Added some more disassembly instructions (notably rdtsc, which is used
by several programs) and more MMX.

diff --git a/debugger/db_disasm.c b/debugger/db_disasm.c
index 171a58a..2861ed0 100644
--- a/debugger/db_disasm.c
+++ b/debugger/db_disasm.c
@@ -243,11 +243,11 @@
 /*22*/	{ "mov",   TRUE,  LONG,  op2(E,CR),   0 },
 /*23*/	{ "mov",   TRUE,  LONG,  op2(E,DR),   0 },
 /*24*/	{ "mov",   TRUE,  LONG,  op2(TR,E),   0 },
-/*25*/	{ "",      FALSE, NONE,  0,	      0 },
+/*25*/	{ "(bad)", FALSE, NONE,  0,	      0 },
 /*26*/	{ "mov",   TRUE,  LONG,  op2(E,TR),   0 },
-/*27*/	{ "",      FALSE, NONE,  0,	      0 },
+/*27*/	{ "(bad)", FALSE, NONE,  0,	      0 },
 
-/*28*/	{ "",      FALSE, NONE,  0,	      0 },
+/*28*/	{ "",	   FALSE, NONE,  0,	      0 },
 /*29*/	{ "",      FALSE, NONE,  0,	      0 },
 /*2a*/	{ "",      FALSE, NONE,  0,	      0 },
 /*2b*/	{ "",      FALSE, NONE,  0,	      0 },
@@ -257,6 +257,26 @@
 /*2f*/	{ "",      FALSE, NONE,  0,	      0 },
 };
 
+static const struct inst db_inst_0f3x[] = {
+/*20*/	{ "wrmsr", FALSE, NONE,  0,   0 },
+/*21*/	{ "rdtsc", FALSE, NONE,  0,   0 },
+/*22*/	{ "rdmsr", FALSE, NONE,  0,   0 },
+/*23*/	{ "rdpmc", FALSE, NONE,  0,   0 },
+/*24*/	{ "sysenter",FALSE,NONE, 0,   0 },
+/*25*/	{ "sysexit",FALSE,NONE,  0,   0 },
+/*26*/	{ "(bad)", FALSE, NONE,  0,   0 },
+/*27*/	{ "(bad)", FALSE, NONE,  0,   0 },
+
+/*28*/	{ "(bad)",FALSE, NONE,  0,	      0 },
+/*29*/	{ "(bad)",FALSE, NONE,  0,	      0 },
+/*2a*/	{ "(bad)",FALSE, NONE,  0,	      0 },
+/*2b*/	{ "(bad)",FALSE, NONE,  0,	      0 },
+/*2c*/	{ "(bad)",FALSE, NONE,  0,	      0 },
+/*2d*/	{ "(bad)",FALSE, NONE,  0,	      0 },
+/*2e*/	{ "(bad)",FALSE, NONE,  0,	      0 },
+/*2f*/	{ "(bad)",FALSE, NONE,  0,	      0 },
+};
+
 static const struct inst db_inst_0f4x[] = {
 /*40*/	{ "cmovo", TRUE,  NONE,  op2(E, R), 0 }, 
 /*41*/	{ "cmovno", TRUE, NONE,  op2(E, R),	0 }, 
@@ -454,11 +474,30 @@
 /*ef*/	{ "pxor",   TRUE, NONE,	 op2(MX, EMX),   0 },
 };
 
+static const struct inst db_inst_0ffx[] = {
+/*f0*/	{ "(bad)",  FALSE,NONE,  0,   0 },
+/*f1*/	{ "psllw",  TRUE, NONE,	 op2(MX, EMX),   0 },
+/*f2*/	{ "pslld",  TRUE, NONE,	 op2(MX, EMX),   0 },
+/*f3*/	{ "psllq",  TRUE, NONE,	 op2(MX, EMX),   0 },
+/*f4*/	{ "(bad)",  FALSE,NONE,	 0,   0 },
+/*f5*/	{ "pmaddwd",TRUE, NONE,	 op2(MX, EMX),   0 },
+/*f6*/	{ "psadbw", TRUE, NONE,	 op2(MX, EMX),   0 },
+/*f7*/	{ "maskmovq",TRUE,NONE,	 op2(MX, EMX),   0 },
+/*f8*/	{ "psubb",  TRUE, NONE,	 op2(MX, EMX),   0 },
+/*f9*/	{ "psubw",  TRUE, NONE,	 op2(MX, EMX),   0 },
+/*fa*/	{ "psubd",  TRUE, NONE,	 op2(MX, EMX),   0 },
+/*fb*/	{ "(bad)",  FALSE,NONE,	 0,   0 },
+/*fc*/	{ "paddb",  TRUE, NONE,	 op2(MX, EMX),   0 },
+/*fd*/	{ "paddw",  TRUE, NONE,	 op2(MX, EMX),   0 },
+/*fe*/	{ "paddd",  TRUE, NONE,	 op2(MX, EMX),   0 },
+/*ff*/	{ "(bad)",  FALSE, NONE, 0,   0 },
+};
+
 static const struct inst * const db_inst_0f[] = {
 	db_inst_0f0x,
 	0,
 	db_inst_0f2x,
-	0,
+	db_inst_0f3x,
 	db_inst_0f4x,
 	0,
 	db_inst_0f6x,
@@ -470,7 +509,7 @@
 	db_inst_0fcx,
 	db_inst_0fdx,
 	db_inst_0fex,
-	0
+	db_inst_0ffx
 };
 
 static const char * const db_Esc92[] = {