* x86: Completely skip instructions that do not exist for target CPU bit width. The existing behavior of writing mnemonics and properties but no encoding allows an invalid instruction to be recognized by assembler reader or even generated by compiler, but it but won't assemble anyway.

git-svn-id: trunk@27934 -
This commit is contained in:
sergei 2014-06-11 22:31:40 +00:00
parent e7cd5319f0
commit dc628b8969
16 changed files with 30 additions and 412 deletions

View File

@ -161,10 +161,8 @@
'iret',
'iret',
'iretw',
'iretq',
'jcxz',
'jecxz',
'jrcxz',
'jmp',
'lahf',
'lar',
@ -200,7 +198,6 @@
'movq',
'movsb',
'movsl',
'movsq',
'movsw',
'movs',
'movz',
@ -272,7 +269,6 @@
'popf',
'popfl',
'popfw',
'popfq',
'por',
'prefetch',
'prefetchw',
@ -306,7 +302,6 @@
'pushf',
'pushfl',
'pushfw',
'pushfq',
'pxor',
'rcl',
'rcr',
@ -334,7 +329,6 @@
'sbb',
'scasb',
'scasl',
'scasq',
'scasw',
'cs',
'ds',
@ -596,10 +590,6 @@
'xsha256',
'dmint',
'rdm',
'movabs',
'movslq',
'cqto',
'cmpxchg16b',
'movntss',
'movntsd',
'insertq',
@ -637,11 +627,9 @@
'pcmpeqq',
'pextrb',
'pextrd',
'pextrq',
'phminposuw',
'pinsrb',
'pinsrd',
'pinsrq',
'pmaxsb',
'pmaxsd',
'pmaxud',
@ -682,9 +670,6 @@
'aesdeclast',
'aesimc',
'aeskeygenassist',
'stosq',
'lodsq',
'cmpsq',
'vaddpd',
'vaddps',
'vaddsd',
@ -971,20 +956,6 @@
'vpsravd',
'vpsrlvd',
'vpsrlvq',
'add4s',
'brkem',
'clr1',
'cmp4s',
'ext',
'ins',
'not1',
'repc',
'repnc',
'rol4',
'ror4',
'set1',
'sub4s',
'test1',
'vfmadd132pd',
'vfmadd213pd',
'vfmadd231pd',

View File

@ -163,8 +163,6 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufNONE,
attsufINT,
@ -201,7 +199,6 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINTdual,
attsufINTdual,
attsufINT,
@ -273,7 +270,6 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufINT,
attsufNONE,
@ -307,7 +303,6 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufINT,
attsufNONE,
@ -342,7 +337,6 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufINT,
attsufINT,
@ -599,10 +593,6 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufNONE,
@ -667,8 +657,6 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufNONE,
attsufNONE,
@ -713,9 +701,6 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufMM,
attsufMM,
attsufNONE,
@ -1031,19 +1016,5 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE
);

View File

@ -161,10 +161,8 @@
'iret',
'iretd',
'iretw',
'iretq',
'jcxz',
'jecxz',
'jrcxz',
'jmp',
'lahf',
'lar',
@ -200,7 +198,6 @@
'movq',
'movsb',
'movsd',
'movsq',
'movsw',
'movsx',
'movzx',
@ -272,7 +269,6 @@
'popf',
'popfd',
'popfw',
'popfq',
'por',
'prefetch',
'prefetchw',
@ -306,7 +302,6 @@
'pushf',
'pushfd',
'pushfw',
'pushfq',
'pxor',
'rcl',
'rcr',
@ -334,7 +329,6 @@
'sbb',
'scasb',
'scasd',
'scasq',
'scasw',
'segcs',
'segds',
@ -596,10 +590,6 @@
'xsha256',
'dmint',
'rdm',
'movabs',
'movsxd',
'cqo',
'cmpxchg16b',
'movntss',
'movntsd',
'insertq',
@ -637,11 +627,9 @@
'pcmpeqq',
'pextrb',
'pextrd',
'pextrq',
'phminposuw',
'pinsrb',
'pinsrd',
'pinsrq',
'pmaxsb',
'pmaxsd',
'pmaxud',
@ -682,9 +670,6 @@
'aesdeclast',
'aesimc',
'aeskeygenassist',
'stosq',
'lodsq',
'cmpsq',
'vaddpd',
'vaddps',
'vaddsd',
@ -971,20 +956,6 @@
'vpsravd',
'vpsrlvd',
'vpsrlvq',
'add4s',
'brkem',
'clr1',
'cmp4s',
'ext',
'ins',
'not1',
'repc',
'repnc',
'rol4',
'ror4',
'set1',
'sub4s',
'test1',
'vfmadd132pd',
'vfmadd213pd',
'vfmadd231pd',

View File

@ -161,10 +161,8 @@ A_INVLPG,
A_IRET,
A_IRETD,
A_IRETW,
A_IRETQ,
A_JCXZ,
A_JECXZ,
A_JRCXZ,
A_JMP,
A_LAHF,
A_LAR,
@ -200,7 +198,6 @@ A_MOVD,
A_MOVQ,
A_MOVSB,
A_MOVSD,
A_MOVSQ,
A_MOVSW,
A_MOVSX,
A_MOVZX,
@ -272,7 +269,6 @@ A_POPAW,
A_POPF,
A_POPFD,
A_POPFW,
A_POPFQ,
A_POR,
A_PREFETCH,
A_PREFETCHW,
@ -306,7 +302,6 @@ A_PUSHAW,
A_PUSHF,
A_PUSHFD,
A_PUSHFW,
A_PUSHFQ,
A_PXOR,
A_RCL,
A_RCR,
@ -334,7 +329,6 @@ A_SAR,
A_SBB,
A_SCASB,
A_SCASD,
A_SCASQ,
A_SCASW,
A_SEGCS,
A_SEGDS,
@ -596,10 +590,6 @@ A_XSHA1,
A_XSHA256,
A_DMINT,
A_RDM,
A_MOVABS,
A_MOVSXD,
A_CQO,
A_CMPXCHG16B,
A_MOVNTSS,
A_MOVNTSD,
A_INSERTQ,
@ -637,11 +627,9 @@ A_PBLENDW,
A_PCMPEQQ,
A_PEXTRB,
A_PEXTRD,
A_PEXTRQ,
A_PHMINPOSUW,
A_PINSRB,
A_PINSRD,
A_PINSRQ,
A_PMAXSB,
A_PMAXSD,
A_PMAXUD,
@ -682,9 +670,6 @@ A_AESDEC,
A_AESDECLAST,
A_AESIMC,
A_AESKEYGENASSIST,
A_STOSQ,
A_LODSQ,
A_CMPSQ,
A_VADDPD,
A_VADDPS,
A_VADDSD,
@ -971,20 +956,6 @@ A_VPSLLVQ,
A_VPSRAVD,
A_VPSRLVD,
A_VPSRLVQ,
A_ADD4S,
A_BRKEM,
A_CLR1,
A_CMP4S,
A_EXT,
A_INS,
A_NOT1,
A_REPC,
A_REPNC,
A_ROL4,
A_ROR4,
A_SET1,
A_SUB4S,
A_TEST1,
A_VFMADD132PD,
A_VFMADD213PD,
A_VFMADD231PD,

View File

@ -161,8 +161,6 @@
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_RECX, Ch_None, Ch_None)),
(Ch: (Ch_RECX, Ch_None, Ch_None)),
(Ch: (Ch_RECX, Ch_None, Ch_None)),
(Ch: (Ch_ROp1, Ch_None, Ch_None)),
@ -201,7 +199,6 @@
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
(Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
(Ch: (Ch_RWEAX, Ch_WEDX, Ch_WFlags)),
@ -272,7 +269,6 @@
(Ch: (Ch_RWESP, Ch_WFlags, Ch_None)),
(Ch: (Ch_RWESP, Ch_WFlags, Ch_None)),
(Ch: (Ch_RWESP, Ch_WFLAGS, Ch_None)),
(Ch: (Ch_RWESP, Ch_WFlags, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
@ -306,7 +302,6 @@
(Ch: (Ch_RWESP, Ch_RFlags, Ch_None)),
(Ch: (Ch_RWESP, Ch_RFlags, Ch_None)),
(Ch: (Ch_RWESP, Ch_RFLAGS, Ch_None)),
(Ch: (Ch_RWESP, Ch_RFlags, Ch_None)),
(Ch: (Ch_Mop2, Ch_Rop1, Ch_None)),
(Ch: (Ch_Mop2, Ch_Rop1, Ch_RWFlags)),
(Ch: (Ch_Mop2, Ch_Rop1, Ch_RWFlags)),
@ -335,7 +330,6 @@
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_None, Ch_None, Ch_None)),
(Ch: (Ch_None, Ch_None, Ch_None)),
(Ch: (Ch_None, Ch_None, Ch_None)),
@ -596,12 +590,6 @@
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
(Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
(Ch: (Ch_MRAX, Ch_WRDX, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
@ -682,9 +670,6 @@
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_RRAX, Ch_WMemEDI, Ch_RWRDI)),
(Ch: (Ch_WRAX, Ch_RWRSI, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_Wop3, Ch_Rop2, Ch_Rop1)),
(Ch: (Ch_Wop3, Ch_Rop2, Ch_Rop1)),
(Ch: (Ch_Wop3, Ch_Rop2, Ch_Rop1)),
@ -971,20 +956,6 @@
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_Mop2, Ch_Rop1, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_Mop2, Ch_Rop1, Ch_None)),
(Ch: (Ch_RWECX, Ch_RWFlags, Ch_None)),
(Ch: (Ch_RWECX, Ch_RWFlags, Ch_None)),
(Ch: (Ch_Mop1, Ch_RWEAX, Ch_None)),
(Ch: (Ch_Mop1, Ch_RWEAX, Ch_None)),
(Ch: (Ch_Mop2, Ch_Rop1, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_WFlags, Ch_Rop1, Ch_Rop2)),
(Ch: (Ch_Mop3, Ch_Rop2, Ch_Rop1)),
(Ch: (Ch_Mop3, Ch_Rop2, Ch_Rop1)),
(Ch: (Ch_Mop3, Ch_Rop2, Ch_Rop1)),

View File

@ -161,10 +161,8 @@
'iret',
'iret',
'iretw',
'iretq',
'jcxz',
'jecxz',
'jrcxz',
'jmp',
'lahf',
'lar',
@ -200,7 +198,6 @@
'movq',
'movsb',
'movsl',
'movsq',
'movsw',
'movs',
'movz',
@ -272,7 +269,6 @@
'popf',
'popfl',
'popfw',
'popfq',
'por',
'prefetch',
'prefetchw',
@ -306,7 +302,6 @@
'pushf',
'pushfl',
'pushfw',
'pushfq',
'pxor',
'rcl',
'rcr',
@ -334,7 +329,6 @@
'sbb',
'scasb',
'scasl',
'scasq',
'scasw',
'cs',
'ds',
@ -596,10 +590,6 @@
'xsha256',
'dmint',
'rdm',
'movabs',
'movslq',
'cqto',
'cmpxchg16b',
'movntss',
'movntsd',
'insertq',
@ -637,11 +627,9 @@
'pcmpeqq',
'pextrb',
'pextrd',
'pextrq',
'phminposuw',
'pinsrb',
'pinsrd',
'pinsrq',
'pmaxsb',
'pmaxsd',
'pmaxud',
@ -682,9 +670,6 @@
'aesdeclast',
'aesimc',
'aeskeygenassist',
'stosq',
'lodsq',
'cmpsq',
'vaddpd',
'vaddps',
'vaddsd',

View File

@ -163,8 +163,6 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufNONE,
attsufINT,
@ -201,7 +199,6 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINTdual,
attsufINTdual,
attsufINT,
@ -273,7 +270,6 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufINT,
attsufNONE,
@ -307,7 +303,6 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufINT,
attsufNONE,
@ -342,7 +337,6 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufINT,
attsufINT,
@ -599,10 +593,6 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufNONE,
@ -667,8 +657,6 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufNONE,
attsufNONE,
@ -713,9 +701,6 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufMM,
attsufMM,
attsufNONE,

View File

@ -161,10 +161,8 @@
'iret',
'iretd',
'iretw',
'iretq',
'jcxz',
'jecxz',
'jrcxz',
'jmp',
'lahf',
'lar',
@ -200,7 +198,6 @@
'movq',
'movsb',
'movsd',
'movsq',
'movsw',
'movsx',
'movzx',
@ -272,7 +269,6 @@
'popf',
'popfd',
'popfw',
'popfq',
'por',
'prefetch',
'prefetchw',
@ -306,7 +302,6 @@
'pushf',
'pushfd',
'pushfw',
'pushfq',
'pxor',
'rcl',
'rcr',
@ -334,7 +329,6 @@
'sbb',
'scasb',
'scasd',
'scasq',
'scasw',
'segcs',
'segds',
@ -596,10 +590,6 @@
'xsha256',
'dmint',
'rdm',
'movabs',
'movsxd',
'cqo',
'cmpxchg16b',
'movntss',
'movntsd',
'insertq',
@ -637,11 +627,9 @@
'pcmpeqq',
'pextrb',
'pextrd',
'pextrq',
'phminposuw',
'pinsrb',
'pinsrd',
'pinsrq',
'pmaxsb',
'pmaxsd',
'pmaxud',
@ -682,9 +670,6 @@
'aesdeclast',
'aesimc',
'aeskeygenassist',
'stosq',
'lodsq',
'cmpsq',
'vaddpd',
'vaddps',
'vaddsd',

View File

@ -161,10 +161,8 @@ A_INVLPG,
A_IRET,
A_IRETD,
A_IRETW,
A_IRETQ,
A_JCXZ,
A_JECXZ,
A_JRCXZ,
A_JMP,
A_LAHF,
A_LAR,
@ -200,7 +198,6 @@ A_MOVD,
A_MOVQ,
A_MOVSB,
A_MOVSD,
A_MOVSQ,
A_MOVSW,
A_MOVSX,
A_MOVZX,
@ -272,7 +269,6 @@ A_POPAW,
A_POPF,
A_POPFD,
A_POPFW,
A_POPFQ,
A_POR,
A_PREFETCH,
A_PREFETCHW,
@ -306,7 +302,6 @@ A_PUSHAW,
A_PUSHF,
A_PUSHFD,
A_PUSHFW,
A_PUSHFQ,
A_PXOR,
A_RCL,
A_RCR,
@ -334,7 +329,6 @@ A_SAR,
A_SBB,
A_SCASB,
A_SCASD,
A_SCASQ,
A_SCASW,
A_SEGCS,
A_SEGDS,
@ -596,10 +590,6 @@ A_XSHA1,
A_XSHA256,
A_DMINT,
A_RDM,
A_MOVABS,
A_MOVSXD,
A_CQO,
A_CMPXCHG16B,
A_MOVNTSS,
A_MOVNTSD,
A_INSERTQ,
@ -637,11 +627,9 @@ A_PBLENDW,
A_PCMPEQQ,
A_PEXTRB,
A_PEXTRD,
A_PEXTRQ,
A_PHMINPOSUW,
A_PINSRB,
A_PINSRD,
A_PINSRQ,
A_PMAXSB,
A_PMAXSD,
A_PMAXUD,
@ -682,9 +670,6 @@ A_AESDEC,
A_AESDECLAST,
A_AESIMC,
A_AESKEYGENASSIST,
A_STOSQ,
A_LODSQ,
A_CMPSQ,
A_VADDPD,
A_VADDPS,
A_VADDSD,

View File

@ -161,8 +161,6 @@
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_RECX, Ch_None, Ch_None)),
(Ch: (Ch_RECX, Ch_None, Ch_None)),
(Ch: (Ch_RECX, Ch_None, Ch_None)),
(Ch: (Ch_ROp1, Ch_None, Ch_None)),
@ -201,7 +199,6 @@
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
(Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
(Ch: (Ch_RWEAX, Ch_WEDX, Ch_WFlags)),
@ -272,7 +269,6 @@
(Ch: (Ch_RWESP, Ch_WFlags, Ch_None)),
(Ch: (Ch_RWESP, Ch_WFlags, Ch_None)),
(Ch: (Ch_RWESP, Ch_WFLAGS, Ch_None)),
(Ch: (Ch_RWESP, Ch_WFlags, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
@ -306,7 +302,6 @@
(Ch: (Ch_RWESP, Ch_RFlags, Ch_None)),
(Ch: (Ch_RWESP, Ch_RFlags, Ch_None)),
(Ch: (Ch_RWESP, Ch_RFLAGS, Ch_None)),
(Ch: (Ch_RWESP, Ch_RFlags, Ch_None)),
(Ch: (Ch_Mop2, Ch_Rop1, Ch_None)),
(Ch: (Ch_Mop2, Ch_Rop1, Ch_RWFlags)),
(Ch: (Ch_Mop2, Ch_Rop1, Ch_RWFlags)),
@ -335,7 +330,6 @@
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_None, Ch_None, Ch_None)),
(Ch: (Ch_None, Ch_None, Ch_None)),
(Ch: (Ch_None, Ch_None, Ch_None)),
@ -596,12 +590,6 @@
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
(Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
(Ch: (Ch_MRAX, Ch_WRDX, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
@ -682,9 +670,6 @@
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_RRAX, Ch_WMemEDI, Ch_RWRDI)),
(Ch: (Ch_WRAX, Ch_RWRSI, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_Wop3, Ch_Rop2, Ch_Rop1)),
(Ch: (Ch_Wop3, Ch_Rop2, Ch_Rop1)),
(Ch: (Ch_Wop3, Ch_Rop2, Ch_Rop1)),

View File

@ -203,6 +203,29 @@ var
codes,
flags : string;
optypes : array[1..max_operands] of string;
inschanges: string;
instrwritten: boolean;
procedure DoWriteInstr;
begin
if firstopcode then
firstopcode:=false
else
begin
writeln(opfile,',');
writeln(attfile,',');
writeln(attsuffile,',');
writeln(intfile,',');
writeln(propfile,',');
end;
write(opfile,opcode);
write(intfile,'''',intopcode,'''');
write(attfile,'''',attopcode,'''');
write(attsuffile,attsuffix);
write(propfile,'(Ch: ',inschanges,')');
end;
begin
writeln('Nasm Instruction Table Converter Version ',Version);
i8086:=paramstr(1)='i8086';
@ -319,25 +342,12 @@ begin
end;
intopcode:=Lower(intopcode);
attopcode:=Lower(attopcode);
if firstopcode then
firstopcode:=false
else
begin
writeln(opfile,',');
writeln(attfile,',');
writeln(attsuffile,',');
writeln(intfile,',');
writeln(propfile,',');
end;
write(opfile,opcode);
write(intfile,'''',intopcode,'''');
write(attfile,'''',attopcode,'''');
write(attsuffile,attsuffix);
instrwritten:=false;
{ read the next line which contains the Change options }
repeat
readln(infile,s);
until eof(infile) or ((s<>'') and (s[1]<>';'));
write(propfile,'(Ch: ',s,')');
readln(infile,inschanges);
until eof(infile) or ((inschanges<>'') and (inschanges[1]<>';'));
continue;
end;
{ we must have an opcode }
@ -443,6 +453,9 @@ begin
{ write instruction }
if not skip then
begin
if not instrwritten then
DoWriteInstr;
instrwritten:=true;
if not(first) then
writeln(insfile,',')
else

View File

@ -1,12 +1,6 @@
{ don't edit, this file is generated from x86ins.dat }
(
attsufNONE,
attsufNONE,
attsufINT,
attsufINT,
attsufNONE,
attsufINT,
attsufINT,
attsufINT,
attsufINT,
attsufINT,
@ -35,8 +29,6 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufINT,
attsufNONE,
@ -156,7 +148,6 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufNONE,
attsufNONE,
@ -164,19 +155,16 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufNONE,
attsufINT,
attsufNONE,
attsufINT,
attsufINT,
attsufNONE,
attsufINT,
attsufINT,
attsufINT,
attsufINT,
attsufINT,
attsufNONE,
attsufINT,
attsufINT,
@ -266,10 +254,6 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufINT,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
@ -300,10 +284,6 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufINT,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
@ -329,7 +309,6 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufINT,
attsufNONE,
attsufINT,
attsufINT,
attsufNONE,
@ -1031,19 +1010,5 @@ attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE,
attsufNONE
);

View File

@ -1,15 +1,9 @@
{ don't edit, this file is generated from x86ins.dat }
(
'none',
'aaa',
'aad',
'aam',
'aas',
'adc',
'add',
'and',
'arpl',
'bound',
'bsf',
'bsr',
'bswap',
@ -35,8 +29,6 @@
'cpuid',
'cwd',
'cwtl',
'daa',
'das',
'dec',
'div',
'emms',
@ -155,24 +147,20 @@
'int1',
'int03',
'int3',
'into',
'invd',
'invlpg',
'iret',
'iret',
'iretw',
'iretq',
'jcxz',
'jecxz',
'jrcxz',
'jmp',
'lahf',
'lar',
'lcall',
'lds',
'lea',
'leave',
'les',
'lfs',
'lgdt',
'lgs',
@ -266,11 +254,7 @@
'pmvnzb',
'pmvzb',
'pop',
'popa',
'popal',
'popaw',
'popf',
'popfl',
'popfw',
'popfq',
'por',
@ -300,11 +284,7 @@
'punpckldq',
'punpcklwd',
'push',
'pusha',
'pushal',
'pushaw',
'pushf',
'pushfl',
'pushfw',
'pushfq',
'pxor',
@ -329,7 +309,6 @@
'rsm',
'sahf',
'sal',
'salc',
'sar',
'sbb',
'scasb',
@ -971,20 +950,6 @@
'vpsravd',
'vpsrlvd',
'vpsrlvq',
'add4s',
'brkem',
'clr1',
'cmp4s',
'ext',
'ins',
'not1',
'repc',
'repnc',
'rol4',
'ror4',
'set1',
'sub4s',
'test1',
'vfmadd132pd',
'vfmadd213pd',
'vfmadd231pd',

View File

@ -1,15 +1,9 @@
{ don't edit, this file is generated from x86ins.dat }
(
'none',
'aaa',
'aad',
'aam',
'aas',
'adc',
'add',
'and',
'arpl',
'bound',
'bsf',
'bsr',
'bswap',
@ -35,8 +29,6 @@
'cpuid',
'cwd',
'cwde',
'daa',
'das',
'dec',
'div',
'emms',
@ -155,24 +147,20 @@
'int1',
'int03',
'int3',
'into',
'invd',
'invlpg',
'iret',
'iretd',
'iretw',
'iretq',
'jcxz',
'jecxz',
'jrcxz',
'jmp',
'lahf',
'lar',
'lcall',
'lds',
'lea',
'leave',
'les',
'lfs',
'lgdt',
'lgs',
@ -266,11 +254,7 @@
'pmvnzb',
'pmvzb',
'pop',
'popa',
'popad',
'popaw',
'popf',
'popfd',
'popfw',
'popfq',
'por',
@ -300,11 +284,7 @@
'punpckldq',
'punpcklwd',
'push',
'pusha',
'pushad',
'pushaw',
'pushf',
'pushfd',
'pushfw',
'pushfq',
'pxor',
@ -329,7 +309,6 @@
'rsm',
'sahf',
'sal',
'salc',
'sar',
'sbb',
'scasb',
@ -971,20 +950,6 @@
'vpsravd',
'vpsrlvd',
'vpsrlvq',
'add4s',
'brkem',
'clr1',
'cmp4s',
'ext',
'ins',
'not1',
'repc',
'repnc',
'rol4',
'ror4',
'set1',
'sub4s',
'test1',
'vfmadd132pd',
'vfmadd213pd',
'vfmadd231pd',

View File

@ -1,15 +1,9 @@
{ don't edit, this file is generated from x86ins.dat }
(
A_NONE,
A_AAA,
A_AAD,
A_AAM,
A_AAS,
A_ADC,
A_ADD,
A_AND,
A_ARPL,
A_BOUND,
A_BSF,
A_BSR,
A_BSWAP,
@ -35,8 +29,6 @@ A_CMPXCHG8B,
A_CPUID,
A_CWD,
A_CWDE,
A_DAA,
A_DAS,
A_DEC,
A_DIV,
A_EMMS,
@ -155,24 +147,20 @@ A_INT01,
A_INT1,
A_INT03,
A_INT3,
A_INTO,
A_INVD,
A_INVLPG,
A_IRET,
A_IRETD,
A_IRETW,
A_IRETQ,
A_JCXZ,
A_JECXZ,
A_JRCXZ,
A_JMP,
A_LAHF,
A_LAR,
A_LCALL,
A_LDS,
A_LEA,
A_LEAVE,
A_LES,
A_LFS,
A_LGDT,
A_LGS,
@ -266,11 +254,7 @@ A_PMVLZB,
A_PMVNZB,
A_PMVZB,
A_POP,
A_POPA,
A_POPAD,
A_POPAW,
A_POPF,
A_POPFD,
A_POPFW,
A_POPFQ,
A_POR,
@ -300,11 +284,7 @@ A_PUNPCKLBW,
A_PUNPCKLDQ,
A_PUNPCKLWD,
A_PUSH,
A_PUSHA,
A_PUSHAD,
A_PUSHAW,
A_PUSHF,
A_PUSHFD,
A_PUSHFW,
A_PUSHFQ,
A_PXOR,
@ -329,7 +309,6 @@ A_RSLDT,
A_RSM,
A_SAHF,
A_SAL,
A_SALC,
A_SAR,
A_SBB,
A_SCASB,
@ -971,20 +950,6 @@ A_VPSLLVQ,
A_VPSRAVD,
A_VPSRLVD,
A_VPSRLVQ,
A_ADD4S,
A_BRKEM,
A_CLR1,
A_CMP4S,
A_EXT,
A_INS,
A_NOT1,
A_REPC,
A_REPNC,
A_ROL4,
A_ROR4,
A_SET1,
A_SUB4S,
A_TEST1,
A_VFMADD132PD,
A_VFMADD213PD,
A_VFMADD231PD,

View File

@ -1,15 +1,9 @@
{ don't edit, this file is generated from x86ins.dat }
(
(Ch: (Ch_None, Ch_None, Ch_None)),
(Ch: (Ch_MEAX, Ch_WFlags, Ch_None)),
(Ch: (Ch_MEAX, Ch_WFlags, Ch_None)),
(Ch: (Ch_MEAX, Ch_WFlags, Ch_None)),
(Ch: (Ch_MEAX, Ch_WFlags, Ch_None)),
(Ch: (Ch_Mop2, Ch_Rop1, Ch_RWFlags)),
(Ch: (Ch_Mop2, Ch_Rop1, Ch_WFlags)),
(Ch: (Ch_Mop2, Ch_Rop1, Ch_WFlags)),
(Ch: (Ch_WFlags, Ch_None, Ch_None)),
(Ch: (Ch_Rop1, Ch_None, Ch_None)),
(Ch: (Ch_Wop2, Ch_WFlags, Ch_Rop1)),
(Ch: (Ch_Wop2, Ch_WFlags, Ch_Rop1)),
(Ch: (Ch_MOp1, Ch_None, Ch_None)),
@ -35,8 +29,6 @@
(Ch: (Ch_All, Ch_None, Ch_none)),
(Ch: (Ch_MEAX, Ch_WEDX, Ch_None)),
(Ch: (Ch_MEAX, Ch_None, Ch_None)),
(Ch: (Ch_MEAX, Ch_None, Ch_None)),
(Ch: (Ch_MEAX, Ch_None, Ch_None)),
(Ch: (Ch_Mop1, Ch_WFlags, Ch_None)),
(Ch: (Ch_RWEAX, Ch_WEDX, Ch_WFlags)),
(Ch: (Ch_FPU, Ch_None, Ch_None)),
@ -161,8 +153,6 @@
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_RECX, Ch_None, Ch_None)),
(Ch: (Ch_RECX, Ch_None, Ch_None)),
(Ch: (Ch_RECX, Ch_None, Ch_None)),
(Ch: (Ch_ROp1, Ch_None, Ch_None)),
@ -170,10 +160,8 @@
(Ch: (Ch_Wop2, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
(Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
(Ch: (Ch_RWESP, Ch_WEBP, Ch_None)),
(Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
(Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
(Ch: (Ch_None, Ch_None, Ch_None)),
(Ch: (Ch_Wop2, Ch_Rop1, Ch_None)),
(Ch: (Ch_None, Ch_None, Ch_None)),
@ -266,10 +254,6 @@
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_Wop1, Ch_RWESP, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_RWESP, Ch_WFlags, Ch_None)),
(Ch: (Ch_RWESP, Ch_WFlags, Ch_None)),
(Ch: (Ch_RWESP, Ch_WFLAGS, Ch_None)),
(Ch: (Ch_RWESP, Ch_WFlags, Ch_None)),
@ -300,10 +284,6 @@
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_Rop1, Ch_RWESP, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_RWESP, Ch_RFlags, Ch_None)),
(Ch: (Ch_RWESP, Ch_RFlags, Ch_None)),
(Ch: (Ch_RWESP, Ch_RFLAGS, Ch_None)),
(Ch: (Ch_RWESP, Ch_RFlags, Ch_None)),
@ -329,7 +309,6 @@
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_WFlags, Ch_REAX, Ch_None)),
(Ch: (Ch_Mop2, Ch_Rop1, Ch_RWFlags)),
(Ch: (Ch_WEAX, Ch_RFLAGS, Ch_None)),
(Ch: (Ch_Mop2, Ch_Rop1, Ch_WFlags)),
(Ch: (Ch_Mop2, Ch_Rop1, Ch_RWFlags)),
(Ch: (Ch_All, Ch_None, Ch_None)),
@ -971,20 +950,6 @@
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_Mop2, Ch_Rop1, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_Mop2, Ch_Rop1, Ch_None)),
(Ch: (Ch_RWECX, Ch_RWFlags, Ch_None)),
(Ch: (Ch_RWECX, Ch_RWFlags, Ch_None)),
(Ch: (Ch_Mop1, Ch_RWEAX, Ch_None)),
(Ch: (Ch_Mop1, Ch_RWEAX, Ch_None)),
(Ch: (Ch_Mop2, Ch_Rop1, Ch_None)),
(Ch: (Ch_All, Ch_None, Ch_None)),
(Ch: (Ch_WFlags, Ch_Rop1, Ch_Rop2)),
(Ch: (Ch_Mop3, Ch_Rop2, Ch_Rop1)),
(Ch: (Ch_Mop3, Ch_Rop2, Ch_Rop1)),
(Ch: (Ch_Mop3, Ch_Rop2, Ch_Rop1)),