git: 1027e838a8ee - main - ddb: Use bool for boolean variables in MD code

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Fri, 02 Feb 2024 23:09:03 UTC
The branch main has been updated by jhb:

URL: https://cgit.FreeBSD.org/src/commit/?id=1027e838a8eedf21682bbc29a636b83e87728b62

commit 1027e838a8eedf21682bbc29a636b83e87728b62
Author:     John Baldwin <jhb@FreeBSD.org>
AuthorDate: 2024-02-02 23:08:53 +0000
Commit:     John Baldwin <jhb@FreeBSD.org>
CommitDate: 2024-02-02 23:08:53 +0000

    ddb: Use bool for boolean variables in MD code
    
    Reviewed by:    markj
    Differential Revision:  https://reviews.freebsd.org/D43695
---
 sys/amd64/amd64/db_disasm.c    | 1184 ++++++++++++++++++++--------------------
 sys/amd64/amd64/db_trace.c     |   20 +-
 sys/i386/i386/db_disasm.c      | 1052 +++++++++++++++++------------------
 sys/powerpc/powerpc/db_trace.c |   10 +-
 4 files changed, 1133 insertions(+), 1133 deletions(-)

diff --git a/sys/amd64/amd64/db_disasm.c b/sys/amd64/amd64/db_disasm.c
index f42c88794360..bca12894efdf 100644
--- a/sys/amd64/amd64/db_disasm.c
+++ b/sys/amd64/amd64/db_disasm.c
@@ -105,7 +105,7 @@
 
 struct inst {
 	const char *	i_name;		/* name */
-	short	i_has_modrm;		/* has regmodrm byte */
+	bool	i_has_modrm;		/* has regmodrm byte */
 	short	i_size;			/* operand size */
 	int	i_mode;			/* addressing modes */
 	const void *	i_extra;	/* pointer to extra opcode table */
@@ -124,43 +124,43 @@ struct finst {
 };
 
 static const struct inst db_inst_0f388x[] = {
-/*80*/	{ "",	   TRUE,  SDEP,  op2(E, Rq),  "invept" },
-/*81*/	{ "",	   TRUE,  SDEP,  op2(E, Rq),  "invvpid" },
-/*82*/	{ "",	   TRUE,  SDEP,  op2(E, Rq),  "invpcid" },
-/*83*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*84*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*85*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*86*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*87*/	{ "",	   FALSE, NONE,  0,	      0 },
-
-/*88*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*89*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*8a*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*8b*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*8c*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*8d*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*8e*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*8f*/	{ "",	   FALSE, NONE,  0,	      0 },
+/*80*/	{ "",	   true,  SDEP,  op2(E, Rq),  "invept" },
+/*81*/	{ "",	   true,  SDEP,  op2(E, Rq),  "invvpid" },
+/*82*/	{ "",	   true,  SDEP,  op2(E, Rq),  "invpcid" },
+/*83*/	{ "",	   false, NONE,  0,	      0 },
+/*84*/	{ "",	   false, NONE,  0,	      0 },
+/*85*/	{ "",	   false, NONE,  0,	      0 },
+/*86*/	{ "",	   false, NONE,  0,	      0 },
+/*87*/	{ "",	   false, NONE,  0,	      0 },
+
+/*88*/	{ "",	   false, NONE,  0,	      0 },
+/*89*/	{ "",	   false, NONE,  0,	      0 },
+/*8a*/	{ "",	   false, NONE,  0,	      0 },
+/*8b*/	{ "",	   false, NONE,  0,	      0 },
+/*8c*/	{ "",	   false, NONE,  0,	      0 },
+/*8d*/	{ "",	   false, NONE,  0,	      0 },
+/*8e*/	{ "",	   false, NONE,  0,	      0 },
+/*8f*/	{ "",	   false, NONE,  0,	      0 },
 };
 
 static const struct inst db_inst_0f38fx[] = {
-/*f0*/	{ "crc32b",TRUE,  NONE,  op2(Eb, R),  0 },
-/*f1*/	{ "crc32", TRUE,  LONG,  op2(E, R),   0 },
-/*f2*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*f3*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*f4*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*f5*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*f6*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*f7*/	{ "",	   FALSE, NONE,  0,	      0 },
-
-/*f8*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*f9*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*fa*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*fb*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*fc*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*fd*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*fe*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*ff*/	{ "",	   FALSE, NONE,  0,	      0 },
+/*f0*/	{ "crc32b",true,  NONE,  op2(Eb, R),  0 },
+/*f1*/	{ "crc32", true,  LONG,  op2(E, R),   0 },
+/*f2*/	{ "",	   false, NONE,  0,	      0 },
+/*f3*/	{ "",	   false, NONE,  0,	      0 },
+/*f4*/	{ "",	   false, NONE,  0,	      0 },
+/*f5*/	{ "",	   false, NONE,  0,	      0 },
+/*f6*/	{ "",	   false, NONE,  0,	      0 },
+/*f7*/	{ "",	   false, NONE,  0,	      0 },
+
+/*f8*/	{ "",	   false, NONE,  0,	      0 },
+/*f9*/	{ "",	   false, NONE,  0,	      0 },
+/*fa*/	{ "",	   false, NONE,  0,	      0 },
+/*fb*/	{ "",	   false, NONE,  0,	      0 },
+/*fc*/	{ "",	   false, NONE,  0,	      0 },
+/*fd*/	{ "",	   false, NONE,  0,	      0 },
+/*fe*/	{ "",	   false, NONE,  0,	      0 },
+/*ff*/	{ "",	   false, NONE,  0,	      0 },
 };
 
 static const struct inst * const db_inst_0f38[] = {
@@ -249,222 +249,222 @@ static const char * const db_Grp15b[] = {
 };
 
 static const struct inst db_inst_0f0x[] = {
-/*00*/	{ "",	   TRUE,  NONE,  op1(Ew),     db_Grp6 },
-/*01*/	{ "",	   TRUE,  NONE,  op1(Ew),     db_Grp7 },
-/*02*/	{ "lar",   TRUE,  LONG,  op2(E,R),    0 },
-/*03*/	{ "lsl",   TRUE,  LONG,  op2(E,R),    0 },
-/*04*/	{ "",      FALSE, NONE,  0,	      0 },
-/*05*/	{ "syscall",FALSE,NONE,  0,	      0 },
-/*06*/	{ "clts",  FALSE, NONE,  0,	      0 },
-/*07*/	{ "sysret",FALSE, NONE,  0,	      0 },
-
-/*08*/	{ "invd",  FALSE, NONE,  0,	      0 },
-/*09*/	{ "wbinvd",FALSE, NONE,  0,	      0 },
-/*0a*/	{ "",      FALSE, NONE,  0,	      0 },
-/*0b*/	{ "",      FALSE, NONE,  0,	      0 },
-/*0c*/	{ "",      FALSE, NONE,  0,	      0 },
-/*0d*/	{ "",      FALSE, NONE,  0,	      0 },
-/*0e*/	{ "",      FALSE, NONE,  0,	      0 },
-/*0f*/	{ "",      FALSE, NONE,  0,	      0 },
+/*00*/	{ "",	   true,  NONE,  op1(Ew),     db_Grp6 },
+/*01*/	{ "",	   true,  NONE,  op1(Ew),     db_Grp7 },
+/*02*/	{ "lar",   true,  LONG,  op2(E,R),    0 },
+/*03*/	{ "lsl",   true,  LONG,  op2(E,R),    0 },
+/*04*/	{ "",      false, NONE,  0,	      0 },
+/*05*/	{ "syscall",false,NONE,  0,	      0 },
+/*06*/	{ "clts",  false, NONE,  0,	      0 },
+/*07*/	{ "sysret",false, NONE,  0,	      0 },
+
+/*08*/	{ "invd",  false, NONE,  0,	      0 },
+/*09*/	{ "wbinvd",false, NONE,  0,	      0 },
+/*0a*/	{ "",      false, NONE,  0,	      0 },
+/*0b*/	{ "",      false, NONE,  0,	      0 },
+/*0c*/	{ "",      false, NONE,  0,	      0 },
+/*0d*/	{ "",      false, NONE,  0,	      0 },
+/*0e*/	{ "",      false, NONE,  0,	      0 },
+/*0f*/	{ "",      false, NONE,  0,	      0 },
 };
 
 static const struct inst db_inst_0f1x[] = {
-/*10*/	{ "",      FALSE, NONE,  0,	      0 },
-/*11*/	{ "",      FALSE, NONE,  0,	      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*/	{ "nopl",  TRUE,  SDEP,  0,	      "nopw" },
+/*10*/	{ "",      false, NONE,  0,	      0 },
+/*11*/	{ "",      false, NONE,  0,	      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*/	{ "nopl",  true,  SDEP,  0,	      "nopw" },
 };
 
 static const struct inst db_inst_0f2x[] = {
-/*20*/	{ "mov",   TRUE,  LONG,  op2(CR,El),  0 },
-/*21*/	{ "mov",   TRUE,  LONG,  op2(DR,El),  0 },
-/*22*/	{ "mov",   TRUE,  LONG,  op2(El,CR),  0 },
-/*23*/	{ "mov",   TRUE,  LONG,  op2(El,DR),  0 },
-/*24*/	{ "mov",   TRUE,  LONG,  op2(TR,El),  0 },
-/*25*/	{ "",      FALSE, NONE,  0,	      0 },
-/*26*/	{ "mov",   TRUE,  LONG,  op2(El,TR),  0 },
-/*27*/	{ "",      FALSE, NONE,  0,	      0 },
-
-/*28*/	{ "",      FALSE, NONE,  0,	      0 },
-/*29*/	{ "",      FALSE, NONE,  0,	      0 },
-/*2a*/	{ "",      FALSE, NONE,  0,	      0 },
-/*2b*/	{ "",      FALSE, NONE,  0,	      0 },
-/*2c*/	{ "",      FALSE, NONE,  0,	      0 },
-/*2d*/	{ "",      FALSE, NONE,  0,	      0 },
-/*2e*/	{ "",      FALSE, NONE,  0,	      0 },
-/*2f*/	{ "",      FALSE, NONE,  0,	      0 },
+/*20*/	{ "mov",   true,  LONG,  op2(CR,El),  0 },
+/*21*/	{ "mov",   true,  LONG,  op2(DR,El),  0 },
+/*22*/	{ "mov",   true,  LONG,  op2(El,CR),  0 },
+/*23*/	{ "mov",   true,  LONG,  op2(El,DR),  0 },
+/*24*/	{ "mov",   true,  LONG,  op2(TR,El),  0 },
+/*25*/	{ "",      false, NONE,  0,	      0 },
+/*26*/	{ "mov",   true,  LONG,  op2(El,TR),  0 },
+/*27*/	{ "",      false, NONE,  0,	      0 },
+
+/*28*/	{ "",      false, NONE,  0,	      0 },
+/*29*/	{ "",      false, NONE,  0,	      0 },
+/*2a*/	{ "",      false, NONE,  0,	      0 },
+/*2b*/	{ "",      false, NONE,  0,	      0 },
+/*2c*/	{ "",      false, NONE,  0,	      0 },
+/*2d*/	{ "",      false, NONE,  0,	      0 },
+/*2e*/	{ "",      false, NONE,  0,	      0 },
+/*2f*/	{ "",      false, NONE,  0,	      0 },
 };
 
 static const struct inst db_inst_0f3x[] = {
-/*30*/	{ "wrmsr", FALSE, NONE,  0,	      0 },
-/*31*/	{ "rdtsc", FALSE, NONE,  0,	      0 },
-/*32*/	{ "rdmsr", FALSE, NONE,  0,	      0 },
-/*33*/	{ "rdpmc", FALSE, NONE,  0,	      0 },
-/*34*/	{ "sysenter",FALSE,NONE,  0,	      0 },
-/*35*/	{ "sysexit",FALSE,NONE,  0,	      0 },
-/*36*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*37*/	{ "getsec",FALSE, NONE,  0,	      0 },
-
-/*38*/	{ "",	   FALSE, ESC,  0,	      db_inst_0f38 },
-/*39*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*3a*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*3b*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*3c*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*3d*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*3e*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*3f*/	{ "",	   FALSE, NONE,  0,	      0 },
+/*30*/	{ "wrmsr", false, NONE,  0,	      0 },
+/*31*/	{ "rdtsc", false, NONE,  0,	      0 },
+/*32*/	{ "rdmsr", false, NONE,  0,	      0 },
+/*33*/	{ "rdpmc", false, NONE,  0,	      0 },
+/*34*/	{ "sysenter",false,NONE,  0,	      0 },
+/*35*/	{ "sysexit",false,NONE,  0,	      0 },
+/*36*/	{ "",	   false, NONE,  0,	      0 },
+/*37*/	{ "getsec",false, NONE,  0,	      0 },
+
+/*38*/	{ "",	   false, ESC,  0,	      db_inst_0f38 },
+/*39*/	{ "",	   false, NONE,  0,	      0 },
+/*3a*/	{ "",	   false, NONE,  0,	      0 },
+/*3b*/	{ "",	   false, NONE,  0,	      0 },
+/*3c*/	{ "",	   false, NONE,  0,	      0 },
+/*3d*/	{ "",	   false, NONE,  0,	      0 },
+/*3e*/	{ "",	   false, NONE,  0,	      0 },
+/*3f*/	{ "",	   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 },
-/*42*/	{ "cmovb",  TRUE, NONE,  op2(E, R),   0 },
-/*43*/	{ "cmovnb", TRUE, NONE,  op2(E, R),   0 },
-/*44*/	{ "cmovz",  TRUE, NONE,  op2(E, R),   0 },
-/*45*/	{ "cmovnz", TRUE, NONE,  op2(E, R),   0 },
-/*46*/	{ "cmovbe", TRUE, NONE,  op2(E, R),   0 },
-/*47*/	{ "cmovnbe",TRUE, NONE,  op2(E, R),   0 },
-
-/*48*/	{ "cmovs",  TRUE, NONE,  op2(E, R),   0 },
-/*49*/	{ "cmovns", TRUE, NONE,  op2(E, R),   0 },
-/*4a*/	{ "cmovp",  TRUE, NONE,  op2(E, R),   0 },
-/*4b*/	{ "cmovnp", TRUE, NONE,  op2(E, R),   0 },
-/*4c*/	{ "cmovl",  TRUE, NONE,  op2(E, R),   0 },
-/*4d*/	{ "cmovnl", TRUE, NONE,  op2(E, R),   0 },
-/*4e*/	{ "cmovle", TRUE, NONE,  op2(E, R),   0 },
-/*4f*/	{ "cmovnle",TRUE, NONE,  op2(E, R),   0 },
+/*40*/	{ "cmovo",  true, NONE,  op2(E, R),   0 },
+/*41*/	{ "cmovno", true, NONE,  op2(E, R),   0 },
+/*42*/	{ "cmovb",  true, NONE,  op2(E, R),   0 },
+/*43*/	{ "cmovnb", true, NONE,  op2(E, R),   0 },
+/*44*/	{ "cmovz",  true, NONE,  op2(E, R),   0 },
+/*45*/	{ "cmovnz", true, NONE,  op2(E, R),   0 },
+/*46*/	{ "cmovbe", true, NONE,  op2(E, R),   0 },
+/*47*/	{ "cmovnbe",true, NONE,  op2(E, R),   0 },
+
+/*48*/	{ "cmovs",  true, NONE,  op2(E, R),   0 },
+/*49*/	{ "cmovns", true, NONE,  op2(E, R),   0 },
+/*4a*/	{ "cmovp",  true, NONE,  op2(E, R),   0 },
+/*4b*/	{ "cmovnp", true, NONE,  op2(E, R),   0 },
+/*4c*/	{ "cmovl",  true, NONE,  op2(E, R),   0 },
+/*4d*/	{ "cmovnl", true, NONE,  op2(E, R),   0 },
+/*4e*/	{ "cmovle", true, NONE,  op2(E, R),   0 },
+/*4f*/	{ "cmovnle",true, NONE,  op2(E, R),   0 },
 };
 
 static const struct inst db_inst_0f7x[] = {
-/*70*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*71*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*72*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*73*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*74*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*75*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*76*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*77*/	{ "",	   FALSE, NONE,  0,	      0 },
-
-/*78*/	{ "vmread", TRUE, NONE,  op2(Rq, E),  0 },
-/*79*/	{ "vmwrite",TRUE, NONE,  op2(E, Rq),  0 },
-/*7a*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*7b*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*7c*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*7d*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*7e*/	{ "",	   FALSE, NONE,  0,	      0 },
-/*7f*/	{ "",	   FALSE, NONE,  0,	      0 },
+/*70*/	{ "",	   false, NONE,  0,	      0 },
+/*71*/	{ "",	   false, NONE,  0,	      0 },
+/*72*/	{ "",	   false, NONE,  0,	      0 },
+/*73*/	{ "",	   false, NONE,  0,	      0 },
+/*74*/	{ "",	   false, NONE,  0,	      0 },
+/*75*/	{ "",	   false, NONE,  0,	      0 },
+/*76*/	{ "",	   false, NONE,  0,	      0 },
+/*77*/	{ "",	   false, NONE,  0,	      0 },
+
+/*78*/	{ "vmread", true, NONE,  op2(Rq, E),  0 },
+/*79*/	{ "vmwrite",true, NONE,  op2(E, Rq),  0 },
+/*7a*/	{ "",	   false, NONE,  0,	      0 },
+/*7b*/	{ "",	   false, NONE,  0,	      0 },
+/*7c*/	{ "",	   false, NONE,  0,	      0 },
+/*7d*/	{ "",	   false, NONE,  0,	      0 },
+/*7e*/	{ "",	   false, NONE,  0,	      0 },
+/*7f*/	{ "",	   false, NONE,  0,	      0 },
 };
 
 static const struct inst db_inst_0f8x[] = {
-/*80*/	{ "jo",    FALSE, NONE,  op1(Dl),     0 },
-/*81*/	{ "jno",   FALSE, NONE,  op1(Dl),     0 },
-/*82*/	{ "jb",    FALSE, NONE,  op1(Dl),     0 },
-/*83*/	{ "jnb",   FALSE, NONE,  op1(Dl),     0 },
-/*84*/	{ "jz",    FALSE, NONE,  op1(Dl),     0 },
-/*85*/	{ "jnz",   FALSE, NONE,  op1(Dl),     0 },
-/*86*/	{ "jbe",   FALSE, NONE,  op1(Dl),     0 },
-/*87*/	{ "jnbe",  FALSE, NONE,  op1(Dl),     0 },
-
-/*88*/	{ "js",    FALSE, NONE,  op1(Dl),     0 },
-/*89*/	{ "jns",   FALSE, NONE,  op1(Dl),     0 },
-/*8a*/	{ "jp",    FALSE, NONE,  op1(Dl),     0 },
-/*8b*/	{ "jnp",   FALSE, NONE,  op1(Dl),     0 },
-/*8c*/	{ "jl",    FALSE, NONE,  op1(Dl),     0 },
-/*8d*/	{ "jnl",   FALSE, NONE,  op1(Dl),     0 },
-/*8e*/	{ "jle",   FALSE, NONE,  op1(Dl),     0 },
-/*8f*/	{ "jnle",  FALSE, NONE,  op1(Dl),     0 },
+/*80*/	{ "jo",    false, NONE,  op1(Dl),     0 },
+/*81*/	{ "jno",   false, NONE,  op1(Dl),     0 },
+/*82*/	{ "jb",    false, NONE,  op1(Dl),     0 },
+/*83*/	{ "jnb",   false, NONE,  op1(Dl),     0 },
+/*84*/	{ "jz",    false, NONE,  op1(Dl),     0 },
+/*85*/	{ "jnz",   false, NONE,  op1(Dl),     0 },
+/*86*/	{ "jbe",   false, NONE,  op1(Dl),     0 },
+/*87*/	{ "jnbe",  false, NONE,  op1(Dl),     0 },
+
+/*88*/	{ "js",    false, NONE,  op1(Dl),     0 },
+/*89*/	{ "jns",   false, NONE,  op1(Dl),     0 },
+/*8a*/	{ "jp",    false, NONE,  op1(Dl),     0 },
+/*8b*/	{ "jnp",   false, NONE,  op1(Dl),     0 },
+/*8c*/	{ "jl",    false, NONE,  op1(Dl),     0 },
+/*8d*/	{ "jnl",   false, NONE,  op1(Dl),     0 },
+/*8e*/	{ "jle",   false, NONE,  op1(Dl),     0 },
+/*8f*/	{ "jnle",  false, NONE,  op1(Dl),     0 },
 };
 
 static const struct inst db_inst_0f9x[] = {
-/*90*/	{ "seto",  TRUE,  NONE,  op1(Eb),     0 },
-/*91*/	{ "setno", TRUE,  NONE,  op1(Eb),     0 },
-/*92*/	{ "setb",  TRUE,  NONE,  op1(Eb),     0 },
-/*93*/	{ "setnb", TRUE,  NONE,  op1(Eb),     0 },
-/*94*/	{ "setz",  TRUE,  NONE,  op1(Eb),     0 },
-/*95*/	{ "setnz", TRUE,  NONE,  op1(Eb),     0 },
-/*96*/	{ "setbe", TRUE,  NONE,  op1(Eb),     0 },
-/*97*/	{ "setnbe",TRUE,  NONE,  op1(Eb),     0 },
-
-/*98*/	{ "sets",  TRUE,  NONE,  op1(Eb),     0 },
-/*99*/	{ "setns", TRUE,  NONE,  op1(Eb),     0 },
-/*9a*/	{ "setp",  TRUE,  NONE,  op1(Eb),     0 },
-/*9b*/	{ "setnp", TRUE,  NONE,  op1(Eb),     0 },
-/*9c*/	{ "setl",  TRUE,  NONE,  op1(Eb),     0 },
-/*9d*/	{ "setnl", TRUE,  NONE,  op1(Eb),     0 },
-/*9e*/	{ "setle", TRUE,  NONE,  op1(Eb),     0 },
-/*9f*/	{ "setnle",TRUE,  NONE,  op1(Eb),     0 },
+/*90*/	{ "seto",  true,  NONE,  op1(Eb),     0 },
+/*91*/	{ "setno", true,  NONE,  op1(Eb),     0 },
+/*92*/	{ "setb",  true,  NONE,  op1(Eb),     0 },
+/*93*/	{ "setnb", true,  NONE,  op1(Eb),     0 },
+/*94*/	{ "setz",  true,  NONE,  op1(Eb),     0 },
+/*95*/	{ "setnz", true,  NONE,  op1(Eb),     0 },
+/*96*/	{ "setbe", true,  NONE,  op1(Eb),     0 },
+/*97*/	{ "setnbe",true,  NONE,  op1(Eb),     0 },
+
+/*98*/	{ "sets",  true,  NONE,  op1(Eb),     0 },
+/*99*/	{ "setns", true,  NONE,  op1(Eb),     0 },
+/*9a*/	{ "setp",  true,  NONE,  op1(Eb),     0 },
+/*9b*/	{ "setnp", true,  NONE,  op1(Eb),     0 },
+/*9c*/	{ "setl",  true,  NONE,  op1(Eb),     0 },
+/*9d*/	{ "setnl", true,  NONE,  op1(Eb),     0 },
+/*9e*/	{ "setle", true,  NONE,  op1(Eb),     0 },
+/*9f*/	{ "setnle",true,  NONE,  op1(Eb),     0 },
 };
 
 static const struct inst db_inst_0fax[] = {
-/*a0*/	{ "push",  FALSE, NONE,  op1(Si),     0 },
-/*a1*/	{ "pop",   FALSE, NONE,  op1(Si),     0 },
-/*a2*/	{ "cpuid", FALSE, NONE,  0,	      0 },
-/*a3*/	{ "bt",    TRUE,  LONG,  op2(R,E),    0 },
-/*a4*/	{ "shld",  TRUE,  LONG,  op3(Ib,R,E), 0 },
-/*a5*/	{ "shld",  TRUE,  LONG,  op3(CL,R,E), 0 },
-/*a6*/	{ "",      FALSE, NONE,  0,	      0 },
-/*a7*/	{ "",      FALSE, NONE,  0,	      0 },
-
-/*a8*/	{ "push",  FALSE, NONE,  op1(Si),     0 },
-/*a9*/	{ "pop",   FALSE, NONE,  op1(Si),     0 },
-/*aa*/	{ "rsm",   FALSE, NONE,  0,	      0 },
-/*ab*/	{ "bts",   TRUE,  LONG,  op2(R,E),    0 },
-/*ac*/	{ "shrd",  TRUE,  LONG,  op3(Ib,R,E), 0 },
-/*ad*/	{ "shrd",  TRUE,  LONG,  op3(CL,R,E), 0 },
-/*ae*/	{ "",      TRUE,  LONG,  op1(E),      db_Grp15 },
-/*af*/	{ "imul",  TRUE,  LONG,  op2(E,R),    0 },
+/*a0*/	{ "push",  false, NONE,  op1(Si),     0 },
+/*a1*/	{ "pop",   false, NONE,  op1(Si),     0 },
+/*a2*/	{ "cpuid", false, NONE,  0,	      0 },
+/*a3*/	{ "bt",    true,  LONG,  op2(R,E),    0 },
+/*a4*/	{ "shld",  true,  LONG,  op3(Ib,R,E), 0 },
+/*a5*/	{ "shld",  true,  LONG,  op3(CL,R,E), 0 },
+/*a6*/	{ "",      false, NONE,  0,	      0 },
+/*a7*/	{ "",      false, NONE,  0,	      0 },
+
+/*a8*/	{ "push",  false, NONE,  op1(Si),     0 },
+/*a9*/	{ "pop",   false, NONE,  op1(Si),     0 },
+/*aa*/	{ "rsm",   false, NONE,  0,	      0 },
+/*ab*/	{ "bts",   true,  LONG,  op2(R,E),    0 },
+/*ac*/	{ "shrd",  true,  LONG,  op3(Ib,R,E), 0 },
+/*ad*/	{ "shrd",  true,  LONG,  op3(CL,R,E), 0 },
+/*ae*/	{ "",      true,  LONG,  op1(E),      db_Grp15 },
+/*af*/	{ "imul",  true,  LONG,  op2(E,R),    0 },
 };
 
 static const struct inst db_inst_0fbx[] = {
-/*b0*/	{ "cmpxchg",TRUE, BYTE,	 op2(R, E),   0 },
-/*b0*/	{ "cmpxchg",TRUE, LONG,	 op2(R, E),   0 },
-/*b2*/	{ "lss",   TRUE,  LONG,  op2(E, R),   0 },
-/*b3*/	{ "btr",   TRUE,  LONG,  op2(R, E),   0 },
-/*b4*/	{ "lfs",   TRUE,  LONG,  op2(E, R),   0 },
-/*b5*/	{ "lgs",   TRUE,  LONG,  op2(E, R),   0 },
-/*b6*/	{ "movzb", TRUE,  LONG,  op2(Eb, R),  0 },
-/*b7*/	{ "movzw", TRUE,  LONG,  op2(Ew, R),  0 },
-
-/*b8*/	{ "",      FALSE, NONE,  0,	      0 },
-/*b9*/	{ "",      FALSE, NONE,  0,	      0 },
-/*ba*/	{ "",      TRUE,  LONG,  op2(Ib, E),  db_Grp8 },
-/*bb*/	{ "btc",   TRUE,  LONG,  op2(R, E),   0 },
-/*bc*/	{ "bsf",   TRUE,  LONG,  op2(E, R),   0 },
-/*bd*/	{ "bsr",   TRUE,  LONG,  op2(E, R),   0 },
-/*be*/	{ "movsb", TRUE,  LONG,  op2(Eb, R),  0 },
-/*bf*/	{ "movsw", TRUE,  LONG,  op2(Ew, R),  0 },
+/*b0*/	{ "cmpxchg",true, BYTE,	 op2(R, E),   0 },
+/*b0*/	{ "cmpxchg",true, LONG,	 op2(R, E),   0 },
+/*b2*/	{ "lss",   true,  LONG,  op2(E, R),   0 },
+/*b3*/	{ "btr",   true,  LONG,  op2(R, E),   0 },
+/*b4*/	{ "lfs",   true,  LONG,  op2(E, R),   0 },
+/*b5*/	{ "lgs",   true,  LONG,  op2(E, R),   0 },
+/*b6*/	{ "movzb", true,  LONG,  op2(Eb, R),  0 },
+/*b7*/	{ "movzw", true,  LONG,  op2(Ew, R),  0 },
+
+/*b8*/	{ "",      false, NONE,  0,	      0 },
+/*b9*/	{ "",      false, NONE,  0,	      0 },
+/*ba*/	{ "",      true,  LONG,  op2(Ib, E),  db_Grp8 },
+/*bb*/	{ "btc",   true,  LONG,  op2(R, E),   0 },
+/*bc*/	{ "bsf",   true,  LONG,  op2(E, R),   0 },
+/*bd*/	{ "bsr",   true,  LONG,  op2(E, R),   0 },
+/*be*/	{ "movsb", true,  LONG,  op2(Eb, R),  0 },
+/*bf*/	{ "movsw", true,  LONG,  op2(Ew, R),  0 },
 };
 
 static const struct inst db_inst_0fcx[] = {
-/*c0*/	{ "xadd",  TRUE,  BYTE,	 op2(R, E),   0 },
-/*c1*/	{ "xadd",  TRUE,  LONG,	 op2(R, E),   0 },
-/*c2*/	{ "",	   FALSE, NONE,	 0,	      0 },
-/*c3*/	{ "",	   FALSE, NONE,	 0,	      0 },
-/*c4*/	{ "",	   FALSE, NONE,	 0,	      0 },
-/*c5*/	{ "",	   FALSE, NONE,	 0,	      0 },
-/*c6*/	{ "",	   FALSE, NONE,	 0,	      0 },
-/*c7*/	{ "",	   TRUE,  NONE,  op1(E),      db_Grp9 },
-/*c8*/	{ "bswap", FALSE, LONG,  op1(Ril),    0 },
-/*c9*/	{ "bswap", FALSE, LONG,  op1(Ril),    0 },
-/*ca*/	{ "bswap", FALSE, LONG,  op1(Ril),    0 },
-/*cb*/	{ "bswap", FALSE, LONG,  op1(Ril),    0 },
-/*cc*/	{ "bswap", FALSE, LONG,  op1(Ril),    0 },
-/*cd*/	{ "bswap", FALSE, LONG,  op1(Ril),    0 },
-/*ce*/	{ "bswap", FALSE, LONG,  op1(Ril),    0 },
-/*cf*/	{ "bswap", FALSE, LONG,  op1(Ril),    0 },
+/*c0*/	{ "xadd",  true,  BYTE,	 op2(R, E),   0 },
+/*c1*/	{ "xadd",  true,  LONG,	 op2(R, E),   0 },
+/*c2*/	{ "",	   false, NONE,	 0,	      0 },
+/*c3*/	{ "",	   false, NONE,	 0,	      0 },
+/*c4*/	{ "",	   false, NONE,	 0,	      0 },
+/*c5*/	{ "",	   false, NONE,	 0,	      0 },
+/*c6*/	{ "",	   false, NONE,	 0,	      0 },
+/*c7*/	{ "",	   true,  NONE,  op1(E),      db_Grp9 },
+/*c8*/	{ "bswap", false, LONG,  op1(Ril),    0 },
+/*c9*/	{ "bswap", false, LONG,  op1(Ril),    0 },
+/*ca*/	{ "bswap", false, LONG,  op1(Ril),    0 },
+/*cb*/	{ "bswap", false, LONG,  op1(Ril),    0 },
+/*cc*/	{ "bswap", false, LONG,  op1(Ril),    0 },
+/*cd*/	{ "bswap", false, LONG,  op1(Ril),    0 },
+/*ce*/	{ "bswap", false, LONG,  op1(Ril),    0 },
+/*cf*/	{ "bswap", false, LONG,  op1(Ril),    0 },
 };
 
 static const struct inst * const db_inst_0f[] = {
@@ -635,342 +635,342 @@ static const char * const db_Grp2[] = {
 };
 
 static const struct inst db_Grp3[] = {
-	{ "test",  TRUE, NONE, op2(I,E), 0 },
-	{ "test",  TRUE, NONE, op2(I,E), 0 },
-	{ "not",   TRUE, NONE, op1(E),   0 },
-	{ "neg",   TRUE, NONE, op1(E),   0 },
-	{ "mul",   TRUE, NONE, op2(E,A), 0 },
-	{ "imul",  TRUE, NONE, op2(E,A), 0 },
-	{ "div",   TRUE, NONE, op2(E,A), 0 },
-	{ "idiv",  TRUE, NONE, op2(E,A), 0 },
+	{ "test",  true, NONE, op2(I,E), 0 },
+	{ "test",  true, NONE, op2(I,E), 0 },
+	{ "not",   true, NONE, op1(E),   0 },
+	{ "neg",   true, NONE, op1(E),   0 },
+	{ "mul",   true, NONE, op2(E,A), 0 },
+	{ "imul",  true, NONE, op2(E,A), 0 },
+	{ "div",   true, NONE, op2(E,A), 0 },
+	{ "idiv",  true, NONE, op2(E,A), 0 },
 };
 
 static const struct inst db_Grp4[] = {
-	{ "inc",   TRUE, BYTE, op1(E),   0 },
-	{ "dec",   TRUE, BYTE, op1(E),   0 },
-	{ "",      TRUE, NONE, 0,	 0 },
-	{ "",      TRUE, NONE, 0,	 0 },
-	{ "",      TRUE, NONE, 0,	 0 },
-	{ "",      TRUE, NONE, 0,	 0 },
-	{ "",      TRUE, NONE, 0,	 0 },
-	{ "",      TRUE, NONE, 0,	 0 }
+	{ "inc",   true, BYTE, op1(E),   0 },
+	{ "dec",   true, BYTE, op1(E),   0 },
+	{ "",      true, NONE, 0,	 0 },
+	{ "",      true, NONE, 0,	 0 },
+	{ "",      true, NONE, 0,	 0 },
+	{ "",      true, NONE, 0,	 0 },
+	{ "",      true, NONE, 0,	 0 },
+	{ "",      true, NONE, 0,	 0 }
 };
 
 static const struct inst db_Grp5[] = {
-	{ "inc",   TRUE, LONG, op1(E),   0 },
-	{ "dec",   TRUE, LONG, op1(E),   0 },
-	{ "call",  TRUE, LONG, op1(Eind),0 },
-	{ "lcall", TRUE, LONG, op1(Eind),0 },
-	{ "jmp",   TRUE, LONG, op1(Eind),0 },
-	{ "ljmp",  TRUE, LONG, op1(Eind),0 },
-	{ "push",  TRUE, LONG, op1(E),   0 },
-	{ "",      TRUE, NONE, 0,	 0 }
+	{ "inc",   true, LONG, op1(E),   0 },
+	{ "dec",   true, LONG, op1(E),   0 },
+	{ "call",  true, LONG, op1(Eind),0 },
+	{ "lcall", true, LONG, op1(Eind),0 },
+	{ "jmp",   true, LONG, op1(Eind),0 },
+	{ "ljmp",  true, LONG, op1(Eind),0 },
+	{ "push",  true, LONG, op1(E),   0 },
+	{ "",      true, NONE, 0,	 0 }
 };
 
 static const struct inst db_Grp9b[] = {
-	{ "",      TRUE, NONE, 0,	 0 },
-	{ "",      TRUE, NONE, 0,	 0 },
-	{ "",      TRUE, NONE, 0,	 0 },
-	{ "",      TRUE, NONE, 0,	 0 },
-	{ "",      TRUE, NONE, 0,	 0 },
-	{ "",      TRUE, NONE, 0,	 0 },
-	{ "rdrand",TRUE, LONG, op1(Rv),  0 },
-	{ "rdseed",TRUE, LONG, op1(Rv),  0 }
+	{ "",      true, NONE, 0,	 0 },
+	{ "",      true, NONE, 0,	 0 },
+	{ "",      true, NONE, 0,	 0 },
+	{ "",      true, NONE, 0,	 0 },
+	{ "",      true, NONE, 0,	 0 },
+	{ "",      true, NONE, 0,	 0 },
+	{ "rdrand",true, LONG, op1(Rv),  0 },
+	{ "rdseed",true, LONG, op1(Rv),  0 }
 };
 
 static const struct inst db_inst_table[256] = {
-/*00*/	{ "add",   TRUE,  BYTE,  op2(R, E),  0 },
-/*01*/	{ "add",   TRUE,  LONG,  op2(R, E),  0 },
-/*02*/	{ "add",   TRUE,  BYTE,  op2(E, R),  0 },
-/*03*/	{ "add",   TRUE,  LONG,  op2(E, R),  0 },
-/*04*/	{ "add",   FALSE, BYTE,  op2(I, A),  0 },
-/*05*/	{ "add",   FALSE, LONG,  op2(Is, A), 0 },
-/*06*/	{ "push",  FALSE, NONE,  op1(Si),    0 },
-/*07*/	{ "pop",   FALSE, NONE,  op1(Si),    0 },
-
-/*08*/	{ "or",    TRUE,  BYTE,  op2(R, E),  0 },
-/*09*/	{ "or",    TRUE,  LONG,  op2(R, E),  0 },
-/*0a*/	{ "or",    TRUE,  BYTE,  op2(E, R),  0 },
-/*0b*/	{ "or",    TRUE,  LONG,  op2(E, R),  0 },
-/*0c*/	{ "or",    FALSE, BYTE,  op2(I, A),  0 },
-/*0d*/	{ "or",    FALSE, LONG,  op2(I, A),  0 },
-/*0e*/	{ "push",  FALSE, NONE,  op1(Si),    0 },
-/*0f*/	{ "",      FALSE, ESC,   0,	     db_inst_0f },
-
-/*10*/	{ "adc",   TRUE,  BYTE,  op2(R, E),  0 },
-/*11*/	{ "adc",   TRUE,  LONG,  op2(R, E),  0 },
-/*12*/	{ "adc",   TRUE,  BYTE,  op2(E, R),  0 },
-/*13*/	{ "adc",   TRUE,  LONG,  op2(E, R),  0 },
-/*14*/	{ "adc",   FALSE, BYTE,  op2(I, A),  0 },
-/*15*/	{ "adc",   FALSE, LONG,  op2(Is, A), 0 },
-/*16*/	{ "push",  FALSE, NONE,  op1(Si),    0 },
-/*17*/	{ "pop",   FALSE, NONE,  op1(Si),    0 },
-
-/*18*/	{ "sbb",   TRUE,  BYTE,  op2(R, E),  0 },
-/*19*/	{ "sbb",   TRUE,  LONG,  op2(R, E),  0 },
-/*1a*/	{ "sbb",   TRUE,  BYTE,  op2(E, R),  0 },
-/*1b*/	{ "sbb",   TRUE,  LONG,  op2(E, R),  0 },
-/*1c*/	{ "sbb",   FALSE, BYTE,  op2(I, A),  0 },
-/*1d*/	{ "sbb",   FALSE, LONG,  op2(Is, A), 0 },
-/*1e*/	{ "push",  FALSE, NONE,  op1(Si),    0 },
-/*1f*/	{ "pop",   FALSE, NONE,  op1(Si),    0 },
-
-/*20*/	{ "and",   TRUE,  BYTE,  op2(R, E),  0 },
-/*21*/	{ "and",   TRUE,  LONG,  op2(R, E),  0 },
-/*22*/	{ "and",   TRUE,  BYTE,  op2(E, R),  0 },
-/*23*/	{ "and",   TRUE,  LONG,  op2(E, R),  0 },
-/*24*/	{ "and",   FALSE, BYTE,  op2(I, A),  0 },
-/*25*/	{ "and",   FALSE, LONG,  op2(I, A),  0 },
-/*26*/	{ "",      FALSE, NONE,  0,	     0 },
-/*27*/	{ "daa",   FALSE, NONE,  0,	     0 },
-
-/*28*/	{ "sub",   TRUE,  BYTE,  op2(R, E),  0 },
-/*29*/	{ "sub",   TRUE,  LONG,  op2(R, E),  0 },
-/*2a*/	{ "sub",   TRUE,  BYTE,  op2(E, R),  0 },
-/*2b*/	{ "sub",   TRUE,  LONG,  op2(E, R),  0 },
-/*2c*/	{ "sub",   FALSE, BYTE,  op2(I, A),  0 },
-/*2d*/	{ "sub",   FALSE, LONG,  op2(Is, A), 0 },
-/*2e*/	{ "",      FALSE, NONE,  0,	     0 },
-/*2f*/	{ "das",   FALSE, NONE,  0,	     0 },
-
-/*30*/	{ "xor",   TRUE,  BYTE,  op2(R, E),  0 },
-/*31*/	{ "xor",   TRUE,  LONG,  op2(R, E),  0 },
-/*32*/	{ "xor",   TRUE,  BYTE,  op2(E, R),  0 },
-/*33*/	{ "xor",   TRUE,  LONG,  op2(E, R),  0 },
-/*34*/	{ "xor",   FALSE, BYTE,  op2(I, A),  0 },
-/*35*/	{ "xor",   FALSE, LONG,  op2(I, A),  0 },
-/*36*/	{ "",      FALSE, NONE,  0,	     0 },
-/*37*/	{ "aaa",   FALSE, NONE,  0,	     0 },
-
-/*38*/	{ "cmp",   TRUE,  BYTE,  op2(R, E),  0 },
-/*39*/	{ "cmp",   TRUE,  LONG,  op2(R, E),  0 },
-/*3a*/	{ "cmp",   TRUE,  BYTE,  op2(E, R),  0 },
-/*3b*/	{ "cmp",   TRUE,  LONG,  op2(E, R),  0 },
-/*3c*/	{ "cmp",   FALSE, BYTE,  op2(I, A),  0 },
-/*3d*/	{ "cmp",   FALSE, LONG,  op2(Is, A), 0 },
-/*3e*/	{ "",      FALSE, NONE,  0,	     0 },
-/*3f*/	{ "aas",   FALSE, NONE,  0,	     0 },
-
-/*40*/	{ "rex",   FALSE, NONE,  0,          0 },
-/*41*/	{ "rex.b", FALSE, NONE,  0,          0 },
-/*42*/	{ "rex.x", FALSE, NONE,  0,          0 },
-/*43*/	{ "rex.xb", FALSE, NONE, 0,          0 },
-/*44*/	{ "rex.r", FALSE, NONE,  0,          0 },
-/*45*/	{ "rex.rb", FALSE, NONE, 0,          0 },
-/*46*/	{ "rex.rx", FALSE, NONE, 0,          0 },
-/*47*/	{ "rex.rxb", FALSE, NONE, 0,         0 },
-
-/*48*/	{ "rex.w", FALSE, NONE,  0,          0 },
-/*49*/	{ "rex.wb", FALSE, NONE, 0,          0 },
-/*4a*/	{ "rex.wx", FALSE, NONE, 0,          0 },
-/*4b*/	{ "rex.wxb", FALSE, NONE, 0,         0 },
-/*4c*/	{ "rex.wr", FALSE, NONE, 0,          0 },
-/*4d*/	{ "rex.wrb", FALSE, NONE, 0,         0 },
-/*4e*/	{ "rex.wrx", FALSE, NONE, 0,         0 },
-/*4f*/	{ "rex.wrxb", FALSE, NONE, 0,        0 },
-
-/*50*/	{ "push",  FALSE, LONG,  op1(Ri),    0 },
-/*51*/	{ "push",  FALSE, LONG,  op1(Ri),    0 },
-/*52*/	{ "push",  FALSE, LONG,  op1(Ri),    0 },
-/*53*/	{ "push",  FALSE, LONG,  op1(Ri),    0 },
-/*54*/	{ "push",  FALSE, LONG,  op1(Ri),    0 },
-/*55*/	{ "push",  FALSE, LONG,  op1(Ri),    0 },
-/*56*/	{ "push",  FALSE, LONG,  op1(Ri),    0 },
-/*57*/	{ "push",  FALSE, LONG,  op1(Ri),    0 },
-
-/*58*/	{ "pop",   FALSE, LONG,  op1(Ri),    0 },
-/*59*/	{ "pop",   FALSE, LONG,  op1(Ri),    0 },
-/*5a*/	{ "pop",   FALSE, LONG,  op1(Ri),    0 },
-/*5b*/	{ "pop",   FALSE, LONG,  op1(Ri),    0 },
-/*5c*/	{ "pop",   FALSE, LONG,  op1(Ri),    0 },
-/*5d*/	{ "pop",   FALSE, LONG,  op1(Ri),    0 },
-/*5e*/	{ "pop",   FALSE, LONG,  op1(Ri),    0 },
-/*5f*/	{ "pop",   FALSE, LONG,  op1(Ri),    0 },
-
-/*60*/	{ "pusha", FALSE, LONG,  0,	     0 },
-/*61*/	{ "popa",  FALSE, LONG,  0,	     0 },
-/*62*/  { "bound", TRUE,  LONG,  op2(E, R),  0 },
-/*63*/	{ "movslq",  TRUE,  NONE,  op2(EL,R), 0 },
-
-/*64*/	{ "",      FALSE, NONE,  0,	     0 },
-/*65*/	{ "",      FALSE, NONE,  0,	     0 },
-/*66*/	{ "",      FALSE, NONE,  0,	     0 },
-/*67*/	{ "",      FALSE, NONE,  0,	     0 },
-
-/*68*/	{ "push",  FALSE, LONG,  op1(I),     0 },
-/*69*/  { "imul",  TRUE,  LONG,  op3(I,E,R), 0 },
-/*6a*/	{ "push",  FALSE, LONG,  op1(Ibs),   0 },
-/*6b*/  { "imul",  TRUE,  LONG,  op3(Ibs,E,R),0 },
-/*6c*/	{ "ins",   FALSE, BYTE,  op2(DX, DI), 0 },
-/*6d*/	{ "ins",   FALSE, LONG,  op2(DX, DI), 0 },
-/*6e*/	{ "outs",  FALSE, BYTE,  op2(SI, DX), 0 },
-/*6f*/	{ "outs",  FALSE, LONG,  op2(SI, DX), 0 },
-
-/*70*/	{ "jo",    FALSE, NONE,  op1(Db),     0 },
-/*71*/	{ "jno",   FALSE, NONE,  op1(Db),     0 },
-/*72*/	{ "jb",    FALSE, NONE,  op1(Db),     0 },
-/*73*/	{ "jnb",   FALSE, NONE,  op1(Db),     0 },
-/*74*/	{ "jz",    FALSE, NONE,  op1(Db),     0 },
-/*75*/	{ "jnz",   FALSE, NONE,  op1(Db),     0 },
-/*76*/	{ "jbe",   FALSE, NONE,  op1(Db),     0 },
-/*77*/	{ "jnbe",  FALSE, NONE,  op1(Db),     0 },
-
-/*78*/	{ "js",    FALSE, NONE,  op1(Db),     0 },
-/*79*/	{ "jns",   FALSE, NONE,  op1(Db),     0 },
-/*7a*/	{ "jp",    FALSE, NONE,  op1(Db),     0 },
-/*7b*/	{ "jnp",   FALSE, NONE,  op1(Db),     0 },
-/*7c*/	{ "jl",    FALSE, NONE,  op1(Db),     0 },
-/*7d*/	{ "jnl",   FALSE, NONE,  op1(Db),     0 },
-/*7e*/	{ "jle",   FALSE, NONE,  op1(Db),     0 },
-/*7f*/	{ "jnle",  FALSE, NONE,  op1(Db),     0 },
-
-/*80*/  { "",	   TRUE,  BYTE,  op2(I, E),   db_Grp1 },
-/*81*/  { "",	   TRUE,  LONG,  op2(I, E),   db_Grp1 },
-/*82*/  { "",	   TRUE,  BYTE,  op2(I, E),   db_Grp1 },
-/*83*/  { "",	   TRUE,  LONG,  op2(Ibs,E),  db_Grp1 },
-/*84*/	{ "test",  TRUE,  BYTE,  op2(R, E),   0 },
-/*85*/	{ "test",  TRUE,  LONG,  op2(R, E),   0 },
-/*86*/	{ "xchg",  TRUE,  BYTE,  op2(R, E),   0 },
-/*87*/	{ "xchg",  TRUE,  LONG,  op2(R, E),   0 },
-
-/*88*/	{ "mov",   TRUE,  BYTE,  op2(R, E),   0 },
-/*89*/	{ "mov",   TRUE,  LONG,  op2(R, E),   0 },
-/*8a*/	{ "mov",   TRUE,  BYTE,  op2(E, R),   0 },
-/*8b*/	{ "mov",   TRUE,  LONG,  op2(E, R),   0 },
-/*8c*/  { "mov",   TRUE,  NONE,  op2(S, Ew),  0 },
-/*8d*/	{ "lea",   TRUE,  LONG,  op2(E, R),   0 },
-/*8e*/	{ "mov",   TRUE,  NONE,  op2(Ew, S),  0 },
-/*8f*/	{ "pop",   TRUE,  LONG,  op1(E),      0 },
-
-/*90*/	{ "nop",   FALSE, NONE,  0,	      0 },
-/*91*/	{ "xchg",  FALSE, LONG,  op2(A, Ri),  0 },
-/*92*/	{ "xchg",  FALSE, LONG,  op2(A, Ri),  0 },
-/*93*/	{ "xchg",  FALSE, LONG,  op2(A, Ri),  0 },
-/*94*/	{ "xchg",  FALSE, LONG,  op2(A, Ri),  0 },
-/*95*/	{ "xchg",  FALSE, LONG,  op2(A, Ri),  0 },
-/*96*/	{ "xchg",  FALSE, LONG,  op2(A, Ri),  0 },
-/*97*/	{ "xchg",  FALSE, LONG,  op2(A, Ri),  0 },
-
-/*98*/	{ "cwde",  FALSE, SDEP,  0,	      "cbw" },
-/*99*/	{ "cdq",   FALSE, SDEP,  0,	      "cwd" },
-/*9a*/	{ "lcall", FALSE, NONE,  op1(OS),     0 },
-/*9b*/	{ "wait",  FALSE, NONE,  0,	      0 },
-/*9c*/	{ "pushf", FALSE, LONG,  0,	      0 },
-/*9d*/	{ "popf",  FALSE, LONG,  0,	      0 },
-/*9e*/	{ "sahf",  FALSE, NONE,  0,	      0 },
-/*9f*/	{ "lahf",  FALSE, NONE,  0,	      0 },
-
-/*a0*/	{ "mov",   FALSE, BYTE,  op2(O, A),   0 },
-/*a1*/	{ "mov",   FALSE, LONG,  op2(O, A),   0 },
-/*a2*/	{ "mov",   FALSE, BYTE,  op2(A, O),   0 },
-/*a3*/	{ "mov",   FALSE, LONG,  op2(A, O),   0 },
-/*a4*/	{ "movs",  FALSE, BYTE,  op2(SI,DI),  0 },
-/*a5*/	{ "movs",  FALSE, LONG,  op2(SI,DI),  0 },
-/*a6*/	{ "cmps",  FALSE, BYTE,  op2(SI,DI),  0 },
-/*a7*/	{ "cmps",  FALSE, LONG,  op2(SI,DI),  0 },
-
-/*a8*/	{ "test",  FALSE, BYTE,  op2(I, A),   0 },
-/*a9*/	{ "test",  FALSE, LONG,  op2(I, A),   0 },
-/*aa*/	{ "stos",  FALSE, BYTE,  op1(DI),     0 },
-/*ab*/	{ "stos",  FALSE, LONG,  op1(DI),     0 },
-/*ac*/	{ "lods",  FALSE, BYTE,  op1(SI),     0 },
-/*ad*/	{ "lods",  FALSE, LONG,  op1(SI),     0 },
-/*ae*/	{ "scas",  FALSE, BYTE,  op1(SI),     0 },
-/*af*/	{ "scas",  FALSE, LONG,  op1(SI),     0 },
-
-/*b0*/	{ "mov",   FALSE, BYTE,  op2(I, Ri),  0 },
-/*b1*/	{ "mov",   FALSE, BYTE,  op2(I, Ri),  0 },
-/*b2*/	{ "mov",   FALSE, BYTE,  op2(I, Ri),  0 },
-/*b3*/	{ "mov",   FALSE, BYTE,  op2(I, Ri),  0 },
-/*b4*/	{ "mov",   FALSE, BYTE,  op2(I, Ri),  0 },
-/*b5*/	{ "mov",   FALSE, BYTE,  op2(I, Ri),  0 },
-/*b6*/	{ "mov",   FALSE, BYTE,  op2(I, Ri),  0 },
-/*b7*/	{ "mov",   FALSE, BYTE,  op2(I, Ri),  0 },
-
-/*b8*/	{ "mov",   FALSE, LONG,  op2(Ilq, Ri),  0 },
-/*b9*/	{ "mov",   FALSE, LONG,  op2(Ilq, Ri),  0 },
-/*ba*/	{ "mov",   FALSE, LONG,  op2(Ilq, Ri),  0 },
-/*bb*/	{ "mov",   FALSE, LONG,  op2(Ilq, Ri),  0 },
-/*bc*/	{ "mov",   FALSE, LONG,  op2(Ilq, Ri),  0 },
-/*bd*/	{ "mov",   FALSE, LONG,  op2(Ilq, Ri),  0 },
-/*be*/	{ "mov",   FALSE, LONG,  op2(Ilq, Ri),  0 },
-/*bf*/	{ "mov",   FALSE, LONG,  op2(Ilq, Ri),  0 },
-
-/*c0*/	{ "",	   TRUE,  BYTE,  op2(Ib, E),  db_Grp2 },
-/*c1*/	{ "",	   TRUE,  LONG,  op2(Ib, E),  db_Grp2 },
-/*c2*/	{ "ret",   FALSE, NONE,  op1(Iw),     0 },
-/*c3*/	{ "ret",   FALSE, NONE,  0,	      0 },
-/*c4*/	{ "les",   TRUE,  LONG,  op2(E, R),   0 },
-/*c5*/	{ "lds",   TRUE,  LONG,  op2(E, R),   0 },
-/*c6*/	{ "mov",   TRUE,  BYTE,  op2(I, E),   0 },
-/*c7*/	{ "mov",   TRUE,  LONG,  op2(I, E),   0 },
-
-/*c8*/	{ "enter", FALSE, NONE,  op2(Iw, Ib), 0 },
-/*c9*/	{ "leave", FALSE, NONE,  0,           0 },
-/*ca*/	{ "lret",  FALSE, NONE,  op1(Iw),     0 },
-/*cb*/	{ "lret",  FALSE, NONE,  0,	      0 },
-/*cc*/	{ "int",   FALSE, NONE,  op1(o3),     0 },
-/*cd*/	{ "int",   FALSE, NONE,  op1(Ib),     0 },
-/*ce*/	{ "into",  FALSE, NONE,  0,	      0 },
-/*cf*/	{ "iret",  FALSE, NONE,  0,	      0 },
-
-/*d0*/	{ "",	   TRUE,  BYTE,  op2(o1, E),  db_Grp2 },
-/*d1*/	{ "",	   TRUE,  LONG,  op2(o1, E),  db_Grp2 },
-/*d2*/	{ "",	   TRUE,  BYTE,  op2(CL, E),  db_Grp2 },
-/*d3*/	{ "",	   TRUE,  LONG,  op2(CL, E),  db_Grp2 },
-/*d4*/	{ "aam",   FALSE, NONE,  op1(Iba),    0 },
-/*d5*/	{ "aad",   FALSE, NONE,  op1(Iba),    0 },
-/*d6*/	{ ".byte\t0xd6", FALSE, NONE, 0,      0 },
-/*d7*/	{ "xlat",  FALSE, BYTE,  op1(BX),     0 },
-
-/*d8*/  { "",      TRUE,  NONE,  0,	      db_Esc8 },
-/*d9*/  { "",      TRUE,  NONE,  0,	      db_Esc9 },
-/*da*/  { "",      TRUE,  NONE,  0,	      db_Esca },
-/*db*/  { "",      TRUE,  NONE,  0,	      db_Escb },
-/*dc*/  { "",      TRUE,  NONE,  0,	      db_Escc },
-/*dd*/  { "",      TRUE,  NONE,  0,	      db_Escd },
-/*de*/  { "",      TRUE,  NONE,  0,	      db_Esce },
-/*df*/  { "",      TRUE,  NONE,  0,	      db_Escf },
-
-/*e0*/	{ "loopne",FALSE, NONE,  op1(Db),     0 },
-/*e1*/	{ "loope", FALSE, NONE,  op1(Db),     0 },
-/*e2*/	{ "loop",  FALSE, NONE,  op1(Db),     0 },
-/*e3*/	{ "jrcxz", FALSE, ADEP,  op1(Db),     "jecxz" },
-/*e4*/	{ "in",    FALSE, BYTE,  op2(Ib, A),  0 },
-/*e5*/	{ "in",    FALSE, LONG,  op2(Ib, A) , 0 },
-/*e6*/	{ "out",   FALSE, BYTE,  op2(A, Ib),  0 },
-/*e7*/	{ "out",   FALSE, LONG,  op2(A, Ib) , 0 },
-
-/*e8*/	{ "call",  FALSE, NONE,  op1(Dl),     0 },
-/*e9*/	{ "jmp",   FALSE, NONE,  op1(Dl),     0 },
-/*ea*/	{ "ljmp",  FALSE, NONE,  op1(OS),     0 },
-/*eb*/	{ "jmp",   FALSE, NONE,  op1(Db),     0 },
-/*ec*/	{ "in",    FALSE, BYTE,  op2(DX, A),  0 },
-/*ed*/	{ "in",    FALSE, LONG,  op2(DX, A) , 0 },
-/*ee*/	{ "out",   FALSE, BYTE,  op2(A, DX),  0 },
-/*ef*/	{ "out",   FALSE, LONG,  op2(A, DX) , 0 },
-
-/*f0*/	{ "",      FALSE, NONE,  0,	     0 },
-/*f1*/	{ ".byte\t0xf1", FALSE, NONE, 0,     0 },
-/*f2*/	{ "",      FALSE, NONE,  0,	     0 },
-/*f3*/	{ "",      FALSE, NONE,  0,	     0 },
-/*f4*/	{ "hlt",   FALSE, NONE,  0,	     0 },
-/*f5*/	{ "cmc",   FALSE, NONE,  0,	     0 },
-/*f6*/	{ "",      TRUE,  BYTE,  0,	     db_Grp3 },
-/*f7*/	{ "",	   TRUE,  LONG,  0,	     db_Grp3 },
-
-/*f8*/	{ "clc",   FALSE, NONE,  0,	     0 },
-/*f9*/	{ "stc",   FALSE, NONE,  0,	     0 },
-/*fa*/	{ "cli",   FALSE, NONE,  0,	     0 },
-/*fb*/	{ "sti",   FALSE, NONE,  0,	     0 },
-/*fc*/	{ "cld",   FALSE, NONE,  0,	     0 },
-/*fd*/	{ "std",   FALSE, NONE,  0,	     0 },
-/*fe*/	{ "",	   TRUE,  NONE,  0,	     db_Grp4 },
-/*ff*/	{ "",	   TRUE,  NONE,  0,	     db_Grp5 },
+/*00*/	{ "add",   true,  BYTE,  op2(R, E),  0 },
+/*01*/	{ "add",   true,  LONG,  op2(R, E),  0 },
+/*02*/	{ "add",   true,  BYTE,  op2(E, R),  0 },
+/*03*/	{ "add",   true,  LONG,  op2(E, R),  0 },
+/*04*/	{ "add",   false, BYTE,  op2(I, A),  0 },
+/*05*/	{ "add",   false, LONG,  op2(Is, A), 0 },
+/*06*/	{ "push",  false, NONE,  op1(Si),    0 },
+/*07*/	{ "pop",   false, NONE,  op1(Si),    0 },
+
+/*08*/	{ "or",    true,  BYTE,  op2(R, E),  0 },
+/*09*/	{ "or",    true,  LONG,  op2(R, E),  0 },
+/*0a*/	{ "or",    true,  BYTE,  op2(E, R),  0 },
+/*0b*/	{ "or",    true,  LONG,  op2(E, R),  0 },
+/*0c*/	{ "or",    false, BYTE,  op2(I, A),  0 },
+/*0d*/	{ "or",    false, LONG,  op2(I, A),  0 },
+/*0e*/	{ "push",  false, NONE,  op1(Si),    0 },
+/*0f*/	{ "",      false, ESC,   0,	     db_inst_0f },
+
+/*10*/	{ "adc",   true,  BYTE,  op2(R, E),  0 },
+/*11*/	{ "adc",   true,  LONG,  op2(R, E),  0 },
+/*12*/	{ "adc",   true,  BYTE,  op2(E, R),  0 },
+/*13*/	{ "adc",   true,  LONG,  op2(E, R),  0 },
+/*14*/	{ "adc",   false, BYTE,  op2(I, A),  0 },
+/*15*/	{ "adc",   false, LONG,  op2(Is, A), 0 },
+/*16*/	{ "push",  false, NONE,  op1(Si),    0 },
+/*17*/	{ "pop",   false, NONE,  op1(Si),    0 },
+
+/*18*/	{ "sbb",   true,  BYTE,  op2(R, E),  0 },
+/*19*/	{ "sbb",   true,  LONG,  op2(R, E),  0 },
+/*1a*/	{ "sbb",   true,  BYTE,  op2(E, R),  0 },
+/*1b*/	{ "sbb",   true,  LONG,  op2(E, R),  0 },
+/*1c*/	{ "sbb",   false, BYTE,  op2(I, A),  0 },
+/*1d*/	{ "sbb",   false, LONG,  op2(Is, A), 0 },
+/*1e*/	{ "push",  false, NONE,  op1(Si),    0 },
+/*1f*/	{ "pop",   false, NONE,  op1(Si),    0 },
+
+/*20*/	{ "and",   true,  BYTE,  op2(R, E),  0 },
+/*21*/	{ "and",   true,  LONG,  op2(R, E),  0 },
+/*22*/	{ "and",   true,  BYTE,  op2(E, R),  0 },
+/*23*/	{ "and",   true,  LONG,  op2(E, R),  0 },
+/*24*/	{ "and",   false, BYTE,  op2(I, A),  0 },
+/*25*/	{ "and",   false, LONG,  op2(I, A),  0 },
+/*26*/	{ "",      false, NONE,  0,	     0 },
+/*27*/	{ "daa",   false, NONE,  0,	     0 },
+
+/*28*/	{ "sub",   true,  BYTE,  op2(R, E),  0 },
+/*29*/	{ "sub",   true,  LONG,  op2(R, E),  0 },
+/*2a*/	{ "sub",   true,  BYTE,  op2(E, R),  0 },
+/*2b*/	{ "sub",   true,  LONG,  op2(E, R),  0 },
+/*2c*/	{ "sub",   false, BYTE,  op2(I, A),  0 },
+/*2d*/	{ "sub",   false, LONG,  op2(Is, A), 0 },
+/*2e*/	{ "",      false, NONE,  0,	     0 },
+/*2f*/	{ "das",   false, NONE,  0,	     0 },
+
+/*30*/	{ "xor",   true,  BYTE,  op2(R, E),  0 },
+/*31*/	{ "xor",   true,  LONG,  op2(R, E),  0 },
+/*32*/	{ "xor",   true,  BYTE,  op2(E, R),  0 },
+/*33*/	{ "xor",   true,  LONG,  op2(E, R),  0 },
+/*34*/	{ "xor",   false, BYTE,  op2(I, A),  0 },
+/*35*/	{ "xor",   false, LONG,  op2(I, A),  0 },
+/*36*/	{ "",      false, NONE,  0,	     0 },
+/*37*/	{ "aaa",   false, NONE,  0,	     0 },
+
+/*38*/	{ "cmp",   true,  BYTE,  op2(R, E),  0 },
+/*39*/	{ "cmp",   true,  LONG,  op2(R, E),  0 },
+/*3a*/	{ "cmp",   true,  BYTE,  op2(E, R),  0 },
+/*3b*/	{ "cmp",   true,  LONG,  op2(E, R),  0 },
+/*3c*/	{ "cmp",   false, BYTE,  op2(I, A),  0 },
+/*3d*/	{ "cmp",   false, LONG,  op2(Is, A), 0 },
+/*3e*/	{ "",      false, NONE,  0,	     0 },
+/*3f*/	{ "aas",   false, NONE,  0,	     0 },
+
+/*40*/	{ "rex",   false, NONE,  0,          0 },
+/*41*/	{ "rex.b", false, NONE,  0,          0 },
+/*42*/	{ "rex.x", false, NONE,  0,          0 },
+/*43*/	{ "rex.xb", false, NONE, 0,          0 },
+/*44*/	{ "rex.r", false, NONE,  0,          0 },
+/*45*/	{ "rex.rb", false, NONE, 0,          0 },
+/*46*/	{ "rex.rx", false, NONE, 0,          0 },
+/*47*/	{ "rex.rxb", false, NONE, 0,         0 },
+
+/*48*/	{ "rex.w", false, NONE,  0,          0 },
+/*49*/	{ "rex.wb", false, NONE, 0,          0 },
+/*4a*/	{ "rex.wx", false, NONE, 0,          0 },
+/*4b*/	{ "rex.wxb", false, NONE, 0,         0 },
+/*4c*/	{ "rex.wr", false, NONE, 0,          0 },
+/*4d*/	{ "rex.wrb", false, NONE, 0,         0 },
+/*4e*/	{ "rex.wrx", false, NONE, 0,         0 },
+/*4f*/	{ "rex.wrxb", false, NONE, 0,        0 },
+
+/*50*/	{ "push",  false, LONG,  op1(Ri),    0 },
+/*51*/	{ "push",  false, LONG,  op1(Ri),    0 },
+/*52*/	{ "push",  false, LONG,  op1(Ri),    0 },
+/*53*/	{ "push",  false, LONG,  op1(Ri),    0 },
+/*54*/	{ "push",  false, LONG,  op1(Ri),    0 },
+/*55*/	{ "push",  false, LONG,  op1(Ri),    0 },
+/*56*/	{ "push",  false, LONG,  op1(Ri),    0 },
*** 1981 LINES SKIPPED ***