
;--- This file was generated by mktables.exe.

OPTYPES_BASE	EQU 0Ch

;--- Operand type lists.
;--- They were read from file instr.key.

oplists label byte
	opl OP_END	; idx=0, ofs=Ch, used=99
	opl OP_ALL+OP_AX, OP_ALL+OP_IMM_NOT_EXTEND, OP_END	; idx=1, ofs=Dh, used=18
	opl OP_X, OPX_MOD_IF_REG_AL_AX_EAX, OP_M_SRC_DST, OP_ALL+OP_RM, OP_ALL+OP_IMM_NOT_EXTEND, OP_END	; idx=2, ofs=10h, used=7
	opl OP_X, OPX_MOD_IF_REG_AL_AX_EAX, OP_M_SRC, OP_ALL+OP_RM, OP_ALL+OP_IMM_NOT_EXTEND, OP_END	; idx=3, ofs=16h, used=3
	opl OP_M_DST, OP_X, OPX_MOD_IF_REG, OP_ALL+OP_RM, OP_ALL+OP_IMM, OP_END	; idx=4, ofs=1Ch, used=1
	opl OP_M_SRC_DST, OP_X, OPX_MOD_IF_REG_AL_AX_EAX, OP_1632+OP_RM, OP_IMMS8_EXTEND, OP_END	; idx=5, ofs=22h, used=7
	opl OP_M_SRC, OP_X, OPX_MOD_IF_REG_AL_AX_EAX, OP_1632+OP_RM, OP_IMMS8_EXTEND, OP_END	; idx=6, ofs=28h, used=1
	opl OP_M_SRC_DST, OP_X, OPX_MODALWAYS_IF_REG, OP_ALL+OP_RM, OP_ALL+OP_R, OP_END	; idx=7, ofs=2Eh, used=19
	opl OP_M_SRC, OP_X, OPX_MODALWAYS_IF_REG, OP_ALL+OP_RM, OP_ALL+OP_R, OP_END	; idx=8, ofs=34h, used=4
	opl OP_M_DST, OP_X, OPX_MOD_IF_MEMOFFS_AND_OTHER_REG_AL_AX_EAX, OP_X, OPX_MODALWAYS_IF_REG, OP_ALL+OP_RM, OP_ALL+OP_R, OP_END	; idx=9, ofs=3Ah, used=2
	opl OP_ALL+OP_R, OP_M_SRC, OP_X, OPX_MOD_IF_REG, OP_ALL+OP_RM, OP_END	; idx=10, ofs=42h, used=17
	opl OP_ALL+OP_R, OP_M_SRC, OP_X, OPX_MOD_IF_MEMOFFS_AND_OTHER_REG_AL_AX_EAX, OP_X, OPX_MOD_IF_REG, OP_ALL+OP_RM, OP_END	; idx=11, ofs=48h, used=2
	opl OP_ALL+OP_R, OP_M_SRC_DST, OP_X, OPX_MOD_IF_REG_AX_EAX, OP_X, OPX_MOD_IF_OTHER_REG_AX_EAX, OP_X, OPX_MODALWAYS_IF_REG, OP_ALL+OP_RM, OP_END	; idx=12, ofs=50h, used=2
	opl OP_M_SRC_DST, OP_16+OP_RM, OP_16+OP_R, OP_END	; idx=13, ofs=5Ah, used=1
	opl OP_1632+OP_R, OP_M_SRC, OP_FAR_M, OP_1632+OP_M, OP_END	; idx=14, ofs=5Eh, used=5
	opl OP_1632+OP_R, OP_M_SRC, OP_1632+OP_RM, OP_END	; idx=15, ofs=63h, used=35
	opl OP_32+OP_R_ADD, OP_END	; idx=16, ofs=67h, used=8
	opl OP_M_SRC_DST, OP_1632+OP_RM, OP_1632+OP_R, OP_END	; idx=17, ofs=69h, used=3
	opl OP_M_SRC, OP_1632+OP_RM, OP_1632+OP_R, OP_END	; idx=18, ofs=6Dh, used=1
	opl OP_M_SRC_DST, OP_1632+OP_RM	; idx=19, ofs=71h, used=3
	opl OP_IMM8, OP_END	; idx=20, ofs=73h, used=0 + 3
	opl OP_M_SRC, OP_1632+OP_RM, OP_IMM8, OP_END	; idx=21, ofs=75h, used=1
	opl OP_STACK_PUSH	; idx=22, ofs=79h, used=1
	opl OP_NEAR, OP_REL1632, OP_END	; idx=23, ofs=7Ah, used=31 + 1
	opl OP_STACK_SPECIAL	; idx=24, ofs=7Dh, used=1
	opl OP_FAR, OP_FARIMM, OP_END	; idx=25, ofs=7Eh, used=1 + 1
	opl OP_STACK_SPECIAL	; idx=26, ofs=81h, used=1
	opl OP_FAR_REQUIRED, OP_FAR_OFFSET, OP_END	; idx=27, ofs=82h, used=1 + 1
	opl OP_STACK_SPECIAL	; idx=28, ofs=85h, used=1
	opl OP_FAR_REQUIRED, OP_M_SRC, OP_FAR_M, OP_1632_DEFAULT+OP_M, OP_END	; idx=29, ofs=86h, used=1 + 1
	opl OP_M_SRC_DST, OP_M64, OP_END	; idx=30, ofs=8Bh, used=1
	opl OP_M_SRC, OP_M64, OP_END	; idx=31, ofs=8Eh, used=1
	opl OP_M_DST, OP_M64, OP_END	; idx=32, ofs=91h, used=1
	opl OP_X, OPX_MOD_IF_REG_1632	; idx=33, ofs=94h, used=4
	opl OP_M_SRC_DST, OP_ALL+OP_RM, OP_END	; idx=34, ofs=96h, used=2 + 4
	opl OP_M_SRC, OP_ALL+OP_RM, OP_END	; idx=35, ofs=99h, used=4
	opl OP_STACK_PUSH	; idx=36, ofs=9Ch, used=8
	opl OP_1632+OP_R_ADD, OP_END	; idx=37, ofs=9Dh, used=16 + 8
	opl OP_STACK_POP, OP_1632+OP_R_ADD, OP_END	; idx=38, ofs=9Fh, used=8
	opl OP_STACK_PUSH, OP_16+OP_IMM, OP_IMM8, OP_END	; idx=39, ofs=A2h, used=1
	opl OP_M_SRC, OP_MFLOAT, OP_END	; idx=40, ofs=A6h, used=9
	opl OP_M_DST, OP_MFLOAT, OP_END	; idx=41, ofs=A9h, used=2
	opl OP_M_SRC, OP_MDOUBLE, OP_END	; idx=42, ofs=ACh, used=9
	opl OP_M_DST, OP_MDOUBLE, OP_END	; idx=43, ofs=AFh, used=2
	opl OP_ST	; idx=44, ofs=B2h, used=20
	opl OP_STI, OP_END	; idx=45, ofs=B3h, used=4 + 20
	opl OP_1CHK	; idx=46, ofs=B5h, used=6
	opl OP_STI, OP_ST, OP_END	; idx=47, ofs=B6h, used=6 + 6
	opl OP_M_SRC, OP_32+OP_M, OP_END	; idx=48, ofs=B9h, used=9
	opl OP_M_DST, OP_32+OP_M, OP_END	; idx=49, ofs=BCh, used=2
	opl OP_M_SRC, OP_16+OP_M, OP_END	; idx=50, ofs=BFh, used=10
	opl OP_M_DST, OP_16+OP_M, OP_END	; idx=51, ofs=C2h, used=4
	opl OP_M_SRC, OP_M80, OP_END	; idx=52, ofs=C5h, used=2
	opl OP_M_DST, OP_M80, OP_END	; idx=53, ofs=C8h, used=2
	opl OP_1CHK, OP_STI, OP_END	; idx=54, ofs=CBh, used=9
	opl OP_M_SRC	; idx=55, ofs=CEh, used=4
	opl OP_MXX, OP_END	; idx=56, ofs=CFh, used=1 + 4
	opl OP_M_DST, OP_MXX, OP_END	; idx=57, ofs=D1h, used=4
	opl OP_16+OP_AX, OP_END	; idx=58, ofs=D4h, used=1
	opl OP_1632+OP_R, OP_M_SRC, OP_1632+OP_RM, OP_IMMS8, OP_END	; idx=59, ofs=D6h, used=1
	opl OP_1632+OP_R_MOD, OP_1632+OP_R, OP_IMMS8, OP_END	; idx=60, ofs=DBh, used=1
	opl OP_1632+OP_R, OP_M_SRC, OP_1632+OP_RM, OP_1632+OP_IMM_NOT_EXTEND, OP_END	; idx=61, ofs=DFh, used=1
	opl OP_1632+OP_R_MOD, OP_1632+OP_R, OP_1632+OP_IMM_NOT_EXTEND, OP_END	; idx=62, ofs=E4h, used=1
	opl OP_ALL+OP_AX, OP_IMM8, OP_END	; idx=63, ofs=E8h, used=2
	opl OP_ALL+OP_AX, OP_DX, OP_END	; idx=64, ofs=EBh, used=2
	opl OP_STACK_SPECIAL, OP_3, OP_END	; idx=65, ofs=EEh, used=1
	opl OP_IMM8_OPTIONAL, OP_END	; idx=66, ofs=F1h, used=2
	opl OP_X, OPX_LOOP_OPTION	; idx=67, ofs=F3h, used=3
	opl OP_SHORT, OP_REL8, OP_END	; idx=68, ofs=F5h, used=42 + 3
	opl OP_STACK_PUSH, OP_M_SRC, OP_X, OPX_MOD_IF_REG, OP_1632_DEFAULT_ASM+OP_RM, OP_END	; idx=69, ofs=F8h, used=1
	opl OP_M_DST, OP_1632+OP_RM, OP_END	; idx=70, ofs=FEh, used=2
	opl OP_M_SRC, OP_16+OP_RM, OP_END	; idx=71, ofs=101h, used=5
	opl OP_M_DST, OP_16+OP_RM, OP_END	; idx=72, ofs=104h, used=1
	opl OP_M_ALWAYS_16, OP_M_DST, OP_1632+OP_RM, OP_SEGREG, OP_END	; idx=73, ofs=107h, used=1
	opl OP_M_ALWAYS_16, OP_SEGREG, OP_M_SRC, OP_1632+OP_RM, OP_END	; idx=74, ofs=10Ch, used=1
	opl OP_ALL+OP_AX, OP_M_SRC, OP_ALL+OP_MOFFS, OP_END	; idx=75, ofs=111h, used=2
	opl OP_M_DST, OP_ALL+OP_MOFFS, OP_ALL+OP_AX, OP_END	; idx=76, ofs=115h, used=2
	opl OP_8+OP_R_ADD, OP_8+OP_IMM, OP_END	; idx=77, ofs=119h, used=8
	opl OP_1632+OP_R_ADD, OP_1632+OP_IMM, OP_END	; idx=78, ofs=11Ch, used=8
	opl OP_1632+OP_R, OP_SHOSIZ, OP_M_SRC, OP_ASM_MOVX, OP_8+OP_RM, OP_END	; idx=79, ofs=11Fh, used=2
	opl OP_1632+OP_R, OP_SHOSIZ, OP_M_SRC, OP_ASM_MOVX, OP_16+OP_RM, OP_END	; idx=80, ofs=125h, used=2
	opl OP_IMM8, OP_ALL+OP_AX, OP_END	; idx=81, ofs=12Bh, used=2
	opl OP_DX, OP_ALL+OP_AX, OP_END	; idx=82, ofs=12Eh, used=2
	opl OP_STACK_POP, OP_M_DST, OP_X, OPX_MOD_IF_REG, OP_1632_DEFAULT_ASM+OP_RM, OP_END	; idx=83, ofs=131h, used=1
	opl OP_STACK_PUSH, OP_SHOSIZ, OP_1632_DEFAULT+OP_IMM_NOT_EXTEND, OP_END	; idx=84, ofs=137h, used=2
	opl OP_STACK_PUSH, OP_SHOSIZ, OP_IMMS8, OP_END	; idx=85, ofs=13Bh, used=2
	opl OP_M_SRC_DST, OP_ALL+OP_RM, OP_1, OP_END	; idx=86, ofs=13Fh, used=9
	opl OP_M_SRC_DST, OP_ALL+OP_RM, OP_CL, OP_END	; idx=87, ofs=143h, used=9
	opl OP_M_SRC_DST, OP_ALL+OP_RM, OP_IMM8_SHIFTROT, OP_END	; idx=88, ofs=147h, used=9
	opl OP_STACK_POP	; idx=89, ofs=14Bh, used=2
	opl OP_16+OP_IMM, OP_END	; idx=90, ofs=14Ch, used=1 + 2
	opl OP_STACK_SPECIAL, OP_16+OP_IMM, OP_END	; idx=91, ofs=14Eh, used=1
	opl OP_M_DST, OP_8+OP_RM, OP_END	; idx=92, ofs=151h, used=30
	opl OP_M_SRC_DST, OP_1632+OP_RM, OP_1632+OP_R, OP_IMM8, OP_END	; idx=93, ofs=154h, used=2
	opl OP_M_SRC_DST, OP_1632+OP_RM, OP_1632+OP_R, OP_CL, OP_END	; idx=94, ofs=159h, used=2
	opl OP_1632+OP_AX, OP_1632+OP_R_ADD, OP_END	; idx=95, ofs=15Eh, used=7
	opl OP_1632+OP_R_ADD, OP_1632+OP_AX, OP_END	; idx=96, ofs=161h, used=1
	opl OP_STACK_PUSH	; idx=97, ofs=164h, used=1
	opl OP_ES, OP_END	; idx=98, ofs=165h, used=1 + 1
	opl OP_STACK_PUSH	; idx=99, ofs=167h, used=1
	opl OP_CS, OP_END	; idx=100, ofs=168h, used=1 + 1
	opl OP_STACK_PUSH	; idx=101, ofs=16Ah, used=1
	opl OP_SS, OP_END	; idx=102, ofs=16Bh, used=1 + 1
	opl OP_STACK_PUSH	; idx=103, ofs=16Dh, used=1
	opl OP_DS, OP_END	; idx=104, ofs=16Eh, used=1 + 1
	opl OP_STACK_PUSH	; idx=105, ofs=170h, used=1
	opl OP_FS, OP_END	; idx=106, ofs=171h, used=1 + 1
	opl OP_STACK_PUSH	; idx=107, ofs=173h, used=1
	opl OP_GS, OP_END	; idx=108, ofs=174h, used=1 + 1
	opl OP_STACK_POP, OP_ES, OP_END	; idx=109, ofs=176h, used=1
	opl OP_STACK_POP, OP_SS, OP_END	; idx=110, ofs=179h, used=1
	opl OP_STACK_POP, OP_DS, OP_END	; idx=111, ofs=17Ch, used=1
	opl OP_STACK_POP, OP_FS, OP_END	; idx=112, ofs=17Fh, used=1
	opl OP_STACK_POP, OP_GS, OP_END	; idx=113, ofs=182h, used=1
	opl OP_32+OP_R_MOD, OP_CR, OP_END	; idx=114, ofs=185h, used=1
	opl OP_CR, OP_32+OP_R_MOD, OP_END	; idx=115, ofs=188h, used=1
	opl OP_32+OP_R_MOD, OP_DR, OP_END	; idx=116, ofs=18Bh, used=1
	opl OP_DR, OP_32+OP_R_MOD, OP_END	; idx=117, ofs=18Eh, used=1
	opl OP_32+OP_R_MOD, OP_TR, OP_END	; idx=118, ofs=191h, used=1
	opl OP_TR, OP_32+OP_R_MOD, OP_END	; idx=119, ofs=194h, used=1
	opl OP_MMX, OP_M_SRC, OP_32+OP_RM, OP_END	; idx=120, ofs=197h, used=1
	opl OP_M_DST, OP_32+OP_RM, OP_MMX, OP_END	; idx=121, ofs=19Bh, used=1
	opl OP_MMX, OP_M_SRC, OP_64+OP_RM, OP_END	; idx=122, ofs=19Fh, used=45
	opl OP_M_DST, OP_64+OP_RM, OP_MMX, OP_END	; idx=123, ofs=1A3h, used=1
	opl OP_MMX_MOD, OP_IMM8, OP_END	; idx=124, ofs=1A7h, used=8
	opl OP_1632+OP_R, OP_MXX, OP_END	; idx=125, ofs=1AAh, used=1
	opl OP_STACK_PUSH	; idx=126, ofs=1ADh, used=1
	opl OP_NEAR, OP_M_SRC, OP_1632_DEFAULT+OP_RM, OP_END	; idx=127, ofs=1AEh, used=1 + 1
	opl OP_1632+OP_R, OP_M_SRC, OP_DOUBLE_M, OP_1632+OP_M, OP_END	; idx=128, ofs=1B2h, used=1
	opl OP_STACK_SPECIAL, OP_IMM8_INT, OP_END	; idx=129, ofs=1B7h, used=1
	opl OP_SHORT, OP_REL8, OP_E_CX, OP_END	; idx=130, ofs=1BAh, used=5
	opl OP_STACK_POP, OP_END	; idx=131, ofs=1BEh, used=3
	opl OP_STACK_PUSH, OP_END	; idx=132, ofs=1C0h, used=1
	opl OP_STACK_SPECIAL, OP_END	; idx=133, ofs=1C2h, used=11

ASMMOD	EQU opidx

;--- Assembler: data on groups.
;--- If > 100h, it's a "0F-prefix" group.

	align 2, db 0
agroups label word
	dw 0FEh	; 0
	dw 083h	; 1
	dw 080h	; 2
	dw 1BAh	; 3
	dw 0FFh	; 4
	dw 1C7h	; 5
	dw 0F6h	; 6
	dw 101h	; 7
	dw 100h	; 8
	dw 0C6h	; 9
	dw 171h	; 10
	dw 172h	; 11
	dw 173h	; 12
	dw 08Fh	; 13
	dw 0D0h	; 14
	dw 0D2h	; 15
	dw 0C0h	; 16

;--- List of assembler mnemonics and data.
;--- variant's 1. argument (=a):
;---   if a < 0x100: one byte opcode.
;---   if a >= 0x100 && a < 0x200: two byte "0F"-opcode.
;---   if a >= 0x200 && a < 0x240: fp instruction.
;---   if a >= 0x240: refers to agroups [macro AGRP() is used].
;--- variant's 2. argument is index into array opindex.

mnlist label near
mnsuffix

	mne A32, ASM_SPECIAL	; ofs=0h
	mne A16, ASM_SPECIAL	; ofs=2h
	mne O32, ASM_SPECIAL	; ofs=4h
	mne O16, ASM_SPECIAL	; ofs=6h
	mne BOXCB	; ofs=8h
	 variant AGRP(0,7), 90
	 endvariant
	mne AAA	; ofs=Ch
	 variant 037h, 0
	 endvariant
	mne AAD, ASM_SPECIAL	; ofs=Fh
	 variant 0D5h, 66
	 endvariant
	mne AAM, ASM_SPECIAL	; ofs=13h
	 variant 0D4h, 66
	 endvariant
	mne AAS	; ofs=17h
	 variant 03Fh, 0
	 endvariant
	mne ADC	; ofs=1Ah
	 variant AGRP(1,2), 5, ASM_LOCKABLE
	 variant 014h, 1
	 variant AGRP(2,2), 2, ASM_LOCKABLE
	 variant 010h, 7, ASM_LOCKABLE
	 variant 012h, 10
	 endvariant
	mne ADD	; ofs=2Ah
	 variant AGRP(1,0), 5, ASM_LOCKABLE
	 variant 004h, 1
	 variant AGRP(2,0), 2, ASM_LOCKABLE
	 variant 000h, 7, ASM_LOCKABLE
	 variant 002h, 10
	 endvariant
	mne AND	; ofs=3Ah
	 variant AGRP(1,4), 5, ASM_LOCKABLE
	 variant 024h, 1
	 variant AGRP(2,4), 2, ASM_LOCKABLE
	 variant 020h, 7, ASM_LOCKABLE
	 variant 022h, 10
	 endvariant
	mne ARPL	; ofs=4Ah
	 variant 063h, 13, ASM_MACH2
	 endvariant
	mne BOUND	; ofs=4Eh
	 variant 062h, 128, ASM_MACH1
	 endvariant
	mne BSF	; ofs=52h
	 variant 1BCh, 15, ASM_MACH3
	 endvariant
	mne BSR	; ofs=56h
	 variant 1BDh, 15, ASM_MACH3
	 endvariant
	mne BSWAP, ASM_D32	; ofs=5Ah
	 variant 1C8h, 16, ASM_MACH4
	 endvariant
	mne BT	; ofs=5Fh
	 variant 1A3h, 18, ASM_MACH3
	 variant AGRP(3,4), 21, ASM_MACH3
	 endvariant
	mne BTC	; ofs=67h
	 variant 1BBh, 17, ASM_LOCKABLE, ASM_MACH3
	 variant AGRP(3,7), 19, ASM_LOCKABLE, ASM_MACH3
	 endvariant
	mne BTR	; ofs=71h
	 variant 1B3h, 17, ASM_LOCKABLE, ASM_MACH3
	 variant AGRP(3,6), 19, ASM_LOCKABLE, ASM_MACH3
	 endvariant
	mne BTS	; ofs=7Bh
	 variant 1ABh, 17, ASM_LOCKABLE, ASM_MACH3
	 variant AGRP(3,5), 19, ASM_LOCKABLE, ASM_MACH3
	 endvariant
	mne CALL	; ofs=85h
	 variant 09Ah, 26
	 variant 0E8h, 22
	 variant AGRP(4,2), 126
	 variant AGRP(4,3), 28
	 variant 09Ah, 24
	 endvariant
	mne CBW, ASM_D16	; ofs=92h
	mne CWDE, ASM_D32	; ofs=93h
	 variant 098h, 0
	 endvariant
	mne CLC	; ofs=97h
	 variant 0F8h, 0
	 endvariant
	mne CLD	; ofs=9Ah
	 variant 0FCh, 0
	 endvariant
	mne CLI	; ofs=9Dh
	 variant 0FAh, 0
	 endvariant
	mne CLTS	; ofs=A0h
	 variant 106h, 0, ASM_MACH2
	 endvariant
	mne CMC	; ofs=A4h
	 variant 0F5h, 0
	 endvariant
	mne CMOVA	; ofs=A7h
	 variant 147h, 15, ASM_MACH6
	 endvariant
	mne CMOVAE	; ofs=ABh
	 variant 143h, 15, ASM_MACH6
	 endvariant
	mne CMOVB	; ofs=AFh
	 variant 142h, 15, ASM_MACH6
	 endvariant
	mne CMOVBE	; ofs=B3h
	 variant 146h, 15, ASM_MACH6
	 endvariant
	mne CMOVC	; ofs=B7h
	 variant 142h, 15, ASM_MACH6
	 endvariant
	mne CMOVE	; ofs=BBh
	 variant 144h, 15, ASM_MACH6
	 endvariant
	mne CMOVG	; ofs=BFh
	 variant 14Fh, 15, ASM_MACH6
	 endvariant
	mne CMOVGE	; ofs=C3h
	 variant 14Dh, 15, ASM_MACH6
	 endvariant
	mne CMOVL	; ofs=C7h
	 variant 14Ch, 15, ASM_MACH6
	 endvariant
	mne CMOVLE	; ofs=CBh
	 variant 14Eh, 15, ASM_MACH6
	 endvariant
	mne CMOVNA	; ofs=CFh
	 variant 146h, 15, ASM_MACH6
	 endvariant
	mne CMOVNAE	; ofs=D3h
	 variant 142h, 15, ASM_MACH6
	 endvariant
	mne CMOVNB	; ofs=D7h
	 variant 143h, 15, ASM_MACH6
	 endvariant
	mne CMOVNBE	; ofs=DBh
	 variant 147h, 15, ASM_MACH6
	 endvariant
	mne CMOVNC	; ofs=DFh
	 variant 143h, 15, ASM_MACH6
	 endvariant
	mne CMOVNE	; ofs=E3h
	 variant 145h, 15, ASM_MACH6
	 endvariant
	mne CMOVNG	; ofs=E7h
	 variant 14Eh, 15, ASM_MACH6
	 endvariant
	mne CMOVNGE	; ofs=EBh
	 variant 14Ch, 15, ASM_MACH6
	 endvariant
	mne CMOVNL	; ofs=EFh
	 variant 14Dh, 15, ASM_MACH6
	 endvariant
	mne CMOVNLE	; ofs=F3h
	 variant 14Fh, 15, ASM_MACH6
	 endvariant
	mne CMOVNO	; ofs=F7h
	 variant 141h, 15, ASM_MACH6
	 endvariant
	mne CMOVNP	; ofs=FBh
	 variant 14Bh, 15, ASM_MACH6
	 endvariant
	mne CMOVNS	; ofs=FFh
	 variant 149h, 15, ASM_MACH6
	 endvariant
	mne CMOVNZ	; ofs=103h
	 variant 145h, 15, ASM_MACH6
	 endvariant
	mne CMOVO	; ofs=107h
	 variant 140h, 15, ASM_MACH6
	 endvariant
	mne CMOVP	; ofs=10Bh
	 variant 14Ah, 15, ASM_MACH6
	 endvariant
	mne CMOVPE	; ofs=10Fh
	 variant 14Ah, 15, ASM_MACH6
	 endvariant
	mne CMOVPO	; ofs=113h
	 variant 14Bh, 15, ASM_MACH6
	 endvariant
	mne CMOVS	; ofs=117h
	 variant 148h, 15, ASM_MACH6
	 endvariant
	mne CMOVZ	; ofs=11Bh
	 variant 144h, 15, ASM_MACH6
	 endvariant
	mne CMP	; ofs=11Fh
	 variant AGRP(1,7), 6
	 variant 03Ch, 1
	 variant AGRP(2,7), 3
	 variant 038h, 8
	 variant 03Ah, 10
	 endvariant
	mne CMPSB	; ofs=12Ch
	 variant 0A6h, 0
	 endvariant
	mne CMPXCHG	; ofs=132h
	 variant 1B0h, 7, ASM_LOCKABLE, ASM_MACH4
	 endvariant
	mne CMPXCHG8B	; ofs=137h
	 variant AGRP(5,1), 30, ASM_MACH5
	 endvariant
	mne CPUID	; ofs=13Ch
	 variant 1A2h, 0, ASM_MACH5
	 endvariant
	mne CWD, ASM_D16	; ofs=140h
	mne CDQ, ASM_D32	; ofs=141h
	 variant 099h, 0
	 endvariant
	mne DAA	; ofs=145h
	 variant 027h, 0
	 endvariant
	mne DAS	; ofs=148h
	 variant 02Fh, 0
	 endvariant
	mne DB, ASM_SPECIAL	; ofs=14Bh
	mne DD, ASM_SPECIAL	; ofs=14Dh
	mne DEC	; ofs=14Fh
	 variant 048h, 37
	 variant AGRP(0,1), 33, ASM_LOCKABLE
	 endvariant
	mne DIV	; ofs=156h
	 variant AGRP(6,6), 35
	 endvariant
	mne DW, ASM_SPECIAL	; ofs=15Ah
	mne EMMS	; ofs=15Ch
	 variant 177h, 0, ASM_MACH5
	 endvariant
	mne F2XM1	; ofs=164h
	 fpvariant 0D9h, 0, 0F0h
	 endvariant
	mne FABS	; ofs=168h
	 fpvariant 0D9h, 0, 0E1h
	 endvariant
	mne FADD	; ofs=16Ch
	 variant 200h, 40
	 variant 204h, 42
	 fpvariant 0D8h, 44, 0C0h
	 fpvariant 0DCh, 47, 0C0h
	 endvariant
	mne FADDP	; ofs=179h
	 fpvariant 0DEh, 46, 0C0h
	 fpvariant 0DEh, 0, 0C1h
	 endvariant
	mne FIADD	; ofs=180h
	 variant 202h, 48
	 variant 206h, 50
	 endvariant
	mne FBLD	; ofs=187h
	 variant 227h, 52
	 endvariant
	mne FBSTP	; ofs=18Bh
	 variant 237h, 53
	 endvariant
	mne FCHS	; ofs=18Fh
	 fpvariant 0D9h, 0, 0E0h
	 endvariant
	mne FCLEX, ASM_WAIT	; ofs=193h
	mne FNCLEX	; ofs=194h
	 fpvariant 0DBh, 0, 0E2h
	 endvariant
	mne FCMOVA	; ofs=198h
	 fpvariant 0DBh, 44, 0D0h, ASM_MACH6
	 endvariant
	mne FCMOVAE	; ofs=19Dh
	 fpvariant 0DBh, 44, 0C0h, ASM_MACH6
	 endvariant
	mne FCMOVB	; ofs=1A2h
	 fpvariant 0DAh, 44, 0C0h, ASM_MACH6
	 endvariant
	mne FCMOVBE	; ofs=1A7h
	 fpvariant 0DAh, 44, 0D0h, ASM_MACH6
	 endvariant
	mne FCMOVE	; ofs=1ACh
	 fpvariant 0DAh, 44, 0C8h, ASM_MACH6
	 endvariant
	mne FCMOVNA	; ofs=1B1h
	 fpvariant 0DAh, 44, 0D0h, ASM_MACH6
	 endvariant
	mne FCMOVNAE	; ofs=1B6h
	 fpvariant 0DAh, 44, 0C0h, ASM_MACH6
	 endvariant
	mne FCMOVNB	; ofs=1BBh
	 fpvariant 0DBh, 44, 0C0h, ASM_MACH6
	 endvariant
	mne FCMOVNBE	; ofs=1C0h
	 fpvariant 0DBh, 44, 0D0h, ASM_MACH6
	 endvariant
	mne FCMOVNE	; ofs=1C5h
	 fpvariant 0DBh, 44, 0C8h, ASM_MACH6
	 endvariant
	mne FCMOVNU	; ofs=1CAh
	 fpvariant 0DBh, 44, 0D8h, ASM_MACH6
	 endvariant
	mne FCMOVNZ	; ofs=1CFh
	 fpvariant 0DBh, 44, 0C8h, ASM_MACH6
	 endvariant
	mne FCMOVU	; ofs=1D4h
	 fpvariant 0DAh, 44, 0D8h, ASM_MACH6
	 endvariant
	mne FCMOVZ	; ofs=1D9h
	 fpvariant 0DAh, 44, 0C8h, ASM_MACH6
	 endvariant
	mne FCOM	; ofs=1DEh
	 variant 210h, 40
	 variant 214h, 42
	 fpvariant 0D8h, 54, 0D0h
	 fpvariant 0D8h, 0, 0D1h
	 endvariant
	mne FCOMI	; ofs=1EBh
	 fpvariant 0DBh, 54, 0F0h, ASM_MACH6
	 fpvariant 0DBh, 0, 0F1h, ASM_MACH6
	 endvariant
	mne FCOMIP	; ofs=1F4h
	 fpvariant 0DFh, 54, 0F0h, ASM_MACH6
	 fpvariant 0DFh, 0, 0F1h, ASM_MACH6
	 endvariant
	mne FCOMP	; ofs=1FDh
	 variant 218h, 40
	 variant 21Ch, 42
	 fpvariant 0D8h, 54, 0D8h
	 fpvariant 0D8h, 0, 0D9h
	 endvariant
	mne FCOMPP	; ofs=20Ah
	 fpvariant 0DEh, 0, 0D9h
	 endvariant
	mne FCOS	; ofs=20Eh
	 fpvariant 0D9h, 0, 0FFh, ASM_MACH3
	 endvariant
	mne FDECSTP	; ofs=213h
	 fpvariant 0D9h, 0, 0F6h
	 endvariant
	mne FDISI, ASM_WAIT	; ofs=217h
	mne FNDISI	; ofs=218h
	 fpvariant 0DBh, 0, 0E1h
	 endvariant
	mne FDIV	; ofs=21Ch
	 variant 230h, 40
	 variant 234h, 42
	 fpvariant 0D8h, 44, 0F0h
	 fpvariant 0DCh, 47, 0F8h
	 endvariant
	mne FDIVP	; ofs=229h
	 fpvariant 0DEh, 46, 0F8h
	 fpvariant 0DEh, 0, 0F9h
	 endvariant
	mne FIDIV	; ofs=230h
	 variant 232h, 48
	 variant 236h, 50
	 endvariant
	mne FDIVR	; ofs=237h
	 variant 238h, 40
	 variant 23Ch, 42
	 fpvariant 0D8h, 44, 0F8h
	 fpvariant 0DCh, 47, 0F0h
	 endvariant
	mne FDIVRP	; ofs=244h
	 fpvariant 0DEh, 46, 0F0h
	 fpvariant 0DEh, 0, 0F1h
	 endvariant
	mne FIDIVR	; ofs=24Bh
	 variant 23Ah, 48
	 variant 23Eh, 50
	 endvariant
	mne FENI, ASM_WAIT	; ofs=252h
	mne FNENI	; ofs=253h
	 fpvariant 0DBh, 0, 0E0h
	 endvariant
	mne FFREE	; ofs=257h
	 fpvariant 0DDh, 45, 0C0h
	 endvariant
	mne FICOM	; ofs=25Bh
	 variant 212h, 48
	 variant 216h, 50
	 endvariant
	mne FICOMP	; ofs=262h
	 variant 21Ah, 48
	 variant 21Eh, 50
	 endvariant
	mne FILD	; ofs=269h
	 variant 203h, 48
	 variant 207h, 50
	 variant 22Fh, 31
	 endvariant
	mne FINCSTP	; ofs=273h
	 fpvariant 0D9h, 0, 0F7h
	 endvariant
	mne FINIT, ASM_WAIT	; ofs=277h
	mne FNINIT	; ofs=278h
	 fpvariant 0DBh, 0, 0E3h
	 endvariant
	mne FIST	; ofs=27Ch
	 variant 213h, 49
	 variant 217h, 51
	 endvariant
	mne FISTP	; ofs=283h
	 variant 21Bh, 49
	 variant 21Fh, 51
	 variant 23Fh, 32
	 endvariant
	mne FLD	; ofs=28Dh
	 variant 201h, 40
	 variant 205h, 42
	 variant 22Bh, 52
	 fpvariant 0D9h, 45, 0C0h
	 endvariant
	mne FLD1	; ofs=29Ah
	 fpvariant 0D9h, 0, 0E8h
	 endvariant
	mne FLDL2T	; ofs=29Eh
	 fpvariant 0D9h, 0, 0E9h
	 endvariant
	mne FLDL2E	; ofs=2A2h
	 fpvariant 0D9h, 0, 0EAh
	 endvariant
	mne FLDPI	; ofs=2A6h
	 fpvariant 0D9h, 0, 0EBh
	 endvariant
	mne FLDLG2	; ofs=2AAh
	 fpvariant 0D9h, 0, 0ECh
	 endvariant
	mne FLDLN2	; ofs=2AEh
	 fpvariant 0D9h, 0, 0EDh
	 endvariant
	mne FLDZ	; ofs=2B2h
	 fpvariant 0D9h, 0, 0EEh
	 endvariant
	mne FLDCW, ASM_WAIT	; ofs=2B6h
	mne FNLDCW	; ofs=2B7h
	 variant 229h, 50
	 endvariant
	mne FMUL	; ofs=2BFh
	 variant 208h, 40
	 variant 20Ch, 42
	 fpvariant 0D8h, 44, 0C8h
	 fpvariant 0DCh, 47, 0C8h
	 endvariant
	mne FMULP	; ofs=2CCh
	 fpvariant 0DEh, 46, 0C8h
	 fpvariant 0DEh, 0, 0C9h
	 endvariant
	mne FIMUL	; ofs=2D3h
	 variant 20Ah, 48
	 variant 20Eh, 50
	 endvariant
	mne FNOP	; ofs=2DAh
	 fpvariant 0D9h, 0, 0D0h
	 endvariant
	mne FPATAN	; ofs=2DEh
	 fpvariant 0D9h, 0, 0F3h
	 endvariant
	mne FPREM	; ofs=2E2h
	 fpvariant 0D9h, 0, 0F8h
	 endvariant
	mne FPREM1	; ofs=2E6h
	 fpvariant 0D9h, 0, 0F5h, ASM_MACH3
	 endvariant
	mne FPTAN	; ofs=2EBh
	 fpvariant 0D9h, 0, 0F2h
	 endvariant
	mne FRNDINT	; ofs=2EFh
	 fpvariant 0D9h, 0, 0FCh
	 endvariant
	mne FSCALE	; ofs=2FCh
	 fpvariant 0D9h, 0, 0FDh
	 endvariant
	mne FSETPM, ASM_WAIT	; ofs=300h
	mne FNSETPM	; ofs=301h
	 fpvariant 0DBh, 0, 0E4h, ASM_MACH2
	 endvariant
	mne FSIN	; ofs=306h
	 fpvariant 0D9h, 0, 0FEh, ASM_MACH3
	 endvariant
	mne FSINCOS	; ofs=30Bh
	 fpvariant 0D9h, 0, 0FBh, ASM_MACH3
	 endvariant
	mne FSQRT	; ofs=310h
	 fpvariant 0D9h, 0, 0FAh
	 endvariant
	mne FST	; ofs=314h
	 variant 211h, 41
	 variant 215h, 43
	 fpvariant 0DDh, 45, 0D0h
	 endvariant
	mne FSTP	; ofs=31Eh
	 variant 219h, 41
	 variant 21Dh, 43
	 variant 23Bh, 53
	 fpvariant 0DDh, 45, 0D8h
	 endvariant
	mne FSTCW, ASM_WAIT	; ofs=32Bh
	mne FNSTCW	; ofs=32Ch
	 variant 239h, 51
	 endvariant
	mne FSTSW, ASM_WAIT	; ofs=335h
	mne FNSTSW	; ofs=336h
	 fpvariant 0DFh, 58, 0E0h
	 variant 23Dh, 51
	 endvariant
	mne FSUB	; ofs=33Dh
	 variant 220h, 40
	 variant 224h, 42
	 fpvariant 0D8h, 44, 0E0h
	 fpvariant 0DCh, 47, 0E8h
	 endvariant
	mne FSUBP	; ofs=34Ah
	 fpvariant 0DEh, 46, 0E8h
	 fpvariant 0DEh, 0, 0E9h
	 endvariant
	mne FISUB	; ofs=351h
	 variant 222h, 48
	 variant 226h, 50
	 endvariant
	mne FSUBR	; ofs=358h
	 variant 228h, 40
	 variant 22Ch, 42
	 fpvariant 0D8h, 44, 0E8h
	 fpvariant 0DCh, 47, 0E0h
	 endvariant
	mne FSUBRP	; ofs=365h
	 fpvariant 0DEh, 46, 0E0h
	 fpvariant 0DEh, 0, 0E1h
	 endvariant
	mne FISUBR	; ofs=36Ch
	 variant 22Ah, 48
	 variant 22Eh, 50
	 endvariant
	mne FTST	; ofs=373h
	 fpvariant 0D9h, 0, 0E4h
	 endvariant
	mne FUCOM	; ofs=377h
	 fpvariant 0DDh, 54, 0E0h, ASM_MACH3
	 fpvariant 0DDh, 0, 0E1h, ASM_MACH3
	 endvariant
	mne FUCOMI	; ofs=380h
	 fpvariant 0DBh, 54, 0E8h, ASM_MACH6
	 fpvariant 0DBh, 0, 0E9h, ASM_MACH6
	 endvariant
	mne FUCOMIP	; ofs=389h
	 fpvariant 0DFh, 54, 0E8h, ASM_MACH6
	 fpvariant 0DFh, 0, 0E9h, ASM_MACH6
	 endvariant
	mne FUCOMP	; ofs=392h
	 fpvariant 0DDh, 54, 0E8h, ASM_MACH3
	 fpvariant 0DDh, 0, 0E9h, ASM_MACH3
	 endvariant
	mne FUCOMPP	; ofs=39Bh
	 fpvariant 0DAh, 0, 0E9h, ASM_MACH3
	 endvariant
	mne FWAIT	; ofs=3A0h
	 variant 09Bh, 0
	 endvariant
	mne FXAM	; ofs=3A3h
	 fpvariant 0D9h, 0, 0E5h
	 endvariant
	mne FXCH	; ofs=3A7h
	 fpvariant 0D9h, 54, 0C8h
	 fpvariant 0D9h, 0, 0C9h
	 endvariant
	mne FXTRACT	; ofs=3AEh
	 fpvariant 0D9h, 0, 0F4h
	 endvariant
	mne FYL2X	; ofs=3B2h
	 fpvariant 0D9h, 0, 0F1h
	 endvariant
	mne FYL2XP1	; ofs=3B6h
	 fpvariant 0D9h, 0, 0F9h
	 endvariant
	mne HLT	; ofs=3BAh
	 variant 0F4h, 0
	 endvariant
	mne IDIV	; ofs=3BDh
	 variant AGRP(6,7), 35
	 endvariant
	mne IMUL	; ofs=3C1h
	 variant AGRP(6,5), 35
	 variant 1AFh, 15, ASM_MACH3
	 variant 06Bh, 59, ASM_MACH1
	 variant 06Bh, 60, ASM_MACH1
	 variant 069h, 61, ASM_MACH1
	 variant 069h, 62, ASM_MACH1
	 endvariant
	mne IN	; ofs=3D4h
	 variant 0E4h, 63
	 variant 0ECh, 64
	 endvariant
	mne INC	; ofs=3D9h
	 variant 040h, 37
	 variant AGRP(0,0), 33, ASM_LOCKABLE
	 endvariant
	mne INSB	; ofs=3E0h
	 variant 06Ch, 0, ASM_MACH1
	 endvariant
	mne INT	; ofs=3E8h
	 variant 0CCh, 65
	 variant 0CDh, 129
	 endvariant
	mne INT1	; ofs=3EDh
	 variant 0F1h, 133, ASM_MACH6
	 endvariant
	mne INT01	; ofs=3F1h
	 variant 0F1h, 133, ASM_MACH6
	 endvariant
	mne ICEBP	; ofs=3F5h
	 variant 0F1h, 133, ASM_MACH6
	 endvariant
	mne INT3	; ofs=3F9h
	 variant 0CCh, 133
	 endvariant
	mne INT03	; ofs=3FCh
	 variant 0CCh, 133
	 endvariant
	mne INTO	; ofs=3FFh
	 variant 0CEh, 133
	 endvariant
	mne INVD	; ofs=402h
	 variant 108h, 0, ASM_MACH4
	 endvariant
	mne INVLPG	; ofs=406h
	 variant AGRP(7,7), 56, ASM_MACH4
	 endvariant
	mne JA	; ofs=40Eh
	 variant 077h, 68
	 variant 187h, 23, ASM_MACH3
	 endvariant
	mne JAE	; ofs=414h
	 variant 073h, 68
	 variant 183h, 23, ASM_MACH3
	 endvariant
	mne JB	; ofs=41Ah
	 variant 072h, 68
	 variant 182h, 23, ASM_MACH3
	 endvariant
	mne JBE	; ofs=420h
	 variant 076h, 68
	 variant 186h, 23, ASM_MACH3
	 endvariant
	mne JC	; ofs=426h
	 variant 072h, 68
	 variant 182h, 23, ASM_MACH3
	 endvariant
	mne JCXZ, ASM_D16	; ofs=42Ch
	mne JECXZ, ASM_D32	; ofs=42Dh
	 variant 0E3h, 68
	 endvariant
	mne JE	; ofs=431h
	 variant 074h, 68
	 variant 184h, 23, ASM_MACH3
	 endvariant
	mne JG	; ofs=437h
	 variant 07Fh, 68
	 variant 18Fh, 23, ASM_MACH3
	 endvariant
	mne JGE	; ofs=43Dh
	 variant 07Dh, 68
	 variant 18Dh, 23, ASM_MACH3
	 endvariant
	mne JL	; ofs=443h
	 variant 07Ch, 68
	 variant 18Ch, 23, ASM_MACH3
	 endvariant
	mne JLE	; ofs=449h
	 variant 07Eh, 68
	 variant 18Eh, 23, ASM_MACH3
	 endvariant
	mne JNA	; ofs=44Fh
	 variant 076h, 68
	 variant 186h, 23, ASM_MACH3
	 endvariant
	mne JNAE	; ofs=455h
	 variant 072h, 68
	 variant 182h, 23, ASM_MACH3
	 endvariant
	mne JNB	; ofs=45Bh
	 variant 073h, 68
	 variant 183h, 23, ASM_MACH3
	 endvariant
	mne JNBE	; ofs=461h
	 variant 077h, 68
	 variant 187h, 23, ASM_MACH3
	 endvariant
	mne JNC	; ofs=467h
	 variant 073h, 68
	 variant 183h, 23, ASM_MACH3
	 endvariant
	mne JNE	; ofs=46Dh
	 variant 075h, 68
	 variant 185h, 23, ASM_MACH3
	 endvariant
	mne JNG	; ofs=473h
	 variant 07Eh, 68
	 variant 18Eh, 23, ASM_MACH3
	 endvariant
	mne JNGE	; ofs=479h
	 variant 07Ch, 68
	 variant 18Ch, 23, ASM_MACH3
	 endvariant
	mne JNL	; ofs=47Fh
	 variant 07Dh, 68
	 variant 18Dh, 23, ASM_MACH3
	 endvariant
	mne JNLE	; ofs=485h
	 variant 07Fh, 68
	 variant 18Fh, 23, ASM_MACH3
	 endvariant
	mne JNO	; ofs=48Bh
	 variant 071h, 68
	 variant 181h, 23, ASM_MACH3
	 endvariant
	mne JNP	; ofs=491h
	 variant 07Bh, 68
	 variant 18Bh, 23, ASM_MACH3
	 endvariant
	mne JNS	; ofs=497h
	 variant 079h, 68
	 variant 189h, 23, ASM_MACH3
	 endvariant
	mne JNZ	; ofs=49Dh
	 variant 075h, 68
	 variant 185h, 23, ASM_MACH3
	 endvariant
	mne JO	; ofs=4A3h
	 variant 070h, 68
	 variant 180h, 23, ASM_MACH3
	 endvariant
	mne JP	; ofs=4A9h
	 variant 07Ah, 68
	 variant 18Ah, 23, ASM_MACH3
	 endvariant
	mne JPE	; ofs=4AFh
	 variant 07Ah, 68
	 variant 18Ah, 23, ASM_MACH3
	 endvariant
	mne JPO	; ofs=4B5h
	 variant 07Bh, 68
	 variant 18Bh, 23, ASM_MACH3
	 endvariant
	mne JS	; ofs=4BBh
	 variant 078h, 68
	 variant 188h, 23, ASM_MACH3
	 endvariant
	mne JZ	; ofs=4C1h
	 variant 074h, 68
	 variant 184h, 23, ASM_MACH3
	 endvariant
	mne JMP	; ofs=4C7h
	 variant 0EAh, 27
	 variant 0EBh, 68
	 variant 0E9h, 23
	 variant AGRP(4,4), 127
	 variant AGRP(4,5), 29
	 variant 0EAh, 25
	 endvariant
	mne LAHF	; ofs=4D6h
	 variant 09Fh, 0
	 endvariant
	mne LAR	; ofs=4D9h
	 variant 102h, 15, ASM_MACH2
	 endvariant
	mne LDS	; ofs=4DDh
	 variant 0C5h, 14
	 endvariant
	mne LSS	; ofs=4E0h
	 variant 1B2h, 14, ASM_MACH3
	 endvariant
	mne LES	; ofs=4E4h
	 variant 0C4h, 14
	 endvariant
	mne LFS	; ofs=4E7h
	 variant 1B4h, 14, ASM_MACH3
	 endvariant
	mne LGS	; ofs=4EBh
	 variant 1B5h, 14, ASM_MACH3
	 endvariant
	mne LEA	; ofs=4EFh
	 variant 08Dh, 125
	 endvariant
	mne LGDT	; ofs=4F6h
	 variant AGRP(7,2), 55, ASM_MACH2
	 endvariant
	mne LIDT	; ofs=4FBh
	 variant AGRP(7,3), 55, ASM_MACH2
	 endvariant
	mne LLDT	; ofs=500h
	 variant AGRP(8,2), 71, ASM_MACH2
	 endvariant
	mne LMSW	; ofs=505h
	 variant AGRP(7,6), 71, ASM_MACH2
	 endvariant
	mne LOCK, ASM_SPECIAL, 0F0h	; ofs=50Ah
	mne LODSB	; ofs=50Ch
	 variant 0ACh, 0
	 endvariant
	mne LOOP	; ofs=521h
	 variant 0E2h, 130
	 variant 0E2h, 68
	 endvariant
	mne LOOPZ	; ofs=526h
	 variant 0E1h, 130
	 variant 0E1h, 68
	 endvariant
	mne LOOPE	; ofs=52Bh
	 variant 0E1h, 130
	 variant 0E1h, 68
	 endvariant
	mne LOOPNZ	; ofs=530h
	 variant 0E0h, 130
	 variant 0E0h, 68
	 endvariant
	mne LOOPNE	; ofs=535h
	 variant 0E0h, 130
	 variant 0E0h, 68
	 endvariant
	mne LSL	; ofs=53Ah
	 variant 103h, 15, ASM_MACH2
	 endvariant
	mne LTR	; ofs=53Eh
	 variant AGRP(8,3), 71, ASM_MACH2
	 endvariant
	mne MOV	; ofs=543h
	 variant 0A0h, 75
	 variant 0A2h, 76
	 variant 088h, 9
	 variant 08Ah, 11
	 variant 08Ch, 73
	 variant 08Eh, 74
	 variant 0B0h, 77
	 variant 0B8h, 78
	 variant AGRP(9,0), 4
	 variant 120h, 114, ASM_MACH3
	 variant 122h, 115, ASM_MACH3
	 variant 121h, 116, ASM_MACH3
	 variant 123h, 117, ASM_MACH3
	 variant 124h, 118, ASM_MACH3
	 variant 126h, 119, ASM_MACH3
	 endvariant
	mne MOVD	; ofs=569h
	 variant 16Eh, 120, ASM_MACH5
	 variant 17Eh, 121, ASM_MACH5
	 endvariant
	mne MOVQ	; ofs=570h
	 variant 16Fh, 122, ASM_MACH5
	 variant 17Fh, 123, ASM_MACH5
	 endvariant
	mne PACKSSDW	; ofs=577h
	 variant 16Bh, 122, ASM_MACH5
	 endvariant
	mne PACKSSWB	; ofs=57Bh
	 variant 163h, 122, ASM_MACH5
	 endvariant
	mne PACKUSWB	; ofs=57Fh
	 variant 167h, 122, ASM_MACH5
	 endvariant
	mne PADDB	; ofs=583h
	 variant 1FCh, 122, ASM_MACH5
	 endvariant
	mne PADDW	; ofs=588h
	 variant 1FDh, 122, ASM_MACH5
	 endvariant
	mne PADDD	; ofs=58Dh
	 variant 1FEh, 122, ASM_MACH5
	 endvariant
	mne PADDSB	; ofs=592h
	 variant 1ECh, 122, ASM_MACH5
	 endvariant
	mne PADDSW	; ofs=597h
	 variant 1EDh, 122, ASM_MACH5
	 endvariant
	mne PADDUSB	; ofs=59Ch
	 variant 1DCh, 122, ASM_MACH5
	 endvariant
	mne PADDUSW	; ofs=5A1h
	 variant 1DDh, 122, ASM_MACH5
	 endvariant
	mne PAND	; ofs=5A6h
	 variant 1DBh, 122, ASM_MACH5
	 endvariant
	mne PANDN	; ofs=5ABh
	 variant 1DFh, 122, ASM_MACH5
	 endvariant
	mne PCMPEQB	; ofs=5B0h
	 variant 174h, 122, ASM_MACH5
	 endvariant
	mne PCMPEQW	; ofs=5B4h
	 variant 175h, 122, ASM_MACH5
	 endvariant
	mne PCMPEQD	; ofs=5B8h
	 variant 176h, 122, ASM_MACH5
	 endvariant
	mne PCMPGTB	; ofs=5BCh
	 variant 164h, 122, ASM_MACH5
	 endvariant
	mne PCMPGTW	; ofs=5C0h
	 variant 165h, 122, ASM_MACH5
	 endvariant
	mne PCMPGTD	; ofs=5C4h
	 variant 166h, 122, ASM_MACH5
	 endvariant
	mne PMADDWD	; ofs=5C8h
	 variant 1F5h, 122, ASM_MACH5
	 endvariant
	mne PMULHW	; ofs=5CDh
	 variant 1E5h, 122, ASM_MACH5
	 endvariant
	mne PMULLW	; ofs=5D2h
	 variant 1D5h, 122, ASM_MACH5
	 endvariant
	mne POR	; ofs=5D7h
	 variant 1EBh, 122, ASM_MACH5
	 endvariant
	mne PSLLW	; ofs=5DCh
	 variant 1F1h, 122, ASM_MACH5
	 variant AGRP(10,6), 124, ASM_MACH5
	 endvariant
	mne PSLLD	; ofs=5E5h
	 variant 1F2h, 122, ASM_MACH5
	 variant AGRP(11,6), 124, ASM_MACH5
	 endvariant
	mne PSLLQ	; ofs=5EEh
	 variant 1F3h, 122, ASM_MACH5
	 variant AGRP(12,6), 124, ASM_MACH5
	 endvariant
	mne PSRAW	; ofs=5F7h
	 variant 1E1h, 122, ASM_MACH5
	 variant AGRP(10,4), 124, ASM_MACH5
	 endvariant
	mne PSRAD	; ofs=600h
	 variant 1E2h, 122, ASM_MACH5
	 variant AGRP(11,4), 124, ASM_MACH5
	 endvariant
	mne PSRLW	; ofs=609h
	 variant 1D1h, 122, ASM_MACH5
	 variant AGRP(10,2), 124, ASM_MACH5
	 endvariant
	mne PSRLD	; ofs=611h
	 variant 1D2h, 122, ASM_MACH5
	 variant AGRP(11,2), 124, ASM_MACH5
	 endvariant
	mne PSRLQ	; ofs=61Ah
	 variant 1D3h, 122, ASM_MACH5
	 variant AGRP(12,2), 124, ASM_MACH5
	 endvariant
	mne PSUBB	; ofs=623h
	 variant 1F8h, 122, ASM_MACH5
	 endvariant
	mne PSUBW	; ofs=628h
	 variant 1F9h, 122, ASM_MACH5
	 endvariant
	mne PSUBD	; ofs=62Dh
	 variant 1FAh, 122, ASM_MACH5
	 endvariant
	mne PSUBSB	; ofs=632h
	 variant 1E8h, 122, ASM_MACH5
	 endvariant
	mne PSUBSW	; ofs=637h
	 variant 1E9h, 122, ASM_MACH5
	 endvariant
	mne PSUBUSB	; ofs=63Ch
	 variant 1D8h, 122, ASM_MACH5
	 endvariant
	mne PSUBUSW	; ofs=641h
	 variant 1D9h, 122, ASM_MACH5
	 endvariant
	mne PUNPCKHBW	; ofs=646h
	 variant 168h, 122, ASM_MACH5
	 endvariant
	mne PUNPCKHWD	; ofs=64Ah
	 variant 169h, 122, ASM_MACH5
	 endvariant
	mne PUNPCKHDQ	; ofs=64Eh
	 variant 16Ah, 122, ASM_MACH5
	 endvariant
	mne PUNPCKLBW	; ofs=652h
	 variant 160h, 122, ASM_MACH5
	 endvariant
	mne PUNPCKLWD	; ofs=656h
	 variant 161h, 122, ASM_MACH5
	 endvariant
	mne PUNPCKLDQ	; ofs=65Ah
	 variant 162h, 122, ASM_MACH5
	 endvariant
	mne PXOR	; ofs=65Eh
	 variant 1EFh, 122, ASM_MACH5
	 endvariant
	mne MOVSB	; ofs=663h
	 variant 0A4h, 0
	 endvariant
	mne MOVSX	; ofs=669h
	 variant 1BEh, 79, ASM_MACH3
	 variant 1BFh, 80, ASM_MACH3
	 endvariant
	mne MOVZX	; ofs=670h
	 variant 1B6h, 79, ASM_MACH3
	 variant 1B7h, 80, ASM_MACH3
	 endvariant
	mne MUL	; ofs=677h
	 variant AGRP(6,4), 35
	 endvariant
	mne NEG	; ofs=67Bh
	 variant AGRP(6,3), 34, ASM_LOCKABLE
	 endvariant
	mne NOP	; ofs=680h
	 variant 090h, 0
	 endvariant
	mne NOT	; ofs=683h
	 variant AGRP(6,2), 34, ASM_LOCKABLE
	 endvariant
	mne OR	; ofs=688h
	 variant AGRP(1,1), 5, ASM_LOCKABLE
	 variant 00Ch, 1
	 variant AGRP(2,1), 2, ASM_LOCKABLE
	 variant 008h, 7, ASM_LOCKABLE
	 variant 00Ah, 10
	 endvariant
	mne ORG, ASM_SPECIAL	; ofs=698h
	mne OUT	; ofs=69Ah
	 variant 0E6h, 81
	 variant 0EEh, 82
	 endvariant
	mne OUTSB	; ofs=69Fh
	 variant 06Eh, 0, ASM_MACH1
	 endvariant
	mne POP	; ofs=6A7h
	 variant 058h, 38
	 variant AGRP(13,0), 83
	 variant 01Fh, 111
	 variant 007h, 109
	 variant 017h, 110
	 variant 1A1h, 112, ASM_MACH3
	 variant 1A9h, 113, ASM_MACH3
	 endvariant
	mne PUSH	; ofs=6C0h
	 variant 050h, 36
	 variant AGRP(4,6), 69
	 variant 06Ah, 85, ASM_MACH1
	 variant 068h, 84, ASM_MACH1
	 variant 00Eh, 99
	 variant 016h, 101
	 variant 01Eh, 103
	 variant 006h, 97
	 variant 1A0h, 105, ASM_MACH3
	 variant 1A8h, 107, ASM_MACH3
	 endvariant
	mne RCL	; ofs=6E8h
	 variant AGRP(14,2), 86
	 variant AGRP(15,2), 87
	 variant AGRP(16,2), 88, ASM_MACH1
	 endvariant
	mne RCR	; ofs=6F3h
	 variant AGRP(14,3), 86
	 variant AGRP(15,3), 87
	 variant AGRP(16,3), 88, ASM_MACH1
	 endvariant
	mne ROL	; ofs=6FEh
	 variant AGRP(14,0), 86
	 variant AGRP(15,0), 87
	 variant AGRP(16,0), 88, ASM_MACH1
	 endvariant
	mne ROR	; ofs=709h
	 variant AGRP(14,1), 86
	 variant AGRP(15,1), 87
	 variant AGRP(16,1), 88, ASM_MACH1
	 endvariant
	mne RDMSR	; ofs=714h
	 variant 132h, 0, ASM_MACH5
	 endvariant
	mne RDTSC	; ofs=718h
	 variant 131h, 0, ASM_MACH5
	 endvariant
	mne REP, ASM_SPECIAL, 0F3h	; ofs=71Ch
	mne REPZ, ASM_SPECIAL, 0F3h	; ofs=71Eh
	mne REPNZ, ASM_SPECIAL, 0F2h	; ofs=720h
	mne REPE, ASM_SPECIAL, 0F3h	; ofs=722h
	mne REPNE, ASM_SPECIAL, 0F2h	; ofs=724h
	mne RSM	; ofs=735h
	 variant 1AAh, 0, ASM_MACH5
	 endvariant
	mne SAHF	; ofs=739h
	 variant 09Eh, 0
	 endvariant
	mne SAL	; ofs=73Ch
	 variant AGRP(14,4), 86
	 variant AGRP(15,4), 87
	 variant AGRP(16,4), 88, ASM_MACH1
	 endvariant
	mne SAR	; ofs=747h
	 variant AGRP(14,7), 86
	 variant AGRP(15,7), 87
	 variant AGRP(16,7), 88, ASM_MACH1
	 endvariant
	mne SEG	; ofs=752h
	 variant 026h, 98
	 variant 02Eh, 100
	 variant 036h, 102
	 variant 03Eh, 104
	 variant 064h, 106, ASM_MACH3
	 variant 065h, 108, ASM_MACH3
	 endvariant
	mne ES, ASM_SPECIAL, 026h	; ofs=761h
	mne CS, ASM_SPECIAL, 02Eh	; ofs=763h
	mne SS, ASM_SPECIAL, 036h	; ofs=765h
	mne DS, ASM_SPECIAL, 03Eh	; ofs=767h
	mne FS, ASM_SPECIAL, ASM_MACH3, 064h	; ofs=769h
	mne GS, ASM_SPECIAL, ASM_MACH3, 065h	; ofs=76Ch
	mne SHL	; ofs=76Fh
	 variant AGRP(14,4), 86
	 variant AGRP(15,4), 87
	 variant AGRP(16,4), 88, ASM_MACH1
	 endvariant
	mne SHR	; ofs=77Ah
	 variant AGRP(14,5), 86
	 variant AGRP(15,5), 87
	 variant AGRP(16,5), 88, ASM_MACH1
	 endvariant
	mne SBB	; ofs=785h
	 variant AGRP(1,3), 5, ASM_LOCKABLE
	 variant 01Ch, 1
	 variant AGRP(2,3), 2, ASM_LOCKABLE
	 variant 018h, 7, ASM_LOCKABLE
	 variant 01Ah, 10
	 endvariant
	mne SCASB	; ofs=795h
	 variant 0AEh, 0
	 endvariant
	mne SETA	; ofs=79Bh
	 variant 197h, 92, ASM_MACH3
	 endvariant
	mne SETAE	; ofs=79Fh
	 variant 193h, 92, ASM_MACH3
	 endvariant
	mne SETB	; ofs=7A3h
	 variant 192h, 92, ASM_MACH3
	 endvariant
	mne SETBE	; ofs=7A7h
	 variant 196h, 92, ASM_MACH3
	 endvariant
	mne SETC	; ofs=7ABh
	 variant 192h, 92, ASM_MACH3
	 endvariant
	mne SETE	; ofs=7AFh
	 variant 194h, 92, ASM_MACH3
	 endvariant
	mne SETG	; ofs=7B3h
	 variant 19Fh, 92, ASM_MACH3
	 endvariant
	mne SETGE	; ofs=7B7h
	 variant 19Dh, 92, ASM_MACH3
	 endvariant
	mne SETL	; ofs=7BBh
	 variant 19Ch, 92, ASM_MACH3
	 endvariant
	mne SETLE	; ofs=7BFh
	 variant 19Eh, 92, ASM_MACH3
	 endvariant
	mne SETNA	; ofs=7C3h
	 variant 196h, 92, ASM_MACH3
	 endvariant
	mne SETNAE	; ofs=7C7h
	 variant 192h, 92, ASM_MACH3
	 endvariant
	mne SETNB	; ofs=7CBh
	 variant 193h, 92, ASM_MACH3
	 endvariant
	mne SETNBE	; ofs=7CFh
	 variant 197h, 92, ASM_MACH3
	 endvariant
	mne SETNC	; ofs=7D3h
	 variant 193h, 92, ASM_MACH3
	 endvariant
	mne SETNE	; ofs=7D7h
	 variant 195h, 92, ASM_MACH3
	 endvariant
	mne SETNG	; ofs=7DBh
	 variant 19Eh, 92, ASM_MACH3
	 endvariant
	mne SETNGE	; ofs=7DFh
	 variant 19Ch, 92, ASM_MACH3
	 endvariant
	mne SETNL	; ofs=7E3h
	 variant 19Dh, 92, ASM_MACH3
	 endvariant
	mne SETNLE	; ofs=7E7h
	 variant 19Fh, 92, ASM_MACH3
	 endvariant
	mne SETNO	; ofs=7EBh
	 variant 191h, 92, ASM_MACH3
	 endvariant
	mne SETNP	; ofs=7EFh
	 variant 19Bh, 92, ASM_MACH3
	 endvariant
	mne SETNS	; ofs=7F3h
	 variant 199h, 92, ASM_MACH3
	 endvariant
	mne SETNZ	; ofs=7F7h
	 variant 195h, 92, ASM_MACH3
	 endvariant
	mne SETO	; ofs=7FBh
	 variant 190h, 92, ASM_MACH3
	 endvariant
	mne SETP	; ofs=7FFh
	 variant 19Ah, 92, ASM_MACH3
	 endvariant
	mne SETPE	; ofs=803h
	 variant 19Ah, 92, ASM_MACH3
	 endvariant
	mne SETPO	; ofs=807h
	 variant 19Bh, 92, ASM_MACH3
	 endvariant
	mne SETS	; ofs=80Bh
	 variant 198h, 92, ASM_MACH3
	 endvariant
	mne SETZ	; ofs=80Fh
	 variant 194h, 92, ASM_MACH3
	 endvariant
	mne SGDT	; ofs=813h
	 variant AGRP(7,0), 57, ASM_MACH2
	 endvariant
	mne SIDT	; ofs=818h
	 variant AGRP(7,1), 57, ASM_MACH2
	 endvariant
	mne SHLD	; ofs=81Dh
	 variant 1A4h, 93, ASM_MACH3
	 variant 1A5h, 94, ASM_MACH3
	 endvariant
	mne SHRD	; ofs=824h
	 variant 1ACh, 93, ASM_MACH3
	 variant 1ADh, 94, ASM_MACH3
	 endvariant
	mne SLDT	; ofs=82Bh
	 variant AGRP(8,0), 70, ASM_MACH2
	 endvariant
	mne SMSW	; ofs=830h
	 variant AGRP(7,4), 70, ASM_MACH2
	 endvariant
	mne STC	; ofs=835h
	 variant 0F9h, 0
	 endvariant
	mne STD	; ofs=838h
	 variant 0FDh, 0
	 endvariant
	mne STI	; ofs=83Bh
	 variant 0FBh, 0
	 endvariant
	mne STOSB	; ofs=83Eh
	 variant 0AAh, 0
	 endvariant
	mne STR	; ofs=844h
	 variant AGRP(8,1), 72, ASM_MACH2
	 endvariant
	mne SUB	; ofs=849h
	 variant AGRP(1,5), 5, ASM_LOCKABLE
	 variant 02Ch, 1
	 variant AGRP(2,5), 2, ASM_LOCKABLE
	 variant 028h, 7, ASM_LOCKABLE
	 variant 02Ah, 10
	 endvariant
	mne SALC	; ofs=859h
	 variant 0D6h, 0, ASM_MACH2
	 endvariant
	mne SETALC	; ofs=85Dh
	 variant 0D6h, 0, ASM_MACH2
	 endvariant
	mne TEST	; ofs=861h
	 variant 0A8h, 1
	 variant AGRP(6,0), 3
	 variant 084h, 8
	 variant 084h, 10
	 endvariant
	mne UD0	; ofs=86Bh
	 variant 1FFh, 0, ASM_MACH1
	 endvariant
	mne UD1	; ofs=870h
	 variant 1B9h, 0, ASM_MACH1
	 endvariant
	mne UD2	; ofs=874h
	 variant 10Bh, 0, ASM_MACH1
	 endvariant
	mne VERR	; ofs=878h
	 variant AGRP(8,4), 71, ASM_MACH2
	 endvariant
	mne VERW	; ofs=87Dh
	 variant AGRP(8,5), 71, ASM_MACH2
	 endvariant
	mne WAIT	; ofs=882h
	 variant 09Bh, 0
	 endvariant
	mne WBINVD	; ofs=885h
	 variant 109h, 0, ASM_MACH4
	 endvariant
	mne WRMSR	; ofs=889h
	 variant 130h, 0, ASM_MACH5
	 endvariant
	mne XADD	; ofs=88Dh
	 variant 1C0h, 7, ASM_LOCKABLE, ASM_MACH4
	 endvariant
	mne XCHG	; ofs=892h
	 variant 090h, 95
	 variant 090h, 96
	 variant 086h, 12, ASM_LOCKABLE
	 variant 086h, 7, ASM_LOCKABLE
	 endvariant
	mne XLAT	; ofs=89Dh
	 variant 0D7h, 0
	 endvariant
	mne XLATB	; ofs=8A0h
	 variant 0D7h, 0
	 endvariant
	mne XOR	; ofs=8A3h
	 variant AGRP(1,6), 5, ASM_LOCKABLE
	 variant 034h, 1
	 variant AGRP(2,6), 2, ASM_LOCKABLE
	 variant 030h, 7, ASM_LOCKABLE
	 variant 032h, 10
	 endvariant

; The following mnemonics allow an address size suffix
; but do not require it.

mnlist_a_suffix_allowed label near
mnsuffix _ASA

	mne LOOP	; ofs=512h
	 variant 0E2h, 68
	 endvariant
	mne LOOPZ	; ofs=515h
	 variant 0E1h, 68
	 endvariant
	mne LOOPE	; ofs=518h
	 variant 0E1h, 68
	 endvariant
	mne LOOPNZ	; ofs=51Bh
	 variant 0E0h, 68
	 endvariant
	mne LOOPNE	; ofs=51Eh
	 variant 0E0h, 68
	 endvariant

; The following mnemonics allow an operand size suffix
; but do not require it.

mnlist_o_suffix_allowed label near
mnsuffix _OSA

	mne ENTER	; ofs=160h
	 variant 0C8h, 39, ASM_MACH1
	 endvariant
	mne FLDENV	; ofs=2BBh
	 variant 221h, 55
	 endvariant
	mne FRSTOR	; ofs=2F3h
	 variant 225h, 55
	 endvariant
	mne FSAVE, ASM_WAIT	; ofs=2F7h
	mne FNSAVE	; ofs=2F8h
	 variant 235h, 57
	 endvariant
	mne FSTENV, ASM_WAIT	; ofs=330h
	mne FNSTENV	; ofs=331h
	 variant 231h, 57
	 endvariant
	mne IRET	; ofs=40Bh
	 variant 0CFh, 133
	 endvariant
	mne LEAVE	; ofs=4F2h
	 variant 0C9h, 133, ASM_MACH1
	 endvariant
	mne POPA	; ofs=6B9h
	 variant 061h, 133, ASM_MACH1
	 endvariant
	mne POPF	; ofs=6BDh
	 variant 09Dh, 131
	 endvariant
	mne PUSH	; ofs=6DAh
	 variant 06Ah, 85, ASM_MACH1
	 variant 068h, 84, ASM_MACH1
	 endvariant
	mne PUSHA	; ofs=6E1h
	 variant 060h, 133, ASM_MACH1
	 endvariant
	mne PUSHF	; ofs=6E5h
	 variant 09Ch, 132
	 endvariant
	mne RETN	; ofs=726h
	 variant 0C3h, 131
	 variant 0C2h, 89
	 endvariant
	mne RET	; ofs=72Bh
	 variant 0C3h, 131
	 variant 0C2h, 89
	 endvariant
	mne RETF	; ofs=730h
	 variant 0CBh, 133
	 variant 0CAh, 91
	 endvariant

; The following mnemonics require an operand size suffix.

mnlist_o_suffix_required label near
mnsuffix _OSR

	mne CMPS	; ofs=12Fh
	 variant 0A7h, 0
	 endvariant
	mne INS	; ofs=3E4h
	 variant 06Dh, 0, ASM_MACH1
	 endvariant
	mne LODS	; ofs=50Fh
	 variant 0ADh, 0
	 endvariant
	mne MOVS	; ofs=666h
	 variant 0A5h, 0
	 endvariant
	mne OUTS	; ofs=6A3h
	 variant 06Fh, 0, ASM_MACH1
	 endvariant
	mne SCAS	; ofs=798h
	 variant 0AFh, 0
	 endvariant
	mne STOS	; ofs=841h
	 variant 0ABh, 0
	 endvariant

end_mnlist label near

;--- Disassembler: compressed table of the opcode types.
;--- If the item has the format OT(xx), it refers to table 'oplists'.
;--- Otherwise it's an offset for internal table 'disjmp'.

	align 8, db 0
optypes label byte
	db OT(07),OT(07),OT(0A),OT(0A),OT(01),OT(01),OT(61),OT(6D)	; 00 - 07 (main opcode part)
	db OT(07),OT(07),OT(0A),OT(0A),OT(01),OT(01),OT(63),  002h	; 08 - 0F
	db OT(07),OT(07),OT(0A),OT(0A),OT(01),OT(01),OT(65),OT(6E)	; 10 - 17
	db OT(07),OT(07),OT(0A),OT(0A),OT(01),OT(01),OT(67),OT(6F)	; 18 - 1F
	db OT(07),OT(07),OT(0A),OT(0A),OT(01),OT(01),  00Ah,OT(00)	; 20 - 27
	db OT(07),OT(07),OT(0A),OT(0A),OT(01),OT(01),  00Ah,OT(00)	; 28 - 2F
	db OT(07),OT(07),OT(0A),OT(0A),OT(01),OT(01),  00Ah,OT(00)	; 30 - 37
	db OT(08),OT(08),OT(0A),OT(0A),OT(01),OT(01),  00Ah,OT(00)	; 38 - 3F
	db OT(25),OT(25),OT(25),OT(25),OT(25),OT(25),OT(25),OT(25)	; 40 - 47
	db OT(25),OT(25),OT(25),OT(25),OT(25),OT(25),OT(25),OT(25)	; 48 - 4F
	db OT(24),OT(24),OT(24),OT(24),OT(24),OT(24),OT(24),OT(24)	; 50 - 57
	db OT(26),OT(26),OT(26),OT(26),OT(26),OT(26),OT(26),OT(26)	; 58 - 5F
	db OT(85),OT(85),OT(80),OT(0D),  00Ah,  00Ah,  00Ah,  00Ah	; 60 - 67
	db OT(54),OT(3D),OT(55),OT(3B),OT(00),OT(00),OT(00),OT(00)	; 68 - 6F
	db OT(44),OT(44),OT(44),OT(44),OT(44),OT(44),OT(44),OT(44)	; 70 - 77
	db OT(44),OT(44),OT(44),OT(44),OT(44),OT(44),OT(44),OT(44)	; 78 - 7F
	db   004h,  004h,  004h,  004h,OT(08),OT(08),OT(0C),OT(0C)	; 80 - 87
	db OT(09),OT(09),OT(0B),OT(0B),OT(49),OT(7D),OT(4A),  004h	; 88 - 8F
	db OT(00),OT(5F),OT(5F),OT(5F),OT(5F),OT(5F),OT(5F),OT(5F)	; 90 - 97
	db OT(00),OT(00),OT(18),OT(00),OT(84),OT(83),OT(00),OT(00)	; 98 - 9F
	db OT(4B),OT(4B),OT(4C),OT(4C),OT(00),OT(00),OT(00),OT(00)	; A0 - A7
	db OT(01),OT(01),OT(00),OT(00),OT(00),OT(00),OT(00),OT(00)	; A8 - AF
	db OT(4D),OT(4D),OT(4D),OT(4D),OT(4D),OT(4D),OT(4D),OT(4D)	; B0 - B7
	db OT(4E),OT(4E),OT(4E),OT(4E),OT(4E),OT(4E),OT(4E),OT(4E)	; B8 - BF
	db   004h,  004h,OT(59),OT(83),OT(0E),OT(0E),  004h,  004h	; C0 - C7
	db OT(27),OT(85),OT(5B),OT(85),OT(85),OT(81),OT(85),OT(85)	; C8 - CF
	db   004h,  004h,  004h,  004h,OT(42),OT(42),OT(00),OT(00)	; D0 - D7
	db   006h,  006h,  006h,  006h,  006h,  006h,  006h,  006h	; D8 - DF
	db OT(43),OT(43),OT(43),OT(44),OT(3F),OT(3F),OT(51),OT(51)	; E0 - E7
	db OT(16),OT(17),OT(19),OT(44),OT(40),OT(40),OT(52),OT(52)	; E8 - EF
	db   00Ah,OT(85),  00Ah,  00Ah,OT(00),OT(00),  004h,  004h	; F0 - F7
	db OT(00),OT(00),OT(00),OT(00),OT(00),OT(00),  004h,  004h	; F8 - FF
	db OT(02),OT(02),OT(02),OT(02),OT(02),OT(02),OT(02),OT(03)	; 100 - 107 (Intel group 1)
	db OT(05),OT(05),OT(05),OT(05),OT(05),OT(05),OT(05),OT(06)	; 108 - 10F
	db OT(56),OT(56),OT(56),OT(56),OT(56),OT(56),OT(56),OT(56)	; 110 - 117 (Intel group 2)
	db OT(57),OT(57),OT(57),OT(57),OT(57),OT(57),OT(57),OT(57)	; 118 - 11F
	db OT(58),OT(58),OT(58),OT(58),OT(58),OT(58),OT(58),OT(58)	; 120 - 127 (Intel group 2a)
	db OT(03),OT(03),OT(22),OT(22),OT(23),OT(23),OT(23),OT(23)	; 128 - 12F (Intel group 3)
	db OT(21),OT(21),OT(7E),OT(1C),OT(7F),OT(1D),OT(45),  000h	; 130 - 137 (Intel group 5)
	db OT(46),OT(48),OT(47),OT(47),OT(47),OT(47),  000h,  000h	; 138 - 13F (Intel group 6)
	db OT(39),OT(39),OT(37),OT(37),OT(46),  000h,OT(47),OT(38)	; 140 - 147 (Intel group 7)
	db OT(28),OT(28),OT(28),OT(28),OT(28),OT(28),OT(28),OT(28)	; 148 - 14F (Coprocessor d8)
	db OT(2C),OT(2C),OT(36),OT(36),OT(2C),OT(2C),OT(2C),OT(2C)	; 150 - 157
	db OT(28),  000h,OT(29),OT(29),OT(37),OT(32),OT(39),OT(33)	; 158 - 15F (Coprocessor d9)
	db OT(2D),OT(36),  008h,  000h,  008h,  008h,  008h,  008h	; 160 - 167
	db OT(30),OT(30),OT(30),OT(30),OT(30),OT(30),OT(30),OT(30)	; 168 - 16F (Coprocessor da)
	db OT(2C),OT(2C),OT(2C),OT(2C),  000h,  008h,  000h,  000h	; 170 - 177
	db OT(30),  000h,OT(31),OT(31),  000h,OT(34),  000h,OT(35)	; 178 - 17F (Coprocessor db)
	db OT(2C),OT(2C),OT(2C),OT(2C),  008h,OT(36),OT(36),  000h	; 180 - 187
	db OT(2A),OT(2A),OT(2A),OT(2A),OT(2A),OT(2A),OT(2A),OT(2A)	; 188 - 18F (Coprocessor dc)
	db OT(2F),OT(2F),  000h,  000h,OT(2F),OT(2F),OT(2F),OT(2F)	; 190 - 197
	db OT(2A),  000h,OT(2B),OT(2B),OT(37),  000h,OT(39),OT(33)	; 198 - 19F (Coprocessor dd)
	db OT(2D),  000h,OT(2D),OT(2D),OT(36),OT(36),  000h,  000h	; 1A0 - 1A7
	db OT(32),OT(32),OT(32),OT(32),OT(32),OT(32),OT(32),OT(32)	; 1A8 - 1AF (Coprocessor de)
	db OT(2E),OT(2E),  000h,  008h,OT(2E),OT(2E),OT(2E),OT(2E)	; 1B0 - 1B7
	db OT(32),  000h,OT(33),OT(33),OT(34),OT(1F),OT(35),OT(20)	; 1B8 - 1BF (Coprocessor df)
	db   000h,  000h,  000h,  000h,  008h,OT(36),OT(36),  000h	; 1C0 - 1C7
	db OT(00),OT(00),OT(00),OT(00),OT(00),OT(00),OT(00),  000h	; 1C8 - 1CF (Coprocessor groups)
	db OT(00),OT(00),OT(00),OT(00),OT(00),OT(00),OT(00),OT(00)	; 1D0 - 1D7
	db OT(00),OT(00),OT(00),OT(00),OT(00),OT(00),OT(00),OT(00)	; 1D8 - 1DF
;--- The rest of these are squeezed.
	db      0,  004h,  004h,OT(0F),OT(0F),OT(00),OT(00),OT(00)	; 00
	db OT(00),OT(72),OT(74),OT(73),OT(75),OT(76),OT(77),OT(00)	; 08
	db OT(00),OT(00),OT(0F),OT(0F),OT(0F),OT(0F),OT(0F),OT(0F)	; 10
	db OT(0F),OT(0F),OT(0F),OT(0F),OT(0F),OT(0F),OT(0F),OT(0F)	; 18
	db OT(0F),OT(0F),OT(7A),OT(7A),OT(7A),OT(7A),OT(7A),OT(7A)	; 20
	db OT(7A),OT(7A),OT(7A),OT(7A),OT(7A),OT(7A),OT(78),OT(7A)	; 28
	db   004h,  004h,  004h,OT(7A),OT(7A),OT(7A),OT(00),OT(79)	; 30
	db OT(7B),OT(17),OT(17),OT(17),OT(17),OT(17),OT(17),OT(17)	; 38
	db OT(17),OT(17),OT(17),OT(17),OT(17),OT(17),OT(17),OT(17)	; 40
	db OT(17),OT(5C),OT(5C),OT(5C),OT(5C),OT(5C),OT(5C),OT(5C)	; 48
	db OT(5C),OT(5C),OT(5C),OT(5C),OT(5C),OT(5C),OT(5C),OT(5C)	; 50
	db OT(5C),OT(69),OT(70),OT(00),OT(12),OT(5D),OT(5E),OT(6B)	; 58
	db OT(71),OT(00),OT(11),OT(5D),OT(5E),OT(0F),OT(07),OT(07)	; 60
	db OT(0E),OT(11),OT(0E),OT(0E),OT(4F),OT(50),OT(00),  004h	; 68
	db OT(11),OT(0F),OT(0F),OT(4F),OT(50),OT(07),OT(07),  004h	; 70
	db OT(10),OT(10),OT(10),OT(10),OT(10),OT(10),OT(10),OT(10)	; 78
	db OT(7A),OT(7A),OT(7A),OT(7A),OT(7A),OT(7A),OT(7A),OT(7A)	; 80
	db OT(7A),OT(7A),OT(7A),OT(7A),OT(7A),OT(7A),OT(7A),OT(7A)	; 88
	db OT(7A),OT(7A),OT(7A),OT(7A),OT(7A),OT(7A),OT(7A),OT(7A)	; 90
	db OT(7A),OT(7A),OT(7A),OT(7A),OT(7A),OT(00),OT(21),OT(21)	; 98
	db OT(5A),OT(15),OT(13),OT(13),OT(13),OT(1E),OT(53),OT(04)	; A0
	db OT(7C),OT(7C),OT(7C),OT(7C),OT(7C),OT(7C),OT(7C),OT(7C)	; A8
	db OT(00),OT(00),OT(00),OT(00),OT(00),OT(00),OT(00),OT(00)	; B0
	db OT(00),OT(00),OT(00),OT(00),OT(3A)

P186	equ 1000h
P286	equ 2000h
P386	equ 3000h
P486	equ 4000h
P586	equ 5000h
P686	equ 6000h

;--- Disassembler: compressed table of additional information.
;--- Bits 0-11 usually are the offset of the mnemonics table.
;--- Bits 12-15 are the CPU which introduced this opcode.

	align 2, db 0
opinfo label word
	dw  MN_ADD, MN_ADD, MN_ADD, MN_ADD	; 00
	dw  MN_ADD, MN_ADD, MN_PUSH, MN_POP	; 04
	dw  MN_OR, MN_OR, MN_OR, MN_OR	; 08
	dw  MN_OR, MN_OR, MN_PUSH, 01E0h	; 0C
	dw  MN_ADC, MN_ADC, MN_ADC, MN_ADC	; 10
	dw  MN_ADC, MN_ADC, MN_PUSH, MN_POP	; 14
	dw  MN_SBB, MN_SBB, MN_SBB, MN_SBB	; 18
	dw  MN_SBB, MN_SBB, MN_PUSH, MN_POP	; 1C
	dw  MN_AND, MN_AND, MN_AND, MN_AND	; 20
	dw  MN_AND, MN_AND, 0001h, MN_DAA	; 24
	dw  MN_SUB, MN_SUB, MN_SUB, MN_SUB	; 28
	dw  MN_SUB, MN_SUB, 0101h, MN_DAS	; 2C
	dw  MN_XOR, MN_XOR, MN_XOR, MN_XOR	; 30
	dw  MN_XOR, MN_XOR, 0201h, MN_AAA	; 34
	dw  MN_CMP, MN_CMP, MN_CMP, MN_CMP	; 38
	dw  MN_CMP, MN_CMP, 0301h, MN_AAS	; 3C
	dw  MN_INC, MN_INC, MN_INC, MN_INC	; 40
	dw  MN_INC, MN_INC, MN_INC, MN_INC	; 44
	dw  MN_DEC, MN_DEC, MN_DEC, MN_DEC	; 48
	dw  MN_DEC, MN_DEC, MN_DEC, MN_DEC	; 4C
	dw  MN_PUSH, MN_PUSH, MN_PUSH, MN_PUSH	; 50
	dw  MN_PUSH, MN_PUSH, MN_PUSH, MN_PUSH	; 54
	dw  MN_POP, MN_POP, MN_POP, MN_POP	; 58
	dw  MN_POP, MN_POP, MN_POP, MN_POP	; 5C
	dw  P186 + MN_PUSHA_OSA, P186 + MN_POPA_OSA, P186 + MN_BOUND, P286 + MN_ARPL	; 60
	dw  P386 + 0401h, P386 + 0501h, P386 + 0010h, P386 + 0020h	; 64
	dw  P186 + MN_PUSH_OSA, P186 + MN_IMUL, P186 + MN_PUSH_OSA, P186 + MN_IMUL	; 68
	dw  P186 + MN_INSB, P186 + MN_INS_OSR, P186 + MN_OUTSB, P186 + MN_OUTS_OSR	; 6C
	dw  MN_JO, MN_JNO, MN_JB, MN_JAE	; 70
	dw  MN_JZ, MN_JNZ, MN_JBE, MN_JA	; 74
	dw  MN_JS, MN_JNS, MN_JPE, MN_JPO	; 78
	dw  MN_JL, MN_JGE, MN_JLE, MN_JG	; 7C
	dw  0100h, 0100h, 0100h, 0108h	; 80
	dw  MN_TEST, MN_TEST, MN_XCHG, MN_XCHG	; 84
	dw  MN_MOV, MN_MOV, MN_MOV, MN_MOV	; 88
	dw  MN_MOV, MN_LEA, MN_MOV, 02F8h	; 8C
	dw  MN_NOP, MN_XCHG, MN_XCHG, MN_XCHG	; 90
	dw  MN_XCHG, MN_XCHG, MN_XCHG, MN_XCHG	; 94
	dw  MN_CBW, MN_CWD, MN_CALL, MN_WAIT	; 98
	dw  MN_PUSHF_OSA, MN_POPF_OSA, MN_SAHF, MN_LAHF	; 9C
	dw  MN_MOV, MN_MOV, MN_MOV, MN_MOV	; A0
	dw  MN_MOVSB, MN_MOVS_OSR, MN_CMPSB, MN_CMPS_OSR	; A4
	dw  MN_TEST, MN_TEST, MN_STOSB, MN_STOS_OSR	; A8
	dw  MN_LODSB, MN_LODS_OSR, MN_SCASB, MN_SCAS_OSR	; AC
	dw  MN_MOV, MN_MOV, MN_MOV, MN_MOV	; B0
	dw  MN_MOV, MN_MOV, MN_MOV, MN_MOV	; B4
	dw  MN_MOV, MN_MOV, MN_MOV, MN_MOV	; B8
	dw  MN_MOV, MN_MOV, MN_MOV, MN_MOV	; BC
	dw  0120h, 0120h, MN_RETN_OSA, MN_RETN_OSA	; C0
	dw  MN_LES, MN_LDS, 0300h, 0300h	; C4
	dw  P186 + MN_ENTER_OSA, P186 + MN_LEAVE_OSA, MN_RETF_OSA, MN_RETF_OSA	; C8
	dw  MN_INT3, MN_INT, MN_INTO, MN_IRET_OSA	; CC
	dw  0110h, 0110h, 0118h, 0118h	; D0
	dw  MN_AAM, MN_AAD, P286 + MN_SETALC, MN_XLATB	; D4
	dw  0148h, 0158h, 0168h, 0178h	; D8
	dw  0188h, 0198h, 01A8h, 01B8h	; DC
	dw  MN_LOOPNZ_ASA, MN_LOOPZ_ASA, MN_LOOP_ASA, MN_JCXZ	; E0
	dw  MN_IN, MN_IN, MN_OUT, MN_OUT	; E4
	dw  MN_CALL, MN_JMP, MN_JMP, MN_JMP	; E8
	dw  MN_IN, MN_IN, MN_OUT, MN_OUT	; EC
	dw  0008h, P686 + MN_INT1, 0002h, 0006h	; F0
	dw  MN_HLT, MN_CMC, 0128h, 0128h	; F4
	dw  MN_CLC, MN_STC, MN_CLI, MN_STI	; F8
	dw  MN_CLD, MN_STD, 02E0h, 0130h	; FC
	dw  MN_ADD, MN_OR, MN_ADC, MN_SBB	; 100
	dw  MN_AND, MN_SUB, MN_XOR, MN_CMP	; 104
	dw  MN_ADD, MN_OR, MN_ADC, MN_SBB	; 108
	dw  MN_AND, MN_SUB, MN_XOR, MN_CMP	; 10C
	dw  MN_ROL, MN_ROR, MN_RCL, MN_RCR	; 110
	dw  MN_SHL, MN_SHR, MN_SHL, MN_SAR	; 114
	dw  MN_ROL, MN_ROR, MN_RCL, MN_RCR	; 118
	dw  MN_SHL, MN_SHR, MN_SHL, MN_SAR	; 11C
	dw  P186 + MN_ROL, P186 + MN_ROR, P186 + MN_RCL, P186 + MN_RCR	; 120
	dw  P186 + MN_SHL, P186 + MN_SHR, P186 + MN_SHL, P186 + MN_SAR	; 124
	dw  MN_TEST, MN_TEST, MN_NOT, MN_NEG	; 128
	dw  MN_MUL, MN_IMUL, MN_DIV, MN_IDIV	; 12C
	dw  MN_INC, MN_DEC, MN_CALL, MN_CALL	; 130
	dw  MN_JMP, MN_JMP, MN_PUSH, 0000h	; 134
	dw  P286 + MN_SLDT, P286 + MN_STR, P286 + MN_LLDT, P286 + MN_LTR	; 138
	dw  P286 + MN_VERR, P286 + MN_VERW, 0000h, 0000h	; 13C
	dw  P286 + MN_SGDT, P286 + MN_SIDT, P286 + MN_LGDT, P286 + MN_LIDT	; 140
	dw  P286 + MN_SMSW, 0000h, P286 + MN_LMSW, P486 + MN_INVLPG	; 144
	dw  MN_FADD, MN_FMUL, MN_FCOM, MN_FCOMP	; 148
	dw  MN_FSUB, MN_FSUBR, MN_FDIV, MN_FDIVR	; 14C
	dw  MN_FADD, MN_FMUL, MN_FCOM, MN_FCOMP	; 150
	dw  MN_FSUB, MN_FSUBR, MN_FDIV, MN_FDIVR	; 154
	dw  MN_FLD, 0000h, MN_FST, MN_FSTP	; 158
	dw  MN_FLDENV_OSA, MN_FNLDCW, MN_FNSTENV_OSA, MN_FNSTCW	; 15C
	dw  MN_FLD, MN_FXCH, 0320h, 0000h	; 160
	dw  0328h, 01C8h, 01D0h, 01D8h	; 164
	dw  MN_FIADD, MN_FIMUL, MN_FICOM, MN_FICOMP	; 168
	dw  MN_FISUB, MN_FISUBR, MN_FIDIV, MN_FIDIVR	; 16C
	dw  P686 + MN_FCMOVB, P686 + MN_FCMOVE, P686 + MN_FCMOVBE, P686 + MN_FCMOVU	; 170
	dw  0000h, 0330h, 0000h, 0000h	; 174
	dw  MN_FILD, 0000h, MN_FIST, MN_FISTP	; 178
	dw  0000h, MN_FLD, 0000h, MN_FSTP	; 17C
	dw  P686 + MN_FCMOVNB, P686 + MN_FCMOVNE, P686 + MN_FCMOVNBE, P686 + MN_FCMOVNU	; 180
	dw  0338h, P686 + MN_FUCOMI, P686 + MN_FCOMI, 0000h	; 184
	dw  MN_FADD, MN_FMUL, MN_FCOM, MN_FCOMP	; 188
	dw  MN_FSUB, MN_FSUBR, MN_FDIV, MN_FDIVR	; 18C
	dw  MN_FADD, MN_FMUL, 0000h, 0000h	; 190
	dw  MN_FSUBR, MN_FSUB, MN_FDIVR, MN_FDIV	; 194
	dw  MN_FLD, 0000h, MN_FST, MN_FSTP	; 198
	dw  MN_FRSTOR_OSA, 0000h, MN_FNSAVE_OSA, MN_FNSTSW	; 19C
	dw  MN_FFREE, 0000h, MN_FST, MN_FSTP	; 1A0
	dw  P386 + MN_FUCOM, P386 + MN_FUCOMP, 0000h, 0000h	; 1A4
	dw  MN_FIADD, MN_FIMUL, MN_FICOM, MN_FICOMP	; 1A8
	dw  MN_FISUB, MN_FISUBR, MN_FIDIV, MN_FIDIVR	; 1AC
	dw  MN_FADDP, MN_FMULP, 0000h, 0340h	; 1B0
	dw  MN_FSUBRP, MN_FSUBP, MN_FDIVRP, MN_FDIVP	; 1B4
	dw  MN_FILD, 0000h, MN_FIST, MN_FISTP	; 1B8
	dw  MN_FBLD, MN_FILD, MN_FBSTP, MN_FISTP	; 1BC
	dw  0000h, 0000h, 0000h, 0000h	; 1C0
	dw  0348h, P686 + MN_FUCOMIP, P686 + MN_FCOMIP, 0000h	; 1C4
	dw  MN_FLD1, MN_FLDL2T, MN_FLDL2E, MN_FLDPI	; 1C8
	dw  MN_FLDLG2, MN_FLDLN2, MN_FLDZ, 0000h	; 1CC
	dw  MN_F2XM1, MN_FYL2X, MN_FPTAN, MN_FPATAN	; 1D0
	dw  MN_FXTRACT, P386 + MN_FPREM1, MN_FDECSTP, MN_FINCSTP	; 1D4
	dw  MN_FPREM, MN_FYL2XP1, MN_FSQRT, P386 + MN_FSINCOS	; 1D8
	dw  MN_FRNDINT, MN_FSCALE, P386 + MN_FSIN, P386 + MN_FCOS	; 1DC
;--- The rest of these are squeezed.
	dw  0, 0138h, 0140h, P286 + MN_LAR	; 00
	dw  P286 + MN_LSL, P286 + MN_CLTS, P486 + MN_INVD, P486 + MN_WBINVD	; 04
	dw  P186 + MN_UD2, P386 + MN_MOV, P386 + MN_MOV, P386 + MN_MOV	; 08
	dw  P386 + MN_MOV, P386 + MN_MOV, P386 + MN_MOV, P586 + MN_WRMSR	; 0C
	dw  P586 + MN_RDTSC, P586 + MN_RDMSR, P686 + MN_CMOVO, P686 + MN_CMOVNO	; 10
	dw  P686 + MN_CMOVB, P686 + MN_CMOVAE, P686 + MN_CMOVZ, P686 + MN_CMOVNZ	; 14
	dw  P686 + MN_CMOVBE, P686 + MN_CMOVA, P686 + MN_CMOVS, P686 + MN_CMOVNS	; 18
	dw  P686 + MN_CMOVPE, P686 + MN_CMOVPO, P686 + MN_CMOVL, P686 + MN_CMOVGE	; 1C
	dw  P686 + MN_CMOVLE, P686 + MN_CMOVG, P586 + MN_PUNPCKLBW, P586 + MN_PUNPCKLWD	; 20
	dw  P586 + MN_PUNPCKLDQ, P586 + MN_PACKSSWB, P586 + MN_PCMPGTB, P586 + MN_PCMPGTW	; 24
	dw  P586 + MN_PCMPGTD, P586 + MN_PACKUSWB, P586 + MN_PUNPCKHBW, P586 + MN_PUNPCKHWD	; 28
	dw  P586 + MN_PUNPCKHDQ, P586 + MN_PACKSSDW, P586 + MN_MOVD, P586 + MN_MOVQ	; 2C
	dw  0308h, 0310h, 0318h, P586 + MN_PCMPEQB	; 30
	dw  P586 + MN_PCMPEQW, P586 + MN_PCMPEQD, P586 + MN_EMMS, P586 + MN_MOVD	; 34
	dw  P586 + MN_MOVQ, P386 + MN_JO, P386 + MN_JNO, P386 + MN_JB	; 38
	dw  P386 + MN_JAE, P386 + MN_JZ, P386 + MN_JNZ, P386 + MN_JBE	; 3C
	dw  P386 + MN_JA, P386 + MN_JS, P386 + MN_JNS, P386 + MN_JPE	; 40
	dw  P386 + MN_JPO, P386 + MN_JL, P386 + MN_JGE, P386 + MN_JLE	; 44
	dw  P386 + MN_JG, P386 + MN_SETO, P386 + MN_SETNO, P386 + MN_SETB	; 48
	dw  P386 + MN_SETAE, P386 + MN_SETZ, P386 + MN_SETNZ, P386 + MN_SETBE	; 4C
	dw  P386 + MN_SETA, P386 + MN_SETS, P386 + MN_SETNS, P386 + MN_SETPE	; 50
	dw  P386 + MN_SETPO, P386 + MN_SETL, P386 + MN_SETGE, P386 + MN_SETLE	; 54
	dw  P386 + MN_SETG, P386 + MN_PUSH, P386 + MN_POP, P586 + MN_CPUID	; 58
	dw  P386 + MN_BT, P386 + MN_SHLD, P386 + MN_SHLD, P386 + MN_PUSH	; 5C
	dw  P386 + MN_POP, P586 + MN_RSM, P386 + MN_BTS, P386 + MN_SHRD	; 60
	dw  P386 + MN_SHRD, P386 + MN_IMUL, P486 + MN_CMPXCHG, P486 + MN_CMPXCHG	; 64
	dw  P386 + MN_LSS, P386 + MN_BTR, P386 + MN_LFS, P386 + MN_LGS	; 68
	dw  P386 + MN_MOVZX, P386 + MN_MOVZX, P186 + MN_UD1, 02E8h	; 6C
	dw  P386 + MN_BTC, P386 + MN_BSF, P386 + MN_BSR, P386 + MN_MOVSX	; 70
	dw  P386 + MN_MOVSX, P486 + MN_XADD, P486 + MN_XADD, 02F0h	; 74
	dw  P486 + MN_BSWAP, P486 + MN_BSWAP, P486 + MN_BSWAP, P486 + MN_BSWAP	; 78
	dw  P486 + MN_BSWAP, P486 + MN_BSWAP, P486 + MN_BSWAP, P486 + MN_BSWAP	; 7C
	dw  P586 + MN_PSRLW, P586 + MN_PSRLD, P586 + MN_PSRLQ, P586 + MN_PMULLW	; 80
	dw  P586 + MN_PSUBUSB, P586 + MN_PSUBUSW, P586 + MN_PAND, P586 + MN_PADDUSB	; 84
	dw  P586 + MN_PADDUSW, P586 + MN_PANDN, P586 + MN_PSRAW, P586 + MN_PSRAD	; 88
	dw  P586 + MN_PMULHW, P586 + MN_PSUBSB, P586 + MN_PSUBSW, P586 + MN_POR	; 8C
	dw  P586 + MN_PADDSB, P586 + MN_PADDSW, P586 + MN_PXOR, P586 + MN_PSLLW	; 90
	dw  P586 + MN_PSLLD, P586 + MN_PSLLQ, P586 + MN_PMADDWD, P586 + MN_PSUBB	; 94
	dw  P586 + MN_PSUBW, P586 + MN_PSUBD, P586 + MN_PADDB, P586 + MN_PADDW	; 98
	dw  P586 + MN_PADDD, P186 + MN_UD0, MN_INC, MN_DEC	; 9C
	dw  MN_BOXCB, P386 + MN_BT, P386 + MN_BTS, P386 + MN_BTR	; A0
	dw  P386 + MN_BTC, P586 + MN_CMPXCHG8B, MN_POP, MN_MOV	; A4
	dw  P586 + MN_PSRLW, P586 + MN_PSRAW, P586 + MN_PSLLW, P586 + MN_PSRLD	; A8
	dw  P586 + MN_PSRAD, P586 + MN_PSLLD, P586 + MN_PSRLQ, P586 + MN_PSLLQ	; AC
	dw  MN_FNOP, MN_FCHS, MN_FABS, MN_FTST	; B0
	dw  MN_FXAM, P386 + MN_FUCOMPP, MN_FNENI, MN_FNDISI	; B4
	dw  MN_FNCLEX, MN_FNINIT, P286 + MN_FNSETPM, MN_FCOMPP	; B8
	dw  MN_FNSTSW

;--- Disassembler: table converts unsqueezed numbers to squeezed.

	align 8, db 0
sqztab label byte
	db   1,  2,  3,  4,  0,  0,  5,  0	; 1E0
	db   6,  7,  0,  8,  0,  0,  0,  0	; 1E8
	db   0,  0,  0,  0,  0,  0,  0,  0	; 1F0
	db   0,  0,  0,  0,  0,  0,  0,  0	; 1F8
	db   9, 10, 11, 12, 13,  0, 14,  0	; 200
	db   0,  0,  0,  0,  0,  0,  0,  0	; 208
	db  15, 16, 17,  0,  0,  0,  0,  0	; 210
	db   0,  0,  0,  0,  0,  0,  0,  0	; 218
	db  18, 19, 20, 21, 22, 23, 24, 25	; 220
	db  26, 27, 28, 29, 30, 31, 32, 33	; 228
	db   0,  0,  0,  0,  0,  0,  0,  0	; 230
	db   0,  0,  0,  0,  0,  0,  0,  0	; 238
	db  34, 35, 36, 37, 38, 39, 40, 41	; 240
	db  42, 43, 44, 45,  0,  0, 46, 47	; 248
	db   0, 48, 49, 50, 51, 52, 53, 54	; 250
	db   0,  0,  0,  0,  0,  0, 55, 56	; 258
	db  57, 58, 59, 60, 61, 62, 63, 64	; 260
	db  65, 66, 67, 68, 69, 70, 71, 72	; 268
	db  73, 74, 75, 76, 77, 78, 79, 80	; 270
	db  81, 82, 83, 84, 85, 86, 87, 88	; 278
	db  89, 90, 91, 92, 93, 94,  0,  0	; 280
	db  95, 96, 97, 98, 99,100,  0,101	; 288
	db 102,103,104,105,106,107,108,109	; 290
	db   0,110,111,112,113,114,115,116	; 298
	db 117,118,  0,  0,  0,  0,  0,119	; 2A0
	db 120,121,122,123,124,125,126,127	; 2A8
	db   0,128,129,130,  0,131,  0,  0	; 2B0
	db 132,133,  0,134,135,136,  0,137	; 2B8
	db   0,138,139,  0,  0,140,  0,  0	; 2C0
	db 141,142,  0,143,144,145,  0,146	; 2C8
	db   0,147,148,149,  0,150,  0,  0	; 2D0
	db 151,152,153,  0,154,155,156,157	; 2D8
	db 158,159,  0,  0,  0,  0,  0,160	; 2E0
	db   0,  0,  0,  0,161,162,163,164	; 2E8
	db   0,165,  0,  0,  0,  0,  0,  0	; 2F0
	db 166,  0,  0,  0,  0,  0,  0,  0	; 2F8
	db 167,  0,  0,  0,  0,  0,  0,  0	; 300
	db   0,  0,168,  0,169,  0,170,  0	; 308
	db   0,  0,171,  0,172,  0,173,  0	; 310
	db   0,  0,174,  0,  0,  0,175,  0	; 318
	db 176,  0,  0,  0,  0,  0,  0,  0	; 320
	db 177,178,  0,  0,179,180,  0,  0	; 328
	db   0,181,  0,  0,  0,  0,  0,  0	; 330
	db 182,183,184,185,186,  0,  0,  0	; 338
	db   0,187,  0,  0,  0,  0,  0,  0	; 340
	db 188,  0,  0,  0,  0,  0,  0,  0	; 348

;--- Disassembler: table of mnemonics that change in the presence of a WAIT
;--- instruction.

	align 2, db 0
wtab1 label word
	dw 033Ah,0339h,0338h,033Bh,015Dh,019Eh,033Ch,015Fh
	dw 015Eh,0348h,019Fh
wtab2 label word
	dw MN_FCLEX
	dw MN_FDISI
	dw MN_FENI
	dw MN_FINIT
	dw MN_FLDCW
	dw MN_FSAVE_OSA
	dw MN_FSETPM
	dw MN_FSTCW
	dw MN_FSTENV_OSA
	dw MN_FSTSW
	dw MN_FSTSW
N_WTAB	equ ($ - wtab2) / 2

;--- Disassembler: table for operands which have a different mnemonic for
;--- their 32 bit versions (66h prefix).

	align 2, db 0
ltabo1 label word
	dw 098h,099h
ltabo2 label word
	dw MN_CWDE
	dw MN_CDQ
N_LTABO	equ ($ - ltabo2) / 2

;--- Disassembler: table for operands which have a different mnemonic for
;--- their 32 bit versions (67h prefix).

	align 2, db 0
ltaba1 label word
	dw 0E3h
ltaba2 label word
	dw MN_JECXZ
N_LTABA	equ ($ - ltaba2) / 2

;--- Disassembler: table of lockable instructions

	align 2, db 0
locktab label word
	dw 010Ah,0102h,010h,011h,0108h,0100h,00h,01h
	dw 010Ch,0104h,020h,021h,029Bh,02EFh,0293h,02EEh
	dw 028Bh,02EDh,0290h,0291h,02E1h,0131h,02E0h,0130h
	dw 012Bh,012Ah,0109h,0101h,08h,09h,010Bh,0103h
	dw 018h,019h,010Dh,0105h,028h,029h,02A0h,02A1h
	dw 086h,087h,010Eh,0106h,030h,031h
N_LOCK	equ ($ - locktab) / 2

;--- Equates used in the assembly-language code.

SPARSE_BASE	equ 01E0h
SFPGROUP3	equ 0338h
GROUP7		equ 0130h
SGROUP4		equ 02F8h
