El conjunt d'instruccions x86 s'ha ampliat diverses vegades, introduint registres i tipus de dades més amplis, així com noves funcionalitats.[1]
Instruccions enteres x86
A continuació es mostra el conjunt complet d'instruccions 8086/8088 d'Intel (81 instruccions en total). La majoria, si no totes, d'aquestes instruccions estan disponibles en mode de 32 bits; només operen en registres de 32 bits (eax, ebx, etc.) i valors en lloc dels seus homòlegs de 16 bits (ax, bx, etc.). El conjunt d'instruccions actualitzat també s'agrupa segons l'arquitectura (i386, i486, i686) i de manera més general es coneix com (32 bits) x86 i (64 bits) x86-64 (també conegut com AMD64).
Instruccions originals 8086/8088
Aquest és el conjunt d'instruccions complet del 8086/8088, però la majoria d'aquestes instruccions, si no totes, estan disponibles en la manera de 32 bits, elles simplement operarien en registres i valors de 32 bits (EAX, EBX, etc) en comptes de les seves contraparts de 16 bits (AX, BX, etc). Veure llenguatge assemblador x86 per a un tutorial ràpid per a aquesta família de processadors. El conjunt d'instruccions actualitzat també està agrupat d'acord amb l'arquitectura (i386, i486, i686) i més generalment està referit com x86_32 i x86_64 (també conegut com AMD64).[2]
Representació de nombres enters
Els números en els registres poden representar-se de dues maneres. La primera és una representació d'enter positiu sense signe, el rang del qual serà des de 0 fins a 2n, on n és 8, 16, 32 o 64 bits depenent de la grandària del registre. La segona és una representació d'enter amb signe (complement a dos, amb un rang entre -2n-1 fins a 2n-1 - 1, on n és, igual que en l'anterior, l'ample de bits del registre, (8, 16, 32 o 64 bits).
Rang dels números d'acord amb la grandària dels registres i la seva representació com a enter amb signe i sense signe:
Grandària del registre
Enters sense signe
Enters amb signe(complement a dos)
8 bits
0 a 255
-128 a 127
16 bits
0 a 65.535
-32.768 a 32.767
32 bits
0 a 4.294.967.295
-2.147.483.648 a 2.147.483.647
64 bits
0 a 18.446.744.073.709.551.615
-9.223.372.036.854.775.808 a 9.223.372.036.854.775.807
Instruccions x86
A baix una taula amb les instruccions x86. La columna CPU indica el primer CPU que va tenir la instrucció, començant amb l'Intel 8086 i l'Intel 8088, que van ser els primers CPU de la sèrie x86: [3]