using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cosmos.Assembler.X86 { /// /// /// public enum InstructionSet { /// /// 8086 to 486 instructions. No special instruction set /// LEGACY, /// /// FPU instruction set /// FPU, /// /// MMX Technology /// MMX, /// /// AMD 3DNow! instruction set /// AMD_3DNOW, /// /// Streaming SIMD Extensions 1 /// SSE1, /// /// Streaming SIMD Extensions 2 /// SSE2, /// /// Streaming SIMD Extensions 3 /// SSE3, /// /// Supplemental Streaming SIMD Extensions 3 /// SSSE3, /// /// Streaming SIMD Extensions 4A (AMD) /// SSE4A, /// /// Streaming SIMD Extensions 4.1 /// SSE41, /// /// Streaming SIMD Extensions 4.2 /// SSE42, /// /// Virtualization Technology Extensions /// VMX, /// /// Safer Mode Extensions /// SMX, /// /// Fused Multiply/Add instructions( Intel 3 operands, AMD 4 operands ) /// FMA, /// /// AMD64, EMT64, INTEL64 instruction set /// LONG, /// /// Mask used for InstructionSet flags /// //CPU_8086 = 0x00010000, //CPU_80186 = 0x00020000, //CPU_80286 = 0x00040000, //CPU_80386 = 0x00080000, //CPU_80486 = 0x00100000, //PentiumI = 0x00200000, //PentiumMMX = 0x00400000, //PentiumPro = 0x00800000, //PentiumII = 0x01000000, //PentiumIII = 0x02000000, //Pentium4 = 0x04000000, //Core1 = 0x08000000, //Core2 = 0x10000000, //Corei7 = 0x20000000, //Itanium = 0x40000000, //Other = 0x80000000, //CPUMask = 0xFFFF0000, } }