*** Welcome to piglix ***

X86 instruction set


The x86 instruction set refers to the set of instructions that x86-compatible microprocessors support. The instructions are usually part of an executable program, often stored as a computer file and executed on the processor.

The x86 instruction set has been extended several times, introducing wider registers and datatypes as well as new functionality.

This is the full 8086/8088 instruction set. Most if not all of these instructions are available in 32-bit mode; they just operate on 32-bit registers (eax, ebx, etc.) and values instead of their 16-bit (ax, bx, etc.) counterparts. See also x86 assembly language for a quick tutorial for this processor family. The updated instruction set is also grouped according to architecture (i386, i486, i686) and more generally is referred to as x86_32 and x86_64 (also known as AMD64).

Also MMX registers and MMX support instructions were added. They are usable for both integer and floating point operations, see below.

AMD changed the CPUID detection bit for this feature from the K6-II on.


LZCNT, POPCNT (POPulation CouNT) - advanced bit manipulation

ANDN, BEXTR, BLSI, BLSMSK, BLSR, TZCNT

BZHI, MULX, PDEP, PEXT, RORX, SARX, SHRX, SHLX

BEXTR, BLCFILL, BLCI, BLCIC, BLCMASK, BLCS, BLSFILL, BLSIC, T1MSKC, TZMSK

FXRSTOR, FXSAVE

These are also supported on later Pentium IIs which do not contain SSE support

FISTTP (x87 to integer conversion with truncation regardless of status word)

FFREEP performs FFREE ST(i) and pop stack

Same as the SSE SIMD integer instructions which operated on MMX registers.


...
Wikipedia

...