get rid of array indexes.
diff --git a/src/libmach/mach386.c b/src/libmach/mach386.c
index 5f336ce..946eac5 100644
--- a/src/libmach/mach386.c
+++ b/src/libmach/mach386.c
@@ -312,242 +312,359 @@
 	
 static Optable optab0F00[8]=
 {
-[0x00]	0,0,		"MOVW	LDT,%e",
-[0x01]	0,0,		"MOVW	TR,%e",
-[0x02]	0,0,		"MOVW	%e,LDT",
-[0x03]	0,0,		"MOVW	%e,TR",
-[0x04]	0,0,		"VERR	%e",
-[0x05]	0,0,		"VERW	%e",
+	0,0,		"MOVW	LDT,%e",	/* 0x00 */
+	0,0,		"MOVW	TR,%e",		/* 0x01 */
+	0,0,		"MOVW	%e,LDT",	/* 0x02 */
+	0,0,		"MOVW	%e,TR",		/* 0x03 */
+	0,0,		"VERR	%e",		/* 0x04 */
+	0,0,		"VERW	%e",		/* 0x05 */
 };
 
 static Optable optab0F01[8]=
 {
-[0x00]	0,0,		"MOVL	GDTR,%e",
-[0x01]	0,0,		"MOVL	IDTR,%e",
-[0x02]	0,0,		"MOVL	%e,GDTR",
-[0x03]	0,0,		"MOVL	%e,IDTR",
-[0x04]	0,0,		"MOVW	MSW,%e",	/* word */
-[0x06]	0,0,		"MOVW	%e,MSW",	/* word */
+	0,0,		"MOVL	GDTR,%e",	/* 0x00 */
+	0,0,		"MOVL	IDTR,%e",	/* 0x01 */
+	0,0,		"MOVL	%e,GDTR",	/* 0x02 */
+	0,0,		"MOVL	%e,IDTR",	/* 0x03 */
+	0,0,		"MOVW	MSW,%e",	/* 0x04 */	/* word */
+	0,0,		"",			/* 0x05 */
+	0,0,		"MOVW	%e,MSW",	/* 0x06 */	/* word */
 };
 
 static Optable optab0FBA[8]=
 {
-[0x04]	Ib,0,		"BT%S	%i,%e",
-[0x05]	Ib,0,		"BTS%S	%i,%e",
-[0x06]	Ib,0,		"BTR%S	%i,%e",
-[0x07]	Ib,0,		"BTC%S	%i,%e",
+	0,0,		"",			/* 0x00 */
+	0,0,		"",			/* 0x01 */
+	0,0,		"",			/* 0x02 */
+	0,0,		"",			/* 0x03 */
+	Ib,0,		"BT%S	%i,%e",		/* 0x04 */
+	Ib,0,		"BTS%S	%i,%e",		/* 0x05 */
+	Ib,0,		"BTR%S	%i,%e",		/* 0x06 */
+	Ib,0,		"BTC%S	%i,%e",		/* 0x07 */
 };
 
 static Optable optab0F[256]=
 {
-[0x00]	RMOP,0,		optab0F00,
-[0x01]	RMOP,0,		optab0F01,
-[0x02]	RM,0,		"LAR	%e,%r",
-[0x03]	RM,0,		"LSL	%e,%r",
-[0x06]	0,0,		"CLTS",
-[0x08]	0,0,		"INVD",
-[0x09]	0,0,		"WBINVD",
-[0x20]	RMR,0,		"MOVL	%C,%e",
-[0x21]	RMR,0,		"MOVL	%D,%e",
-[0x22]	RMR,0,		"MOVL	%e,%C",
-[0x23]	RMR,0,		"MOVL	%e,%D",
-[0x24]	RMR,0,		"MOVL	%T,%e",
-[0x26]	RMR,0,		"MOVL	%e,%T",
-[0x30]	0,0,		"WRMSR",
-[0x31]	0,0,		"RDTSC",
-[0x32]	0,0,		"RDMSR",
-[0x42]	RM,0,		"CMOVC	%e,%r",		/* CF */
-[0x43]	RM,0,		"CMOVNC	%e,%r",		/* ¬ CF */
-[0x44]	RM,0,		"CMOVZ	%e,%r",		/* ZF */
-[0x45]	RM,0,		"CMOVNZ	%e,%r",		/* ¬ ZF */
-[0x46]	RM,0,		"CMOVBE	%e,%r",		/* CF ∨ ZF */
-[0x47]	RM,0,		"CMOVA	%e,%r",		/* ¬CF ∧ ¬ZF */
-[0x48]	RM,0,		"CMOVS	%e,%r",		/* SF */
-[0x49]	RM,0,		"CMOVNS	%e,%r",		/* ¬ SF */
-[0x4A]	RM,0,		"CMOVP	%e,%r",		/* PF */
-[0x4B]	RM,0,		"CMOVNP	%e,%r",		/* ¬ PF */
-[0x4C]	RM,0,		"CMOVLT	%e,%r",		/* LT ≡ OF ≠ SF */
-[0x4D]	RM,0,		"CMOVGE	%e,%r",		/* GE ≡ ZF ∨ SF */
-[0x4E]	RM,0,		"CMOVLE	%e,%r",		/* LE ≡ ZF ∨ LT */
-[0x4F]	RM,0,		"CMOVGT	%e,%r",		/* GT ≡ ¬ZF ∧ GE */
-[0x80]	Iwds,0,		"JOS	%p",
-[0x81]	Iwds,0,		"JOC	%p",
-[0x82]	Iwds,0,		"JCS	%p",
-[0x83]	Iwds,0,		"JCC	%p",
-[0x84]	Iwds,0,		"JEQ	%p",
-[0x85]	Iwds,0,		"JNE	%p",
-[0x86]	Iwds,0,		"JLS	%p",
-[0x87]	Iwds,0,		"JHI	%p",
-[0x88]	Iwds,0,		"JMI	%p",
-[0x89]	Iwds,0,		"JPL	%p",
-[0x8a]	Iwds,0,		"JPS	%p",
-[0x8b]	Iwds,0,		"JPC	%p",
-[0x8c]	Iwds,0,		"JLT	%p",
-[0x8d]	Iwds,0,		"JGE	%p",
-[0x8e]	Iwds,0,		"JLE	%p",
-[0x8f]	Iwds,0,		"JGT	%p",
-[0x90]	RMB,0,		"SETOS	%e",
-[0x91]	RMB,0,		"SETOC	%e",
-[0x92]	RMB,0,		"SETCS	%e",
-[0x93]	RMB,0,		"SETCC	%e",
-[0x94]	RMB,0,		"SETEQ	%e",
-[0x95]	RMB,0,		"SETNE	%e",
-[0x96]	RMB,0,		"SETLS	%e",
-[0x97]	RMB,0,		"SETHI	%e",
-[0x98]	RMB,0,		"SETMI	%e",
-[0x99]	RMB,0,		"SETPL	%e",
-[0x9a]	RMB,0,		"SETPS	%e",
-[0x9b]	RMB,0,		"SETPC	%e",
-[0x9c]	RMB,0,		"SETLT	%e",
-[0x9d]	RMB,0,		"SETGE	%e",
-[0x9e]	RMB,0,		"SETLE	%e",
-[0x9f]	RMB,0,		"SETGT	%e",
-[0xa0]	0,0,		"PUSHL	FS",
-[0xa1]	0,0,		"POPL	FS",
-[0xa2]	0,0,		"CPUID",
-[0xa3]	RM,0,		"BT%S	%r,%e",
-[0xa4]	RM,Ib,		"SHLD%S	%r,%i,%e",
-[0xa5]	RM,0,		"SHLD%S	%r,CL,%e",
-[0xa8]	0,0,		"PUSHL	GS",
-[0xa9]	0,0,		"POPL	GS",
-[0xab]	RM,0,		"BTS%S	%r,%e",
-[0xac]	RM,Ib,		"SHRD%S	%r,%i,%e",
-[0xad]	RM,0,		"SHRD%S	%r,CL,%e",
-[0xaf]	RM,0,		"IMUL%S	%e,%r",
-[0xb2]	RMM,0,		"LSS	%e,%r",
-[0xb3]	RM,0,		"BTR%S	%r,%e",
-[0xb4]	RMM,0,		"LFS	%e,%r",
-[0xb5]	RMM,0,		"LGS	%e,%r",
-[0xb6]	RMB,0,		"MOVBZX	%e,%R",
-[0xb7]	RM,0,		"MOVWZX	%e,%R",
-[0xba]	RMOP,0,		optab0FBA,
-[0xbb]	RM,0,		"BTC%S	%e,%r",
-[0xbc]	RM,0,		"BSF%S	%e,%r",
-[0xbd]	RM,0,		"BSR%S	%e,%r",
-[0xbe]	RMB,0,		"MOVBSX	%e,%R",
-[0xbf]	RM,0,		"MOVWSX	%e,%R",
+	RMOP,0,		optab0F00,		/* 0x00 */
+	RMOP,0,		optab0F01,		/* 0x01 */
+	RM,0,		"LAR	%e,%r",		/* 0x02 */
+	RM,0,		"LSL	%e,%r",		/* 0x03 */
+	0,0,		"",			/* 0x04 */
+	0,0,		"",			/* 0x05 */
+	0,0,		"CLTS",			/* 0x06 */
+	0,0,		"",			/* 0x07 */
+	0,0,		"INVD",			/* 0x08 */
+	0,0,		"WBINVD",		/* 0x09 */
+	0,0,		"",			/* 0x0a */
+	0,0,		"",			/* 0x0b */
+	0,0,		"",			/* 0x0c */
+	0,0,		"",			/* 0x0d */
+	0,0,		"",			/* 0x0e */
+	0,0,		"",			/* 0x0f */
+	0,0,		"",			/* 0x10 */
+	0,0,		"",			/* 0x11 */
+	0,0,		"",			/* 0x12 */
+	0,0,		"",			/* 0x13 */
+	0,0,		"",			/* 0x14 */
+	0,0,		"",			/* 0x15 */
+	0,0,		"",			/* 0x16 */
+	0,0,		"",			/* 0x17 */
+	0,0,		"",			/* 0x18 */
+	0,0,		"",			/* 0x19 */
+	0,0,		"",			/* 0x1a */
+	0,0,		"",			/* 0x1b */
+	0,0,		"",			/* 0x1c */
+	0,0,		"",			/* 0x1d */
+	0,0,		"",			/* 0x1e */
+	0,0,		"",			/* 0x1f */
+	RMR,0,		"MOVL	%C,%e",		/* 0x20 */
+	RMR,0,		"MOVL	%D,%e",		/* 0x21 */
+	RMR,0,		"MOVL	%e,%C",		/* 0x22 */
+	RMR,0,		"MOVL	%e,%D",		/* 0x23 */
+	RMR,0,		"MOVL	%T,%e",		/* 0x24 */
+	0,0,		"",			/* 0x25 */
+	RMR,0,		"MOVL	%e,%T",		/* 0x26 */
+	0,0,		"",			/* 0x27 */
+	0,0,		"",			/* 0x28 */
+	0,0,		"",			/* 0x29 */
+	0,0,		"",			/* 0x2a */
+	0,0,		"",			/* 0x2b */
+	0,0,		"",			/* 0x2c */
+	0,0,		"",			/* 0x2d */
+	0,0,		"",			/* 0x2e */
+	0,0,		"",			/* 0x2f */
+	0,0,		"WRMSR",		/* 0x30 */
+	0,0,		"RDTSC",		/* 0x31 */
+	0,0,		"RDMSR",		/* 0x32 */
+	0,0,		"",			/* 0x33 */
+	0,0,		"",			/* 0x34 */
+	0,0,		"",			/* 0x35 */
+	0,0,		"",			/* 0x36 */
+	0,0,		"",			/* 0x37 */
+	0,0,		"",			/* 0x38 */
+	0,0,		"",			/* 0x39 */
+	0,0,		"",			/* 0x3a */
+	0,0,		"",			/* 0x3b */
+	0,0,		"",			/* 0x3c */
+	0,0,		"",			/* 0x3d */
+	0,0,		"",			/* 0x3e */
+	0,0,		"",			/* 0x3f */
+	0,0,		"",			/* 0x40 */
+	0,0,		"",			/* 0x41 */
+	0,0,		"",			/* 0x42 */
+	0,0,		"",			/* 0x43 */
+	0,0,		"",			/* 0x44 */
+	0,0,		"",			/* 0x45 */
+	0,0,		"",			/* 0x46 */
+	0,0,		"",			/* 0x47 */
+	0,0,		"",			/* 0x48 */
+	0,0,		"",			/* 0x49 */
+	0,0,		"",			/* 0x4a */
+	0,0,		"",			/* 0x4b */
+	0,0,		"",			/* 0x4c */
+	0,0,		"",			/* 0x4d */
+	0,0,		"",			/* 0x4e */
+	0,0,		"",			/* 0x4f */
+	0,0,		"",			/* 0x50 */
+	0,0,		"",			/* 0x51 */
+	0,0,		"",			/* 0x52 */
+	0,0,		"",			/* 0x53 */
+	0,0,		"",			/* 0x54 */
+	0,0,		"",			/* 0x55 */
+	0,0,		"",			/* 0x56 */
+	0,0,		"",			/* 0x57 */
+	0,0,		"",			/* 0x58 */
+	0,0,		"",			/* 0x59 */
+	0,0,		"",			/* 0x5a */
+	0,0,		"",			/* 0x5b */
+	0,0,		"",			/* 0x5c */
+	0,0,		"",			/* 0x5d */
+	0,0,		"",			/* 0x5e */
+	0,0,		"",			/* 0x5f */
+	0,0,		"",			/* 0x60 */
+	0,0,		"",			/* 0x61 */
+	0,0,		"",			/* 0x62 */
+	0,0,		"",			/* 0x63 */
+	0,0,		"",			/* 0x64 */
+	0,0,		"",			/* 0x65 */
+	0,0,		"",			/* 0x66 */
+	0,0,		"",			/* 0x67 */
+	0,0,		"",			/* 0x68 */
+	0,0,		"",			/* 0x69 */
+	0,0,		"",			/* 0x6a */
+	0,0,		"",			/* 0x6b */
+	0,0,		"",			/* 0x6c */
+	0,0,		"",			/* 0x6d */
+	0,0,		"",			/* 0x6e */
+	0,0,		"",			/* 0x6f */
+	0,0,		"",			/* 0x70 */
+	0,0,		"",			/* 0x71 */
+	0,0,		"",			/* 0x72 */
+	0,0,		"",			/* 0x73 */
+	0,0,		"",			/* 0x74 */
+	0,0,		"",			/* 0x75 */
+	0,0,		"",			/* 0x76 */
+	0,0,		"",			/* 0x77 */
+	0,0,		"",			/* 0x78 */
+	0,0,		"",			/* 0x79 */
+	0,0,		"",			/* 0x7a */
+	0,0,		"",			/* 0x7b */
+	0,0,		"",			/* 0x7c */
+	0,0,		"",			/* 0x7d */
+	0,0,		"",			/* 0x7e */
+	0,0,		"",			/* 0x7f */
+	Iwds,0,		"JOS	%p",		/* 0x80 */
+	Iwds,0,		"JOC	%p",		/* 0x81 */
+	Iwds,0,		"JCS	%p",		/* 0x82 */
+	Iwds,0,		"JCC	%p",		/* 0x83 */
+	Iwds,0,		"JEQ	%p",		/* 0x84 */
+	Iwds,0,		"JNE	%p",		/* 0x85 */
+	Iwds,0,		"JLS	%p",		/* 0x86 */
+	Iwds,0,		"JHI	%p",		/* 0x87 */
+	Iwds,0,		"JMI	%p",		/* 0x88 */
+	Iwds,0,		"JPL	%p",		/* 0x89 */
+	Iwds,0,		"JPS	%p",		/* 0x8a */
+	Iwds,0,		"JPC	%p",		/* 0x8b */
+	Iwds,0,		"JLT	%p",		/* 0x8c */
+	Iwds,0,		"JGE	%p",		/* 0x8d */
+	Iwds,0,		"JLE	%p",		/* 0x8e */
+	Iwds,0,		"JGT	%p",		/* 0x8f */
+	RMB,0,		"SETOS	%e",		/* 0x90 */
+	RMB,0,		"SETOC	%e",		/* 0x91 */
+	RMB,0,		"SETCS	%e",		/* 0x92 */
+	RMB,0,		"SETCC	%e",		/* 0x93 */
+	RMB,0,		"SETEQ	%e",		/* 0x94 */
+	RMB,0,		"SETNE	%e",		/* 0x95 */
+	RMB,0,		"SETLS	%e",		/* 0x96 */
+	RMB,0,		"SETHI	%e",		/* 0x97 */
+	RMB,0,		"SETMI	%e",		/* 0x98 */
+	RMB,0,		"SETPL	%e",		/* 0x99 */
+	RMB,0,		"SETPS	%e",		/* 0x9a */
+	RMB,0,		"SETPC	%e",		/* 0x9b */
+	RMB,0,		"SETLT	%e",		/* 0x9c */
+	RMB,0,		"SETGE	%e",		/* 0x9d */
+	RMB,0,		"SETLE	%e",		/* 0x9e */
+	RMB,0,		"SETGT	%e",		/* 0x9f */
+	0,0,		"PUSHL	FS",		/* 0xa0 */
+	0,0,		"POPL	FS",		/* 0xa1 */
+	0,0,		"CPUID",		/* 0xa2 */
+	RM,0,		"BT%S	%r,%e",		/* 0xa3 */
+	RM,Ib,		"SHLD%S	%r,%i,%e",	/* 0xa4 */
+	RM,0,		"SHLD%S	%r,CL,%e",	/* 0xa5 */
+	0,0,		"",			/* 0xa6 */
+	0,0,		"",			/* 0xa7 */
+	0,0,		"PUSHL	GS",		/* 0xa8 */
+	0,0,		"POPL	GS",		/* 0xa9 */
+	0,0,		"",			/* 0xaa */
+	RM,0,		"BTS%S	%r,%e",		/* 0xab */
+	RM,Ib,		"SHRD%S	%r,%i,%e",	/* 0xac */
+	RM,0,		"SHRD%S	%r,CL,%e",	/* 0xad */
+	0,0,		"",			/* 0xae */
+	RM,0,		"IMUL%S	%e,%r",		/* 0xaf */
+	0,0,		"",			/* 0xb0 */
+	0,0,		"",			/* 0xb1 */
+	RMM,0,		"LSS	%e,%r",		/* 0xb2 */
+	RM,0,		"BTR%S	%r,%e",		/* 0xb3 */
+	RMM,0,		"LFS	%e,%r",		/* 0xb4 */
+	RMM,0,		"LGS	%e,%r",		/* 0xb5 */
+	RMB,0,		"MOVBZX	%e,%R",		/* 0xb6 */
+	RM,0,		"MOVWZX	%e,%R",		/* 0xb7 */
+	0,0,		"",			/* 0xb8 */
+	0,0,		"",			/* 0xb9 */
+	RMOP,0,		optab0FBA,		/* 0xba */
+	RM,0,		"BTC%S	%e,%r",		/* 0xbb */
+	RM,0,		"BSF%S	%e,%r",		/* 0xbc */
+	RM,0,		"BSR%S	%e,%r",		/* 0xbd */
+	RMB,0,		"MOVBSX	%e,%R",		/* 0xbe */
+	RM,0,		"MOVWSX	%e,%R",		/* 0xbf */
 };
 
 static Optable optab80[8]=
 {
-[0x00]	Ib,0,		"ADDB	%i,%e",
-[0x01]	Ib,0,		"ORB	%i,%e",
-[0x02]	Ib,0,		"ADCB	%i,%e",
-[0x03]	Ib,0,		"SBBB	%i,%e",
-[0x04]	Ib,0,		"ANDB	%i,%e",
-[0x05]	Ib,0,		"SUBB	%i,%e",
-[0x06]	Ib,0,		"XORB	%i,%e",
-[0x07]	Ib,0,		"CMPB	%e,%i",
+	Ib,0,		"ADDB	%i,%e",		/* 0x00 */
+	Ib,0,		"ORB	%i,%e",		/* 0x01 */
+	Ib,0,		"ADCB	%i,%e",		/* 0x02 */
+	Ib,0,		"SBBB	%i,%e",		/* 0x03 */
+	Ib,0,		"ANDB	%i,%e",		/* 0x04 */
+	Ib,0,		"SUBB	%i,%e",		/* 0x05 */
+	Ib,0,		"XORB	%i,%e",		/* 0x06 */
+	Ib,0,		"CMPB	%e,%i",		/* 0x07 */
 };
 
 static Optable optab81[8]=
 {
-[0x00]	Iwd,0,		"ADD%S	%i,%e",
-[0x01]	Iwd,0,		"OR%S	%i,%e",
-[0x02]	Iwd,0,		"ADC%S	%i,%e",
-[0x03]	Iwd,0,		"SBB%S	%i,%e",
-[0x04]	Iwd,0,		"AND%S	%i,%e",
-[0x05]	Iwd,0,		"SUB%S	%i,%e",
-[0x06]	Iwd,0,		"XOR%S	%i,%e",
-[0x07]	Iwd,0,		"CMP%S	%e,%i",
+	Iwd,0,		"ADD%S	%i,%e",		/* 0x00 */
+	Iwd,0,		"OR%S	%i,%e",		/* 0x01 */
+	Iwd,0,		"ADC%S	%i,%e",		/* 0x02 */
+	Iwd,0,		"SBB%S	%i,%e",		/* 0x03 */
+	Iwd,0,		"AND%S	%i,%e",		/* 0x04 */
+	Iwd,0,		"SUB%S	%i,%e",		/* 0x05 */
+	Iwd,0,		"XOR%S	%i,%e",		/* 0x06 */
+	Iwd,0,		"CMP%S	%e,%i",		/* 0x07 */
 };
 
 static Optable optab83[8]=
 {
-[0x00]	Ibs,0,		"ADD%S	%i,%e",
-[0x01]	Ibs,0,		"OR%S	%i,%e",
-[0x02]	Ibs,0,		"ADC%S	%i,%e",
-[0x03]	Ibs,0,		"SBB%S	%i,%e",
-[0x04]	Ibs,0,		"AND%S	%i,%e",
-[0x05]	Ibs,0,		"SUB%S	%i,%e",
-[0x06]	Ibs,0,		"XOR%S	%i,%e",
-[0x07]	Ibs,0,		"CMP%S	%e,%i",
+	Ibs,0,		"ADD%S	%i,%e",		/* 0x00 */
+	Ibs,0,		"OR%S	%i,%e",		/* 0x01 */
+	Ibs,0,		"ADC%S	%i,%e",		/* 0x02 */
+	Ibs,0,		"SBB%S	%i,%e",		/* 0x03 */
+	Ibs,0,		"AND%S	%i,%e",		/* 0x04 */
+	Ibs,0,		"SUB%S	%i,%e",		/* 0x05 */
+	Ibs,0,		"XOR%S	%i,%e",		/* 0x06 */
+	Ibs,0,		"CMP%S	%e,%i",		/* 0x07 */
 };
 
 static Optable optabC0[8] =
 {
-[0x00]	Ib,0,		"ROLB	%i,%e",
-[0x01]	Ib,0,		"RORB	%i,%e",
-[0x02]	Ib,0,		"RCLB	%i,%e",
-[0x03]	Ib,0,		"RCRB	%i,%e",
-[0x04]	Ib,0,		"SHLB	%i,%e",
-[0x05]	Ib,0,		"SHRB	%i,%e",
-[0x07]	Ib,0,		"SARB	%i,%e",
+	Ib,0,		"ROLB	%i,%e",		/* 0x00 */
+	Ib,0,		"RORB	%i,%e",		/* 0x01 */
+	Ib,0,		"RCLB	%i,%e",		/* 0x02 */
+	Ib,0,		"RCRB	%i,%e",		/* 0x03 */
+	Ib,0,		"SHLB	%i,%e",		/* 0x04 */
+	Ib,0,		"SHRB	%i,%e",		/* 0x05 */
+	0,0,		"",			/* 0x06 */
+	Ib,0,		"SARB	%i,%e",		/* 0x07 */
 };
 
 static Optable optabC1[8] =
 {
-[0x00]	Ib,0,		"ROL%S	%i,%e",
-[0x01]	Ib,0,		"ROR%S	%i,%e",
-[0x02]	Ib,0,		"RCL%S	%i,%e",
-[0x03]	Ib,0,		"RCR%S	%i,%e",
-[0x04]	Ib,0,		"SHL%S	%i,%e",
-[0x05]	Ib,0,		"SHR%S	%i,%e",
-[0x07]	Ib,0,		"SAR%S	%i,%e",
+	Ib,0,		"ROL%S	%i,%e",		/* 0x00 */
+	Ib,0,		"ROR%S	%i,%e",		/* 0x01 */
+	Ib,0,		"RCL%S	%i,%e",		/* 0x02 */
+	Ib,0,		"RCR%S	%i,%e",		/* 0x03 */
+	Ib,0,		"SHL%S	%i,%e",		/* 0x04 */
+	Ib,0,		"SHR%S	%i,%e",		/* 0x05 */
+	0,0,		"",			/* 0x06 */
+	Ib,0,		"SAR%S	%i,%e",		/* 0x07 */
 };
 
 static Optable optabD0[8] =
 {
-[0x00]	0,0,		"ROLB	%e",
-[0x01]	0,0,		"RORB	%e",
-[0x02]	0,0,		"RCLB	%e",
-[0x03]	0,0,		"RCRB	%e",
-[0x04]	0,0,		"SHLB	%e",
-[0x05]	0,0,		"SHRB	%e",
-[0x07]	0,0,		"SARB	%e",
+	0,0,		"ROLB	%e",		/* 0x00 */
+	0,0,		"RORB	%e",		/* 0x01 */
+	0,0,		"RCLB	%e",		/* 0x02 */
+	0,0,		"RCRB	%e",		/* 0x03 */
+	0,0,		"SHLB	%e",		/* 0x04 */
+	0,0,		"SHRB	%e",		/* 0x05 */
+	0,0,		"",			/* 0x06 */
+	0,0,		"SARB	%e",		/* 0x07 */
 };
 
 static Optable optabD1[8] =
 {
-[0x00]	0,0,		"ROL%S	%e",
-[0x01]	0,0,		"ROR%S	%e",
-[0x02]	0,0,		"RCL%S	%e",
-[0x03]	0,0,		"RCR%S	%e",
-[0x04]	0,0,		"SHL%S	%e",
-[0x05]	0,0,		"SHR%S	%e",
-[0x07]	0,0,		"SAR%S	%e",
+	0,0,		"ROL%S	%e",		/* 0x00 */
+	0,0,		"ROR%S	%e",		/* 0x01 */
+	0,0,		"RCL%S	%e",		/* 0x02 */
+	0,0,		"RCR%S	%e",		/* 0x03 */
+	0,0,		"SHL%S	%e",		/* 0x04 */
+	0,0,		"SHR%S	%e",		/* 0x05 */
+	0,0,		"",			/* 0x06 */
+	0,0,		"SAR%S	%e",		/* 0x07 */
 };
 
 static Optable optabD2[8] =
 {
-[0x00]	0,0,		"ROLB	CL,%e",
-[0x01]	0,0,		"RORB	CL,%e",
-[0x02]	0,0,		"RCLB	CL,%e",
-[0x03]	0,0,		"RCRB	CL,%e",
-[0x04]	0,0,		"SHLB	CL,%e",
-[0x05]	0,0,		"SHRB	CL,%e",
-[0x07]	0,0,		"SARB	CL,%e",
+	0,0,		"ROLB	CL,%e",		/* 0x00 */
+	0,0,		"RORB	CL,%e",		/* 0x01 */
+	0,0,		"RCLB	CL,%e",		/* 0x02 */
+	0,0,		"RCRB	CL,%e",		/* 0x03 */
+	0,0,		"SHLB	CL,%e",		/* 0x04 */
+	0,0,		"SHRB	CL,%e",		/* 0x05 */
+	0,0,		"",			/* 0x06 */
+	0,0,		"SARB	CL,%e",		/* 0x07 */
 };
 
 static Optable optabD3[8] =
 {
-[0x00]	0,0,		"ROL%S	CL,%e",
-[0x01]	0,0,		"ROR%S	CL,%e",
-[0x02]	0,0,		"RCL%S	CL,%e",
-[0x03]	0,0,		"RCR%S	CL,%e",
-[0x04]	0,0,		"SHL%S	CL,%e",
-[0x05]	0,0,		"SHR%S	CL,%e",
-[0x07]	0,0,		"SAR%S	CL,%e",
+	0,0,		"ROL%S	CL,%e",		/* 0x00 */
+	0,0,		"ROR%S	CL,%e",		/* 0x01 */
+	0,0,		"RCL%S	CL,%e",		/* 0x02 */
+	0,0,		"RCR%S	CL,%e",		/* 0x03 */
+	0,0,		"SHL%S	CL,%e",		/* 0x04 */
+	0,0,		"SHR%S	CL,%e",		/* 0x05 */
+	0,0,		"",			/* 0x06 */
+	0,0,		"SAR%S	CL,%e",		/* 0x07 */
 };
 
 static Optable optabD8[8+8] =
 {
-[0x00]	0,0,		"FADDF	%e,F0",
-[0x01]	0,0,		"FMULF	%e,F0",
-[0x02]	0,0,		"FCOMF	%e,F0",
-[0x03]	0,0,		"FCOMFP	%e,F0",
-[0x04]	0,0,		"FSUBF	%e,F0",
-[0x05]	0,0,		"FSUBRF	%e,F0",
-[0x06]	0,0,		"FDIVF	%e,F0",
-[0x07]	0,0,		"FDIVRF	%e,F0",
-[0x08]	0,0,		"FADDD	%f,F0",
-[0x09]	0,0,		"FMULD	%f,F0",
-[0x0a]	0,0,		"FCOMD	%f,F0",
-[0x0b]	0,0,		"FCOMPD	%f,F0",
-[0x0c]	0,0,		"FSUBD	%f,F0",
-[0x0d]	0,0,		"FSUBRD	%f,F0",
-[0x0e]	0,0,		"FDIVD	%f,F0",
-[0x0f]	0,0,		"FDIVRD	%f,F0",
+	0,0,		"FADDF	%e,F0",		/* 0x00 */
+	0,0,		"FMULF	%e,F0",		/* 0x01 */
+	0,0,		"FCOMF	%e,F0",		/* 0x02 */
+	0,0,		"FCOMFP	%e,F0",		/* 0x03 */
+	0,0,		"FSUBF	%e,F0",		/* 0x04 */
+	0,0,		"FSUBRF	%e,F0",		/* 0x05 */
+	0,0,		"FDIVF	%e,F0",		/* 0x06 */
+	0,0,		"FDIVRF	%e,F0",		/* 0x07 */
+	0,0,		"FADDD	%f,F0",		/* 0x08 */
+	0,0,		"FMULD	%f,F0",		/* 0x09 */
+	0,0,		"FCOMD	%f,F0",		/* 0x0a */
+	0,0,		"FCOMPD	%f,F0",		/* 0x0b */
+	0,0,		"FSUBD	%f,F0",		/* 0x0c */
+	0,0,		"FSUBRD	%f,F0",		/* 0x0d */
+	0,0,		"FDIVD	%f,F0",		/* 0x0e */
+	0,0,		"FDIVRD	%f,F0",		/* 0x0f */
 };
 /*
  *	optabD9 and optabDB use the following encoding: 
@@ -559,441 +676,520 @@
  */
 static Optable optabD9[64+8] =
 {
-[0x00]	0,0,		"FMOVF	%e,F0",
-[0x02]	0,0,		"FMOVF	F0,%e",
-[0x03]	0,0,		"FMOVFP	F0,%e",
-[0x04]	0,0,		"FLDENV%S %e",
-[0x05]	0,0,		"FLDCW	%e",
-[0x06]	0,0,		"FSTENV%S %e",
-[0x07]	0,0,		"FSTCW	%e",
-[0x08]	0,0,		"FMOVD	F0,F0",		/* Mod R/M = 11xx xxxx*/
-[0x09]	0,0,		"FMOVD	F1,F0",
-[0x0a]	0,0,		"FMOVD	F2,F0",
-[0x0b]	0,0,		"FMOVD	F3,F0",
-[0x0c]	0,0,		"FMOVD	F4,F0",
-[0x0d]	0,0,		"FMOVD	F5,F0",
-[0x0e]	0,0,		"FMOVD	F6,F0",
-[0x0f]	0,0,		"FMOVD	F7,F0",
-[0x10]	0,0,		"FXCHD	F0,F0",
-[0x11]	0,0,		"FXCHD	F1,F0",
-[0x12]	0,0,		"FXCHD	F2,F0",
-[0x13]	0,0,		"FXCHD	F3,F0",
-[0x14]	0,0,		"FXCHD	F4,F0",
-[0x15]	0,0,		"FXCHD	F5,F0",
-[0x16]	0,0,		"FXCHD	F6,F0",
-[0x17]	0,0,		"FXCHD	F7,F0",
-[0x18]	0,0,		"FNOP",
-[0x28]	0,0,		"FCHS",
-[0x29]	0,0,		"FABS",
-[0x2c]	0,0,		"FTST",
-[0x2d]	0,0,		"FXAM",
-[0x30]	0,0,		"FLD1",
-[0x31]	0,0,		"FLDL2T",
-[0x32]	0,0,		"FLDL2E",
-[0x33]	0,0,		"FLDPI",
-[0x34]	0,0,		"FLDLG2",
-[0x35]	0,0,		"FLDLN2",
-[0x36]	0,0,		"FLDZ",
-[0x38]	0,0,		"F2XM1",
-[0x39]	0,0,		"FYL2X",
-[0x3a]	0,0,		"FPTAN",
-[0x3b]	0,0,		"FPATAN",
-[0x3c]	0,0,		"FXTRACT",
-[0x3d]	0,0,		"FPREM1",
-[0x3e]	0,0,		"FDECSTP",
-[0x3f]	0,0,		"FNCSTP",
-[0x40]	0,0,		"FPREM",
-[0x41]	0,0,		"FYL2XP1",
-[0x42]	0,0,		"FSQRT",
-[0x43]	0,0,		"FSINCOS",
-[0x44]	0,0,		"FRNDINT",
-[0x45]	0,0,		"FSCALE",
-[0x46]	0,0,		"FSIN",
-[0x47]	0,0,		"FCOS",
+	0,0,		"FMOVF	%e,F0",		/* 0x00 */
+	0,0,		"",			/* 0x01 */
+	0,0,		"FMOVF	F0,%e",		/* 0x02 */
+	0,0,		"FMOVFP	F0,%e",		/* 0x03 */
+	0,0,		"FLDENV%S %e",		/* 0x04 */
+	0,0,		"FLDCW	%e",		/* 0x05 */
+	0,0,		"FSTENV%S %e",		/* 0x06 */
+	0,0,		"FSTCW	%e",		/* 0x07 */
+	0,0,		"FMOVD	F0,F0",		/* 0x08 */	/* Mod R/M = 11xx xxxx*/
+	0,0,		"FMOVD	F1,F0",		/* 0x09 */
+	0,0,		"FMOVD	F2,F0",		/* 0x0a */
+	0,0,		"FMOVD	F3,F0",		/* 0x0b */
+	0,0,		"FMOVD	F4,F0",		/* 0x0c */
+	0,0,		"FMOVD	F5,F0",		/* 0x0d */
+	0,0,		"FMOVD	F6,F0",		/* 0x0e */
+	0,0,		"FMOVD	F7,F0",		/* 0x0f */
+	0,0,		"FXCHD	F0,F0",		/* 0x10 */
+	0,0,		"FXCHD	F1,F0",		/* 0x11 */
+	0,0,		"FXCHD	F2,F0",		/* 0x12 */
+	0,0,		"FXCHD	F3,F0",		/* 0x13 */
+	0,0,		"FXCHD	F4,F0",		/* 0x14 */
+	0,0,		"FXCHD	F5,F0",		/* 0x15 */
+	0,0,		"FXCHD	F6,F0",		/* 0x16 */
+	0,0,		"FXCHD	F7,F0",		/* 0x17 */
+	0,0,		"FNOP",			/* 0x18 */
+	0,0,		"",			/* 0x19 */
+	0,0,		"",			/* 0x1a */
+	0,0,		"",			/* 0x1b */
+	0,0,		"",			/* 0x1c */
+	0,0,		"",			/* 0x1d */
+	0,0,		"",			/* 0x1e */
+	0,0,		"",			/* 0x1f */
+	0,0,		"",			/* 0x20 */
+	0,0,		"",			/* 0x21 */
+	0,0,		"",			/* 0x22 */
+	0,0,		"",			/* 0x23 */
+	0,0,		"",			/* 0x24 */
+	0,0,		"",			/* 0x25 */
+	0,0,		"",			/* 0x26 */
+	0,0,		"",			/* 0x27 */
+	0,0,		"FCHS",			/* 0x28 */
+	0,0,		"FABS",			/* 0x29 */
+	0,0,		"",			/* 0x2a */
+	0,0,		"",			/* 0x2b */
+	0,0,		"FTST",			/* 0x2c */
+	0,0,		"FXAM",			/* 0x2d */
+	0,0,		"",			/* 0x2e */
+	0,0,		"",			/* 0x2f */
+	0,0,		"FLD1",			/* 0x30 */
+	0,0,		"FLDL2T",		/* 0x31 */
+	0,0,		"FLDL2E",		/* 0x32 */
+	0,0,		"FLDPI",		/* 0x33 */
+	0,0,		"FLDLG2",		/* 0x34 */
+	0,0,		"FLDLN2",		/* 0x35 */
+	0,0,		"FLDZ",			/* 0x36 */
+	0,0,		"",			/* 0x37 */
+	0,0,		"F2XM1",		/* 0x38 */
+	0,0,		"FYL2X",		/* 0x39 */
+	0,0,		"FPTAN",		/* 0x3a */
+	0,0,		"FPATAN",		/* 0x3b */
+	0,0,		"FXTRACT",		/* 0x3c */
+	0,0,		"FPREM1",		/* 0x3d */
+	0,0,		"FDECSTP",		/* 0x3e */
+	0,0,		"FNCSTP",		/* 0x3f */
+	0,0,		"FPREM",		/* 0x40 */
+	0,0,		"FYL2XP1",		/* 0x41 */
+	0,0,		"FSQRT",		/* 0x42 */
+	0,0,		"FSINCOS",		/* 0x43 */
+	0,0,		"FRNDINT",		/* 0x44 */
+	0,0,		"FSCALE",		/* 0x45 */
+	0,0,		"FSIN",			/* 0x46 */
+	0,0,		"FCOS",			/* 0x47 */
 };
 
 static Optable optabDA[8+8] =
 {
-[0x00]	0,0,		"FADDL	%e,F0",
-[0x01]	0,0,		"FMULL	%e,F0",
-[0x02]	0,0,		"FCOML	%e,F0",
-[0x03]	0,0,		"FCOMLP	%e,F0",
-[0x04]	0,0,		"FSUBL	%e,F0",
-[0x05]	0,0,		"FSUBRL	%e,F0",
-[0x06]	0,0,		"FDIVL	%e,F0",
-[0x07]	0,0,		"FDIVRL	%e,F0",
-[0x0d]	R1,0,		"FUCOMPP",
+	0,0,		"FADDL	%e,F0",		/* 0x00 */
+	0,0,		"FMULL	%e,F0",		/* 0x01 */
+	0,0,		"FCOML	%e,F0",		/* 0x02 */
+	0,0,		"FCOMLP	%e,F0",		/* 0x03 */
+	0,0,		"FSUBL	%e,F0",		/* 0x04 */
+	0,0,		"FSUBRL	%e,F0",		/* 0x05 */
+	0,0,		"FDIVL	%e,F0",		/* 0x06 */
+	0,0,		"FDIVRL	%e,F0",		/* 0x07 */
+	0,0,		"",			/* 0x08 */
+	0,0,		"",			/* 0x09 */
+	0,0,		"",			/* 0x0a */
+	0,0,		"",			/* 0x0b */
+	0,0,		"",			/* 0x0c */
+	R1,0,		"FUCOMPP",		/* 0x0d */
 };
 
 static Optable optabDB[8+64] =
 {
-[0x00]	0,0,		"FMOVL	%e,F0",
-[0x02]	0,0,		"FMOVL	F0,%e",
-[0x03]	0,0,		"FMOVLP	F0,%e",
-[0x05]	0,0,		"FMOVX	%e,F0",
-[0x07]	0,0,		"FMOVXP	F0,%e",
-[0x2a]	0,0,		"FCLEX",
-[0x2b]	0,0,		"FINIT",
+	0,0,		"FMOVL	%e,F0",		/* 0x00 */
+	0,0,		"",			/* 0x01 */
+	0,0,		"FMOVL	F0,%e",		/* 0x02 */
+	0,0,		"FMOVLP	F0,%e",		/* 0x03 */
+	0,0,		"",			/* 0x04 */
+	0,0,		"FMOVX	%e,F0",		/* 0x05 */
+	0,0,		"",			/* 0x06 */
+	0,0,		"FMOVXP	F0,%e",		/* 0x07 */
+	0,0,		"",			/* 0x08 */
+	0,0,		"",			/* 0x09 */
+	0,0,		"",			/* 0x0a */
+	0,0,		"",			/* 0x0b */
+	0,0,		"",			/* 0x0c */
+	0,0,		"",			/* 0x0d */
+	0,0,		"",			/* 0x0e */
+	0,0,		"",			/* 0x0f */
+	0,0,		"",			/* 0x10 */
+	0,0,		"",			/* 0x11 */
+	0,0,		"",			/* 0x12 */
+	0,0,		"",			/* 0x13 */
+	0,0,		"",			/* 0x14 */
+	0,0,		"",			/* 0x15 */
+	0,0,		"",			/* 0x16 */
+	0,0,		"",			/* 0x17 */
+	0,0,		"",			/* 0x18 */
+	0,0,		"",			/* 0x19 */
+	0,0,		"",			/* 0x1a */
+	0,0,		"",			/* 0x1b */
+	0,0,		"",			/* 0x1c */
+	0,0,		"",			/* 0x1d */
+	0,0,		"",			/* 0x1e */
+	0,0,		"",			/* 0x1f */
+	0,0,		"",			/* 0x20 */
+	0,0,		"",			/* 0x21 */
+	0,0,		"",			/* 0x22 */
+	0,0,		"",			/* 0x23 */
+	0,0,		"",			/* 0x24 */
+	0,0,		"",			/* 0x25 */
+	0,0,		"",			/* 0x26 */
+	0,0,		"",			/* 0x27 */
+	0,0,		"",			/* 0x28 */
+	0,0,		"",			/* 0x29 */
+	0,0,		"FCLEX",		/* 0x2a */
+	0,0,		"FINIT",		/* 0x2b */
 };
 
 static Optable optabDC[8+8] =
 {
-[0x00]	0,0,		"FADDD	%e,F0",
-[0x01]	0,0,		"FMULD	%e,F0",
-[0x02]	0,0,		"FCOMD	%e,F0",
-[0x03]	0,0,		"FCOMDP	%e,F0",
-[0x04]	0,0,		"FSUBD	%e,F0",
-[0x05]	0,0,		"FSUBRD	%e,F0",
-[0x06]	0,0,		"FDIVD	%e,F0",
-[0x07]	0,0,		"FDIVRD	%e,F0",
-[0x08]	0,0,		"FADDD	F0,%f",
-[0x09]	0,0,		"FMULD	F0,%f",
-[0x0c]	0,0,		"FSUBRD	F0,%f",
-[0x0d]	0,0,		"FSUBD	F0,%f",
-[0x0e]	0,0,		"FDIVRD	F0,%f",
-[0x0f]	0,0,		"FDIVD	F0,%f",
+	0,0,		"FADDD	%e,F0",		/* 0x00 */
+	0,0,		"FMULD	%e,F0",		/* 0x01 */
+	0,0,		"FCOMD	%e,F0",		/* 0x02 */
+	0,0,		"FCOMDP	%e,F0",		/* 0x03 */
+	0,0,		"FSUBD	%e,F0",		/* 0x04 */
+	0,0,		"FSUBRD	%e,F0",		/* 0x05 */
+	0,0,		"FDIVD	%e,F0",		/* 0x06 */
+	0,0,		"FDIVRD	%e,F0",		/* 0x07 */
+	0,0,		"FADDD	F0,%f",		/* 0x08 */
+	0,0,		"FMULD	F0,%f",		/* 0x09 */
+	0,0,		"",			/* 0x0a */
+	0,0,		"",			/* 0x0b */
+	0,0,		"FSUBRD	F0,%f",		/* 0x0c */
+	0,0,		"FSUBD	F0,%f",		/* 0x0d */
+	0,0,		"FDIVRD	F0,%f",		/* 0x0e */
+	0,0,		"FDIVD	F0,%f",		/* 0x0f */
 };
 
 static Optable optabDD[8+8] =
 {
-[0x00]	0,0,		"FMOVD	%e,F0",
-[0x02]	0,0,		"FMOVD	F0,%e",
-[0x03]	0,0,		"FMOVDP	F0,%e",
-[0x04]	0,0,		"FRSTOR%S %e",
-[0x06]	0,0,		"FSAVE%S %e",
-[0x07]	0,0,		"FSTSW	%e",
-[0x08]	0,0,		"FFREED	%f",
-[0x0a]	0,0,		"FMOVD	%f,F0",
-[0x0b]	0,0,		"FMOVDP	%f,F0",
-[0x0c]	0,0,		"FUCOMD	%f,F0",
-[0x0d]	0,0,		"FUCOMDP %f,F0",
+	0,0,		"FMOVD	%e,F0",		/* 0x00 */
+	0,0,		"",			/* 0x01 */
+	0,0,		"FMOVD	F0,%e",		/* 0x02 */
+	0,0,		"FMOVDP	F0,%e",		/* 0x03 */
+	0,0,		"FRSTOR%S %e",		/* 0x04 */
+	0,0,		"",			/* 0x05 */
+	0,0,		"FSAVE%S %e",		/* 0x06 */
+	0,0,		"FSTSW	%e",		/* 0x07 */
+	0,0,		"FFREED	%f",		/* 0x08 */
+	0,0,		"",			/* 0x09 */
+	0,0,		"FMOVD	%f,F0",		/* 0x0a */
+	0,0,		"FMOVDP	%f,F0",		/* 0x0b */
+	0,0,		"FUCOMD	%f,F0",		/* 0x0c */
+	0,0,		"FUCOMDP %f,F0",	/* 0x0d */
 };
 
 static Optable optabDE[8+8] =
 {
-[0x00]	0,0,		"FADDW	%e,F0",
-[0x01]	0,0,		"FMULW	%e,F0",
-[0x02]	0,0,		"FCOMW	%e,F0",
-[0x03]	0,0,		"FCOMWP	%e,F0",
-[0x04]	0,0,		"FSUBW	%e,F0",
-[0x05]	0,0,		"FSUBRW	%e,F0",
-[0x06]	0,0,		"FDIVW	%e,F0",
-[0x07]	0,0,		"FDIVRW	%e,F0",
-[0x08]	0,0,		"FADDDP	F0,%f",
-[0x09]	0,0,		"FMULDP	F0,%f",
-[0x0b]	R1,0,		"FCOMPDP",
-[0x0c]	0,0,		"FSUBRDP F0,%f",
-[0x0d]	0,0,		"FSUBDP	F0,%f",
-[0x0e]	0,0,		"FDIVRDP F0,%f",
-[0x0f]	0,0,		"FDIVDP	F0,%f",
+	0,0,		"FADDW	%e,F0",		/* 0x00 */
+	0,0,		"FMULW	%e,F0",		/* 0x01 */
+	0,0,		"FCOMW	%e,F0",		/* 0x02 */
+	0,0,		"FCOMWP	%e,F0",		/* 0x03 */
+	0,0,		"FSUBW	%e,F0",		/* 0x04 */
+	0,0,		"FSUBRW	%e,F0",		/* 0x05 */
+	0,0,		"FDIVW	%e,F0",		/* 0x06 */
+	0,0,		"FDIVRW	%e,F0",		/* 0x07 */
+	0,0,		"FADDDP	F0,%f",		/* 0x08 */
+	0,0,		"FMULDP	F0,%f",		/* 0x09 */
+	0,0,		"",			/* 0x0a */
+	R1,0,		"FCOMPDP",		/* 0x0b */
+	0,0,		"FSUBRDP F0,%f",	/* 0x0c */
+	0,0,		"FSUBDP	F0,%f",		/* 0x0d */
+	0,0,		"FDIVRDP F0,%f",	/* 0x0e */
+	0,0,		"FDIVDP	F0,%f",		/* 0x0f */
 };
 
 static Optable optabDF[8+8] =
 {
-[0x00]	0,0,		"FMOVW	%e,F0",
-[0x02]	0,0,		"FMOVW	F0,%e",
-[0x03]	0,0,		"FMOVWP	F0,%e",
-[0x04]	0,0,		"FBLD	%e",
-[0x05]	0,0,		"FMOVL	%e,F0",
-[0x06]	0,0,		"FBSTP	%e",
-[0x07]	0,0,		"FMOVLP	F0,%e",
-[0x0c]	R0,0,		"FSTSW	%OAX",
+	0,0,		"FMOVW	%e,F0",		/* 0x00 */
+	0,0,		"",			/* 0x01 */
+	0,0,		"FMOVW	F0,%e",		/* 0x02 */
+	0,0,		"FMOVWP	F0,%e",		/* 0x03 */
+	0,0,		"FBLD	%e",		/* 0x04 */
+	0,0,		"FMOVL	%e,F0",		/* 0x05 */
+	0,0,		"FBSTP	%e",		/* 0x06 */
+	0,0,		"FMOVLP	F0,%e",		/* 0x07 */
+	0,0,		"",			/* 0x08 */
+	0,0,		"",			/* 0x09 */
+	0,0,		"",			/* 0x0a */
+	0,0,		"",			/* 0x0b */
+	R0,0,		"FSTSW	%OAX",		/* 0x0c */
 };
 
 static Optable optabF6[8] =
 {
-[0x00]	Ib,0,		"TESTB	%i,%e",
-[0x02]	0,0,		"NOTB	%e",
-[0x03]	0,0,		"NEGB	%e",
-[0x04]	0,0,		"MULB	AL,%e",
-[0x05]	0,0,		"IMULB	AL,%e",
-[0x06]	0,0,		"DIVB	AL,%e",
-[0x07]	0,0,		"IDIVB	AL,%e",
+	Ib,0,		"TESTB	%i,%e",		/* 0x00 */
+	0,0,		"",			/* 0x01 */
+	0,0,		"NOTB	%e",		/* 0x02 */
+	0,0,		"NEGB	%e",		/* 0x03 */
+	0,0,		"MULB	AL,%e",		/* 0x04 */
+	0,0,		"IMULB	AL,%e",		/* 0x05 */
+	0,0,		"DIVB	AL,%e",		/* 0x06 */
+	0,0,		"IDIVB	AL,%e",		/* 0x07 */
 };
 
 static Optable optabF7[8] =
 {
-[0x00]	Iwd,0,		"TEST%S	%i,%e",
-[0x02]	0,0,		"NOT%S	%e",
-[0x03]	0,0,		"NEG%S	%e",
-[0x04]	0,0,		"MUL%S	%OAX,%e",
-[0x05]	0,0,		"IMUL%S	%OAX,%e",
-[0x06]	0,0,		"DIV%S	%OAX,%e",
-[0x07]	0,0,		"IDIV%S	%OAX,%e",
+	Iwd,0,		"TEST%S	%i,%e",		/* 0x00 */
+	0,0,		"",			/* 0x01 */
+	0,0,		"NOT%S	%e",		/* 0x02 */
+	0,0,		"NEG%S	%e",		/* 0x03 */
+	0,0,		"MUL%S	%OAX,%e",	/* 0x04 */
+	0,0,		"IMUL%S	%OAX,%e",	/* 0x05 */
+	0,0,		"DIV%S	%OAX,%e",	/* 0x06 */
+	0,0,		"IDIV%S	%OAX,%e",	/* 0x07 */
 };
 
 static Optable optabFE[8] =
 {
-[0x00]	0,0,		"INCB	%e",
-[0x01]	0,0,		"DECB	%e",
+	0,0,		"INCB	%e",		/* 0x00 */
+	0,0,		"DECB	%e",		/* 0x01 */
 };
 
 static Optable optabFF[8] =
 {
-[0x00]	0,0,		"INC%S	%e",
-[0x01]	0,0,		"DEC%S	%e",
-[0x02]	JUMP,0,		"CALL*	%e",
-[0x03]	JUMP,0,		"CALLF*	%e",
-[0x04]	JUMP,0,		"JMP*	%e",
-[0x05]	JUMP,0,		"JMPF*	%e",
-[0x06]	0,0,		"PUSHL	%e",
+	0,0,		"INC%S	%e",		/* 0x00 */
+	0,0,		"DEC%S	%e",		/* 0x01 */
+	JUMP,0,		"CALL*%S %e",		/* 0x02 */
+	JUMP,0,		"CALLF*%S %e",		/* 0x03 */
+	JUMP,0,		"JMP*%S	%e",		/* 0x04 */
+	JUMP,0,		"JMPF*%S %e",		/* 0x05 */
+	0,0,		"PUSHL	%e",		/* 0x06 */
 };
 
 static Optable optable[256] =
 {
-[0x00]	RMB,0,		"ADDB	%r,%e",
-[0x01]	RM,0,		"ADD%S	%r,%e",
-[0x02]	RMB,0,		"ADDB	%e,%r",
-[0x03]	RM,0,		"ADD%S	%e,%r",
-[0x04]	Ib,0,		"ADDB	%i,AL",
-[0x05]	Iwd,0,		"ADD%S	%i,%OAX",
-[0x06]	0,0,		"PUSHL	ES",
-[0x07]	0,0,		"POPL	ES",
-[0x08]	RMB,0,		"ORB	%r,%e",
-[0x09]	RM,0,		"OR%S	%r,%e",
-[0x0a]	RMB,0,		"ORB	%e,%r",
-[0x0b]	RM,0,		"OR%S	%e,%r",
-[0x0c]	Ib,0,		"ORB	%i,AL",
-[0x0d]	Iwd,0,		"OR%S	%i,%OAX",
-[0x0e]	0,0,		"PUSHL	CS",
-[0x0f]	AUX,0,		optab0F,
-[0x10]	RMB,0,		"ADCB	%r,%e",
-[0x11]	RM,0,		"ADC%S	%r,%e",
-[0x12]	RMB,0,		"ADCB	%e,%r",
-[0x13]	RM,0,		"ADC%S	%e,%r",
-[0x14]	Ib,0,		"ADCB	%i,AL",
-[0x15]	Iwd,0,		"ADC%S	%i,%OAX",
-[0x16]	0,0,		"PUSHL	SS",
-[0x17]	0,0,		"POPL	SS",
-[0x18]	RMB,0,		"SBBB	%r,%e",
-[0x19]	RM,0,		"SBB%S	%r,%e",
-[0x1a]	RMB,0,		"SBBB	%e,%r",
-[0x1b]	RM,0,		"SBB%S	%e,%r",
-[0x1c]	Ib,0,		"SBBB	%i,AL",
-[0x1d]	Iwd,0,		"SBB%S	%i,%OAX",
-[0x1e]	0,0,		"PUSHL	DS",
-[0x1f]	0,0,		"POPL	DS",
-[0x20]	RMB,0,		"ANDB	%r,%e",
-[0x21]	RM,0,		"AND%S	%r,%e",
-[0x22]	RMB,0,		"ANDB	%e,%r",
-[0x23]	RM,0,		"AND%S	%e,%r",
-[0x24]	Ib,0,		"ANDB	%i,AL",
-[0x25]	Iwd,0,		"AND%S	%i,%OAX",
-[0x26]	SEG,0,		"ES:",
-[0x27]	0,0,		"DAA",
-[0x28]	RMB,0,		"SUBB	%r,%e",
-[0x29]	RM,0,		"SUB%S	%r,%e",
-[0x2a]	RMB,0,		"SUBB	%e,%r",
-[0x2b]	RM,0,		"SUB%S	%e,%r",
-[0x2c]	Ib,0,		"SUBB	%i,AL",
-[0x2d]	Iwd,0,		"SUB%S	%i,%OAX",
-[0x2e]	SEG,0,		"CS:",
-[0x2f]	0,0,		"DAS",
-[0x30]	RMB,0,		"XORB	%r,%e",
-[0x31]	RM,0,		"XOR%S	%r,%e",
-[0x32]	RMB,0,		"XORB	%e,%r",
-[0x33]	RM,0,		"XOR%S	%e,%r",
-[0x34]	Ib,0,		"XORB	%i,AL",
-[0x35]	Iwd,0,		"XOR%S	%i,%OAX",
-[0x36]	SEG,0,		"SS:",
-[0x37]	0,0,		"AAA",
-[0x38]	RMB,0,		"CMPB	%r,%e",
-[0x39]	RM,0,		"CMP%S	%r,%e",
-[0x3a]	RMB,0,		"CMPB	%e,%r",
-[0x3b]	RM,0,		"CMP%S	%e,%r",
-[0x3c]	Ib,0,		"CMPB	%i,AL",
-[0x3d]	Iwd,0,		"CMP%S	%i,%OAX",
-[0x3e]	SEG,0,		"DS:",
-[0x3f]	0,0,		"AAS",
-[0x40]	0,0,		"INC%S	%OAX",
-[0x41]	0,0,		"INC%S	%OCX",
-[0x42]	0,0,		"INC%S	%ODX",
-[0x43]	0,0,		"INC%S	%OBX",
-[0x44]	0,0,		"INC%S	%OSP",
-[0x45]	0,0,		"INC%S	%OBP",
-[0x46]	0,0,		"INC%S	%OSI",
-[0x47]	0,0,		"INC%S	%ODI",
-[0x48]	0,0,		"DEC%S	%OAX",
-[0x49]	0,0,		"DEC%S	%OCX",
-[0x4a]	0,0,		"DEC%S	%ODX",
-[0x4b]	0,0,		"DEC%S	%OBX",
-[0x4c]	0,0,		"DEC%S	%OSP",
-[0x4d]	0,0,		"DEC%S	%OBP",
-[0x4e]	0,0,		"DEC%S	%OSI",
-[0x4f]	0,0,		"DEC%S	%ODI",
-[0x50]	0,0,		"PUSH%S	%OAX",
-[0x51]	0,0,		"PUSH%S	%OCX",
-[0x52]	0,0,		"PUSH%S	%ODX",
-[0x53]	0,0,		"PUSH%S	%OBX",
-[0x54]	0,0,		"PUSH%S	%OSP",
-[0x55]	0,0,		"PUSH%S	%OBP",
-[0x56]	0,0,		"PUSH%S	%OSI",
-[0x57]	0,0,		"PUSH%S	%ODI",
-[0x58]	0,0,		"POP%S	%OAX",
-[0x59]	0,0,		"POP%S	%OCX",
-[0x5a]	0,0,		"POP%S	%ODX",
-[0x5b]	0,0,		"POP%S	%OBX",
-[0x5c]	0,0,		"POP%S	%OSP",
-[0x5d]	0,0,		"POP%S	%OBP",
-[0x5e]	0,0,		"POP%S	%OSI",
-[0x5f]	0,0,		"POP%S	%ODI",
-[0x60]	0,0,		"PUSHA%S",
-[0x61]	0,0,		"POPA%S",
-[0x62]	RMM,0,		"BOUND	%e,%r",
-[0x63]	RM,0,		"ARPL	%r,%e",
-[0x64]	SEG,0,		"FS:",
-[0x65]	SEG,0,		"GS:",
-[0x66]	OPOVER,0,	"",
-[0x67]	ADDOVER,0,	"",
-[0x68]	Iwd,0,		"PUSH%S	%i",
-[0x69]	RM,Iwd,		"IMUL%S	%e,%i,%r",
-[0x6a]	Ib,0,		"PUSH%S	%i",
-[0x6b]	RM,Ibs,		"IMUL%S	%e,%i,%r",
-[0x6c]	0,0,		"INSB	DX,(%ODI)",
-[0x6d]	0,0,		"INS%S	DX,(%ODI)",
-[0x6e]	0,0,		"OUTSB	(%ASI),DX",
-[0x6f]	0,0,		"OUTS%S	(%ASI),DX",
-[0x70]	Jbs,0,		"JOS	%p",
-[0x71]	Jbs,0,		"JOC	%p",
-[0x72]	Jbs,0,		"JCS	%p",
-[0x73]	Jbs,0,		"JCC	%p",
-[0x74]	Jbs,0,		"JEQ	%p",
-[0x75]	Jbs,0,		"JNE	%p",
-[0x76]	Jbs,0,		"JLS	%p",
-[0x77]	Jbs,0,		"JHI	%p",
-[0x78]	Jbs,0,		"JMI	%p",
-[0x79]	Jbs,0,		"JPL	%p",
-[0x7a]	Jbs,0,		"JPS	%p",
-[0x7b]	Jbs,0,		"JPC	%p",
-[0x7c]	Jbs,0,		"JLT	%p",
-[0x7d]	Jbs,0,		"JGE	%p",
-[0x7e]	Jbs,0,		"JLE	%p",
-[0x7f]	Jbs,0,		"JGT	%p",
-[0x80]	RMOPB,0,	optab80,
-[0x81]	RMOP,0,		optab81,
-[0x83]	RMOP,0,		optab83,
-[0x84]	RMB,0,		"TESTB	%r,%e",
-[0x85]	RM,0,		"TEST%S	%r,%e",
-[0x86]	RMB,0,		"XCHGB	%r,%e",
-[0x87]	RM,0,		"XCHG%S	%r,%e",
-[0x88]	RMB,0,		"MOVB	%r,%e",
-[0x89]	RM,0,		"MOV%S	%r,%e",
-[0x8a]	RMB,0,		"MOVB	%e,%r",
-[0x8b]	RM,0,		"MOV%S	%e,%r",
-[0x8c]	RM,0,		"MOVW	%g,%e",
-[0x8d]	RM,0,		"LEA	%e,%r",
-[0x8e]	RM,0,		"MOVW	%e,%g",
-[0x8f]	RM,0,		"POP%S	%e",
-[0x90]	0,0,		"NOP",
-[0x91]	0,0,		"XCHG	%OCX,%OAX",
-[0x92]	0,0,		"XCHG	%ODX,%OAX",
-[0x93]	0,0,		"XCHG	%OBX,%OAX",
-[0x94]	0,0,		"XCHG	%OSP,%OAX",
-[0x95]	0,0,		"XCHG	%OBP,%OAX",
-[0x96]	0,0,		"XCHG	%OSI,%OAX",
-[0x97]	0,0,		"XCHG	%ODI,%OAX",
-[0x98]	0,0,		"%X",			/* miserable CBW or CWDE */
-[0x99]	0,0,		"%x",			/* idiotic CWD or CDQ */
-[0x9a]	PTR,0,		"CALL%S	%d",
-[0x9b]	0,0,		"WAIT",
-[0x9c]	0,0,		"PUSHF",
-[0x9d]	0,0,		"POPF",
-[0x9e]	0,0,		"SAHF",
-[0x9f]	0,0,		"LAHF",
-[0xa0]	Awd,0,		"MOVB	%i,AL",
-[0xa1]	Awd,0,		"MOV%S	%i,%OAX",
-[0xa2]	Awd,0,		"MOVB	AL,%i",
-[0xa3]	Awd,0,		"MOV%S	%OAX,%i",
-[0xa4]	0,0,		"MOVSB	(%ASI),(%ADI)",
-[0xa5]	0,0,		"MOVS%S	(%ASI),(%ADI)",
-[0xa6]	0,0,		"CMPSB	(%ASI),(%ADI)",
-[0xa7]	0,0,		"CMPS%S	(%ASI),(%ADI)",
-[0xa8]	Ib,0,		"TESTB	%i,AL",
-[0xa9]	Iwd,0,		"TEST%S	%i,%OAX",
-[0xaa]	0,0,		"STOSB	AL,(%ADI)",
-[0xab]	0,0,		"STOS%S	%OAX,(%ADI)",
-[0xac]	0,0,		"LODSB	(%ASI),AL",
-[0xad]	0,0,		"LODS%S	(%ASI),%OAX",
-[0xae]	0,0,		"SCASB	(%ADI),AL",
-[0xaf]	0,0,		"SCAS%S	(%ADI),%OAX",
-[0xb0]	Ib,0,		"MOVB	%i,AL",
-[0xb1]	Ib,0,		"MOVB	%i,CL",
-[0xb2]	Ib,0,		"MOVB	%i,DL",
-[0xb3]	Ib,0,		"MOVB	%i,BL",
-[0xb4]	Ib,0,		"MOVB	%i,AH",
-[0xb5]	Ib,0,		"MOVB	%i,CH",
-[0xb6]	Ib,0,		"MOVB	%i,DH",
-[0xb7]	Ib,0,		"MOVB	%i,BH",
-[0xb8]	Iwd,0,		"MOV%S	%i,%OAX",
-[0xb9]	Iwd,0,		"MOV%S	%i,%OCX",
-[0xba]	Iwd,0,		"MOV%S	%i,%ODX",
-[0xbb]	Iwd,0,		"MOV%S	%i,%OBX",
-[0xbc]	Iwd,0,		"MOV%S	%i,%OSP",
-[0xbd]	Iwd,0,		"MOV%S	%i,%OBP",
-[0xbe]	Iwd,0,		"MOV%S	%i,%OSI",
-[0xbf]	Iwd,0,		"MOV%S	%i,%ODI",
-[0xc0]	RMOPB,0,	optabC0,
-[0xc1]	RMOP,0,		optabC1,
-[0xc2]	Iw,0,		"RET	%i",
-[0xc3]	RET,0,		"RET",
-[0xc4]	RM,0,		"LES	%e,%r",
-[0xc5]	RM,0,		"LDS	%e,%r",
-[0xc6]	RMB,Ib,		"MOVB	%i,%e",
-[0xc7]	RM,Iwd,		"MOV%S	%i,%e",
-[0xc8]	Iw2,Ib,		"ENTER	%i,%I",		/* loony ENTER */
-[0xc9]	RET,0,		"LEAVE",		/* bizarre LEAVE */
-[0xca]	Iw,0,		"RETF	%i",
-[0xcb]	RET,0,		"RETF",
-[0xcc]	0,0,		"INT	3",
-[0xcd]	Ib,0,		"INTB	%i",
-[0xce]	0,0,		"INTO",
-[0xcf]	0,0,		"IRET",
-[0xd0]	RMOPB,0,	optabD0,
-[0xd1]	RMOP,0,		optabD1,
-[0xd2]	RMOPB,0,	optabD2,
-[0xd3]	RMOP,0,		optabD3,
-[0xd4]	OA,0,		"AAM",
-[0xd5]	OA,0,		"AAD",
-[0xd7]	0,0,		"XLAT",
-[0xd8]	FRMOP,0,	optabD8,
-[0xd9]	FRMEX,0,	optabD9,
-[0xda]	FRMOP,0,	optabDA,
-[0xdb]	FRMEX,0,	optabDB,
-[0xdc]	FRMOP,0,	optabDC,
-[0xdd]	FRMOP,0,	optabDD,
-[0xde]	FRMOP,0,	optabDE,
-[0xdf]	FRMOP,0,	optabDF,
-[0xe0]	Jbs,0,		"LOOPNE	%p",
-[0xe1]	Jbs,0,		"LOOPE	%p",
-[0xe2]	Jbs,0,		"LOOP	%p",
-[0xe3]	Jbs,0,		"JCXZ	%p",
-[0xe4]	Ib,0,		"INB	%i,AL",
-[0xe5]	Ib,0,		"IN%S	%i,%OAX",
-[0xe6]	Ib,0,		"OUTB	AL,%i",
-[0xe7]	Ib,0,		"OUT%S	%OAX,%i",
-[0xe8]	Iwds,0,		"CALL	%p",
-[0xe9]	Iwds,0,		"JMP	%p",
-[0xea]	PTR,0,		"JMP	%d",
-[0xeb]	Jbs,0,		"JMP	%p",
-[0xec]	0,0,		"INB	DX,AL",
-[0xed]	0,0,		"IN%S	DX,%OAX",
-[0xee]	0,0,		"OUTB	AL,DX",
-[0xef]	0,0,		"OUT%S	%OAX,DX",
-[0xf0]	PRE,0,		"LOCK",
-[0xf2]	PRE,0,		"REPNE",
-[0xf3]	PRE,0,		"REP",
-[0xf4]	0,0,		"HALT",
-[0xf5]	0,0,		"CMC",
-[0xf6]	RMOPB,0,	optabF6,
-[0xf7]	RMOP,0,		optabF7,
-[0xf8]	0,0,		"CLC",
-[0xf9]	0,0,		"STC",
-[0xfa]	0,0,		"CLI",
-[0xfb]	0,0,		"STI",
-[0xfc]	0,0,		"CLD",
-[0xfd]	0,0,		"STD",
-[0xfe]	RMOPB,0,	optabFE,
-[0xff]	RMOP,0,		optabFF,
+	RMB,0,		"ADDB	%r,%e",		/* 0x00 */
+	RM,0,		"ADD%S	%r,%e",		/* 0x01 */
+	RMB,0,		"ADDB	%e,%r",		/* 0x02 */
+	RM,0,		"ADD%S	%e,%r",		/* 0x03 */
+	Ib,0,		"ADDB	%i,AL",		/* 0x04 */
+	Iwd,0,		"ADD%S	%i,%OAX",	/* 0x05 */
+	0,0,		"PUSHL	ES",		/* 0x06 */
+	0,0,		"POPL	ES",		/* 0x07 */
+	RMB,0,		"ORB	%r,%e",		/* 0x08 */
+	RM,0,		"OR%S	%r,%e",		/* 0x09 */
+	RMB,0,		"ORB	%e,%r",		/* 0x0a */
+	RM,0,		"OR%S	%e,%r",		/* 0x0b */
+	Ib,0,		"ORB	%i,AL",		/* 0x0c */
+	Iwd,0,		"OR%S	%i,%OAX",	/* 0x0d */
+	0,0,		"PUSHL	CS",		/* 0x0e */
+	AUX,0,		optab0F,		/* 0x0f */
+	RMB,0,		"ADCB	%r,%e",		/* 0x10 */
+	RM,0,		"ADC%S	%r,%e",		/* 0x11 */
+	RMB,0,		"ADCB	%e,%r",		/* 0x12 */
+	RM,0,		"ADC%S	%e,%r",		/* 0x13 */
+	Ib,0,		"ADCB	%i,AL",		/* 0x14 */
+	Iwd,0,		"ADC%S	%i,%OAX",	/* 0x15 */
+	0,0,		"PUSHL	SS",		/* 0x16 */
+	0,0,		"POPL	SS",		/* 0x17 */
+	RMB,0,		"SBBB	%r,%e",		/* 0x18 */
+	RM,0,		"SBB%S	%r,%e",		/* 0x19 */
+	RMB,0,		"SBBB	%e,%r",		/* 0x1a */
+	RM,0,		"SBB%S	%e,%r",		/* 0x1b */
+	Ib,0,		"SBBB	%i,AL",		/* 0x1c */
+	Iwd,0,		"SBB%S	%i,%OAX",	/* 0x1d */
+	0,0,		"PUSHL	DS",		/* 0x1e */
+	0,0,		"POPL	DS",		/* 0x1f */
+	RMB,0,		"ANDB	%r,%e",		/* 0x20 */
+	RM,0,		"AND%S	%r,%e",		/* 0x21 */
+	RMB,0,		"ANDB	%e,%r",		/* 0x22 */
+	RM,0,		"AND%S	%e,%r",		/* 0x23 */
+	Ib,0,		"ANDB	%i,AL",		/* 0x24 */
+	Iwd,0,		"AND%S	%i,%OAX",	/* 0x25 */
+	SEG,0,		"ES:",			/* 0x26 */
+	0,0,		"DAA",			/* 0x27 */
+	RMB,0,		"SUBB	%r,%e",		/* 0x28 */
+	RM,0,		"SUB%S	%r,%e",		/* 0x29 */
+	RMB,0,		"SUBB	%e,%r",		/* 0x2a */
+	RM,0,		"SUB%S	%e,%r",		/* 0x2b */
+	Ib,0,		"SUBB	%i,AL",		/* 0x2c */
+	Iwd,0,		"SUB%S	%i,%OAX",	/* 0x2d */
+	SEG,0,		"CS:",			/* 0x2e */
+	0,0,		"DAS",			/* 0x2f */
+	RMB,0,		"XORB	%r,%e",		/* 0x30 */
+	RM,0,		"XOR%S	%r,%e",		/* 0x31 */
+	RMB,0,		"XORB	%e,%r",		/* 0x32 */
+	RM,0,		"XOR%S	%e,%r",		/* 0x33 */
+	Ib,0,		"XORB	%i,AL",		/* 0x34 */
+	Iwd,0,		"XOR%S	%i,%OAX",	/* 0x35 */
+	SEG,0,		"SS:",			/* 0x36 */
+	0,0,		"AAA",			/* 0x37 */
+	RMB,0,		"CMPB	%r,%e",		/* 0x38 */
+	RM,0,		"CMP%S	%r,%e",		/* 0x39 */
+	RMB,0,		"CMPB	%e,%r",		/* 0x3a */
+	RM,0,		"CMP%S	%e,%r",		/* 0x3b */
+	Ib,0,		"CMPB	%i,AL",		/* 0x3c */
+	Iwd,0,		"CMP%S	%i,%OAX",	/* 0x3d */
+	SEG,0,		"DS:",			/* 0x3e */
+	0,0,		"AAS",			/* 0x3f */
+	0,0,		"INC%S	%OAX",		/* 0x40 */
+	0,0,		"INC%S	%OCX",		/* 0x41 */
+	0,0,		"INC%S	%ODX",		/* 0x42 */
+	0,0,		"INC%S	%OBX",		/* 0x43 */
+	0,0,		"INC%S	%OSP",		/* 0x44 */
+	0,0,		"INC%S	%OBP",		/* 0x45 */
+	0,0,		"INC%S	%OSI",		/* 0x46 */
+	0,0,		"INC%S	%ODI",		/* 0x47 */
+	0,0,		"DEC%S	%OAX",		/* 0x48 */
+	0,0,		"DEC%S	%OCX",		/* 0x49 */
+	0,0,		"DEC%S	%ODX",		/* 0x4a */
+	0,0,		"DEC%S	%OBX",		/* 0x4b */
+	0,0,		"DEC%S	%OSP",		/* 0x4c */
+	0,0,		"DEC%S	%OBP",		/* 0x4d */
+	0,0,		"DEC%S	%OSI",		/* 0x4e */
+	0,0,		"DEC%S	%ODI",		/* 0x4f */
+	0,0,		"PUSH%S	%OAX",		/* 0x50 */
+	0,0,		"PUSH%S	%OCX",		/* 0x51 */
+	0,0,		"PUSH%S	%ODX",		/* 0x52 */
+	0,0,		"PUSH%S	%OBX",		/* 0x53 */
+	0,0,		"PUSH%S	%OSP",		/* 0x54 */
+	0,0,		"PUSH%S	%OBP",		/* 0x55 */
+	0,0,		"PUSH%S	%OSI",		/* 0x56 */
+	0,0,		"PUSH%S	%ODI",		/* 0x57 */
+	0,0,		"POP%S	%OAX",		/* 0x58 */
+	0,0,		"POP%S	%OCX",		/* 0x59 */
+	0,0,		"POP%S	%ODX",		/* 0x5a */
+	0,0,		"POP%S	%OBX",		/* 0x5b */
+	0,0,		"POP%S	%OSP",		/* 0x5c */
+	0,0,		"POP%S	%OBP",		/* 0x5d */
+	0,0,		"POP%S	%OSI",		/* 0x5e */
+	0,0,		"POP%S	%ODI",		/* 0x5f */
+	0,0,		"PUSHA%S",		/* 0x60 */
+	0,0,		"POPA%S",		/* 0x61 */
+	RMM,0,		"BOUND	%e,%r",		/* 0x62 */
+	RM,0,		"ARPL	%r,%e",		/* 0x63 */
+	SEG,0,		"FS:",			/* 0x64 */
+	SEG,0,		"GS:",			/* 0x65 */
+	OPOVER,0,	"",			/* 0x66 */
+	ADDOVER,0,	"",			/* 0x67 */
+	Iwd,0,		"PUSH%S	%i",		/* 0x68 */
+	RM,Iwd,		"IMUL%S	%e,%i,%r",	/* 0x69 */
+	Ib,0,		"PUSH%S	%i",		/* 0x6a */
+	RM,Ibs,		"IMUL%S	%e,%i,%r",	/* 0x6b */
+	0,0,		"INSB	DX,(%ODI)",	/* 0x6c */
+	0,0,		"INS%S	DX,(%ODI)",	/* 0x6d */
+	0,0,		"OUTSB	(%ASI),DX",	/* 0x6e */
+	0,0,		"OUTS%S	(%ASI),DX",	/* 0x6f */
+	Jbs,0,		"JOS	%p",		/* 0x70 */
+	Jbs,0,		"JOC	%p",		/* 0x71 */
+	Jbs,0,		"JCS	%p",		/* 0x72 */
+	Jbs,0,		"JCC	%p",		/* 0x73 */
+	Jbs,0,		"JEQ	%p",		/* 0x74 */
+	Jbs,0,		"JNE	%p",		/* 0x75 */
+	Jbs,0,		"JLS	%p",		/* 0x76 */
+	Jbs,0,		"JHI	%p",		/* 0x77 */
+	Jbs,0,		"JMI	%p",		/* 0x78 */
+	Jbs,0,		"JPL	%p",		/* 0x79 */
+	Jbs,0,		"JPS	%p",		/* 0x7a */
+	Jbs,0,		"JPC	%p",		/* 0x7b */
+	Jbs,0,		"JLT	%p",		/* 0x7c */
+	Jbs,0,		"JGE	%p",		/* 0x7d */
+	Jbs,0,		"JLE	%p",		/* 0x7e */
+	Jbs,0,		"JGT	%p",		/* 0x7f */
+	RMOPB,0,	optab80,		/* 0x80 */
+	RMOP,0,		optab81,		/* 0x81 */
+	0,0,		"",			/* 0x82 */
+	RMOP,0,		optab83,		/* 0x83 */
+	RMB,0,		"TESTB	%r,%e",		/* 0x84 */
+	RM,0,		"TEST%S	%r,%e",		/* 0x85 */
+	RMB,0,		"XCHGB	%r,%e",		/* 0x86 */
+	RM,0,		"XCHG%S	%r,%e",		/* 0x87 */
+	RMB,0,		"MOVB	%r,%e",		/* 0x88 */
+	RM,0,		"MOV%S	%r,%e",		/* 0x89 */
+	RMB,0,		"MOVB	%e,%r",		/* 0x8a */
+	RM,0,		"MOV%S	%e,%r",		/* 0x8b */
+	RM,0,		"MOVW	%g,%e",		/* 0x8c */
+	RM,0,		"LEA	%e,%r",		/* 0x8d */
+	RM,0,		"MOVW	%e,%g",		/* 0x8e */
+	RM,0,		"POP%S	%e",		/* 0x8f */
+	0,0,		"NOP",			/* 0x90 */
+	0,0,		"XCHG	%OCX,%OAX",	/* 0x91 */
+	0,0,		"XCHG	%OCX,%OAX",	/* 0x92 */
+	0,0,		"XCHG	%OCX,%OAX",	/* 0x93 */
+	0,0,		"XCHG	%OSP,%OAX",	/* 0x94 */
+	0,0,		"XCHG	%OBP,%OAX",	/* 0x95 */
+	0,0,		"XCHG	%OSI,%OAX",	/* 0x96 */
+	0,0,		"XCHG	%ODI,%OAX",	/* 0x97 */
+	0,0,		"%X",			/* 0x98 */	/* miserable CBW or CWDE */
+	0,0,		"%x",			/* 0x99 */	/* idiotic CWD or CDQ */
+	PTR,0,		"CALL%S	%d",		/* 0x9a */
+	0,0,		"WAIT",			/* 0x9b */
+	0,0,		"PUSHF",		/* 0x9c */
+	0,0,		"POPF",			/* 0x9d */
+	0,0,		"SAHF",			/* 0x9e */
+	0,0,		"LAHF",			/* 0x9f */
+	Awd,0,		"MOVB	%i,AL",		/* 0xa0 */
+	Awd,0,		"MOV%S	%i,%OAX",	/* 0xa1 */
+	Awd,0,		"MOVB	AL,%i",		/* 0xa2 */
+	Awd,0,		"MOV%S	%OAX,%i",	/* 0xa3 */
+	0,0,		"MOVSB	(%ASI),(%ADI)",	/* 0xa4 */
+	0,0,		"MOVS%S	(%ASI),(%ADI)",	/* 0xa5 */
+	0,0,		"CMPSB	(%ASI),(%ADI)",	/* 0xa6 */
+	0,0,		"CMPS%S	(%ASI),(%ADI)",	/* 0xa7 */
+	Ib,0,		"TESTB	%i,AL",		/* 0xa8 */
+	Iwd,0,		"TEST%S	%i,%OAX",	/* 0xa9 */
+	0,0,		"STOSB	AL,(%ADI)",	/* 0xaa */
+	0,0,		"STOS%S	%OAX,(%ADI)",	/* 0xab */
+	0,0,		"LODSB	(%ASI),AL",	/* 0xac */
+	0,0,		"LODS%S	(%ASI),%OAX",	/* 0xad */
+	0,0,		"SCASB	(%ADI),AL",	/* 0xae */
+	0,0,		"SCAS%S	(%ADI),%OAX",	/* 0xaf */
+	Ib,0,		"MOVB	%i,AL",		/* 0xb0 */
+	Ib,0,		"MOVB	%i,CL",		/* 0xb1 */
+	Ib,0,		"MOVB	%i,DL",		/* 0xb2 */
+	Ib,0,		"MOVB	%i,BL",		/* 0xb3 */
+	Ib,0,		"MOVB	%i,AH",		/* 0xb4 */
+	Ib,0,		"MOVB	%i,CH",		/* 0xb5 */
+	Ib,0,		"MOVB	%i,DH",		/* 0xb6 */
+	Ib,0,		"MOVB	%i,BH",		/* 0xb7 */
+	Iwd,0,		"MOV%S	%i,%OAX",	/* 0xb8 */
+	Iwd,0,		"MOV%S	%i,%OCX",	/* 0xb9 */
+	Iwd,0,		"MOV%S	%i,%ODX",	/* 0xba */
+	Iwd,0,		"MOV%S	%i,%OBX",	/* 0xbb */
+	Iwd,0,		"MOV%S	%i,%OSP",	/* 0xbc */
+	Iwd,0,		"MOV%S	%i,%OBP",	/* 0xbd */
+	Iwd,0,		"MOV%S	%i,%OSI",	/* 0xbe */
+	Iwd,0,		"MOV%S	%i,%ODI",	/* 0xbf */
+	RMOPB,0,	optabC0,		/* 0xc0 */
+	RMOP,0,		optabC1,		/* 0xc1 */
+	Iw,0,		"RET	%i",		/* 0xc2 */
+	RET,0,		"RET",			/* 0xc3 */
+	RM,0,		"LES	%e,%r",		/* 0xc4 */
+	RM,0,		"LDS	%e,%r",		/* 0xc5 */
+	RMB,Ib,		"MOVB	%i,%e",		/* 0xc6 */
+	RM,Iwd,		"MOV%S	%i,%e",		/* 0xc7 */
+	Iw2,Ib,		"ENTER	%i,%I",		/* 0xc8 */	/* loony ENTER */
+	RET,0,		"LEAVE",		/* 0xc9 */	/* bizarre LEAVE */
+	Iw,0,		"RETF	%i",		/* 0xca */
+	RET,0,		"RETF",			/* 0xcb */
+	0,0,		"INT	3",		/* 0xcc */
+	Ib,0,		"INTB	%i",		/* 0xcd */
+	0,0,		"INTO",			/* 0xce */
+	0,0,		"IRET",			/* 0xcf */
+	RMOPB,0,	optabD0,		/* 0xd0 */
+	RMOP,0,		optabD1,		/* 0xd1 */
+	RMOPB,0,	optabD2,		/* 0xd2 */
+	RMOP,0,		optabD3,		/* 0xd3 */
+	OA,0,		"AAM",			/* 0xd4 */
+	OA,0,		"AAD",			/* 0xd5 */
+	0,0,		"",			/* 0xd6 */
+	0,0,		"XLAT",			/* 0xd7 */
+	FRMOP,0,	optabD8,		/* 0xd8 */
+	FRMEX,0,	optabD9,		/* 0xd9 */
+	FRMOP,0,	optabDA,		/* 0xda */
+	FRMEX,0,	optabDB,		/* 0xdb */
+	FRMOP,0,	optabDC,		/* 0xdc */
+	FRMOP,0,	optabDD,		/* 0xdd */
+	FRMOP,0,	optabDE,		/* 0xde */
+	FRMOP,0,	optabDF,		/* 0xdf */
+	Jbs,0,		"LOOPNE	%p",		/* 0xe0 */
+	Jbs,0,		"LOOPE	%p",		/* 0xe1 */
+	Jbs,0,		"LOOP	%p",		/* 0xe2 */
+	Jbs,0,		"JCXZ	%p",		/* 0xe3 */
+	Ib,0,		"INB	%i,AL",		/* 0xe4 */
+	Ib,0,		"IN%S	%i,%OAX",	/* 0xe5 */
+	Ib,0,		"OUTB	AL,%i",		/* 0xe6 */
+	Ib,0,		"OUT%S	%OAX,%i",	/* 0xe7 */
+	Iwds,0,		"CALL	%p",		/* 0xe8 */
+	Iwds,0,		"JMP	%p",		/* 0xe9 */
+	PTR,0,		"JMP	%d",		/* 0xea */
+	Jbs,0,		"JMP	%p",		/* 0xeb */
+	0,0,		"INB	DX,AL",		/* 0xec */
+	0,0,		"IN%S	DX,%OAX",	/* 0xed */
+	0,0,		"OUTB	AL,DX",		/* 0xee */
+	0,0,		"OUT%S	%OAX,DX",	/* 0xef */
+	PRE,0,		"LOCK",			/* 0xf0 */
+	0,0,		"",			/* 0xf1 */	
+	PRE,0,		"REPNE",		/* 0xf2 */
+	PRE,0,		"REP",			/* 0xf3 */
+	0,0,		"HALT",			/* 0xf4 */
+	0,0,		"CMC",			/* 0xf5 */
+	RMOPB,0,	optabF6,		/* 0xf6 */
+	RMOP,0,		optabF7,		/* 0xf7 */
+	0,0,		"CLC",			/* 0xf8 */
+	0,0,		"STC",			/* 0xf9 */
+	0,0,		"CLI",			/* 0xfa */
+	0,0,		"STI",			/* 0xfb */
+	0,0,		"CLD",			/* 0xfc */
+	0,0,		"STD",			/* 0xfd */
+	RMOPB,0,	optabFE,		/* 0xfe */
+	RMOP,0,		optabFF,		/* 0xff */
 };
 
 /*