From WikiChip
Difference between revisions of "x86"

 
(6 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
{{x86 isa main}}
 
{{x86 isa main}}
'''x86''' is a family of [[little-endian]], [[CISC]], [[instruction set architectures]] and [[instruction set architectures extension|extensions]]. As its namesake indicates, the x86 ISA offers [[binary compatibility]] all the way from the original {{intel|8086}} to modern [[microarchitecture]]s as well as [[source code compatibility]] since the {{intel|8080}}. Today, the architecture is widely used in the [[desktop]] and [[server]] markets by a number of [[semiconductor companies|companies]] including [[Intel]], [[AMD]], [[VIA]], [[Zhaoxin]], [[DM&P]], and [[RDC Semiconductors|RDC]].
+
'''x86''' is a family of [[little-endian]] [[variable-length]] [[instruction set architectures]] and [[instruction set architectures extension|extensions]]. As its namesake indicates, the x86 ISA offers [[binary compatibility]] all the way from the original {{intel|8086}} to modern [[microarchitecture]]s as well as [[source code compatibility]] since the {{intel|8080}}. The x86 architecture is widely used in the [[desktop]] and [[server]] markets. Today, custom x86-based implementations are designed by a number of [[semiconductor companies|companies]] including [[Intel]], [[AMD]], [[VIA]], [[Zhaoxin]], [[DM&P]], and [[RDC Semiconductors|RDC]].
  
Generally speaking, the term 'x86' encompasses the original {{x86|x86-16}}, {{x86|x86-32}} (IA-32), {{x86|x86-64}} (AMD64), and the various extensions such as {{x86|MMX}}, {{x86|3DNOW!}}, and {{x86|SSE}}.
+
Generally speaking, the term 'x86' is most often used as an umbrella term encompassing the original {{x86|x86-16}}, {{x86|x86-32}} (IA-32), {{x86|x86-64}} (AMD64), and the various extensions such as {{x86|MMX}}, {{x86|3DNOW!}}, and {{x86|SSE}}.
  
 
== History ==
 
== History ==
Line 12: Line 12:
 
=== Registers ===
 
=== Registers ===
 
{{empty section}}
 
{{empty section}}
 +
{| class="wikitable"
 +
|-
 +
! Quad word (8 bytes) !! Double word (4 bytes) !! Word (2 bytes) !! Byte 1 !! Byte 0
 +
|-
 +
| %rax ||  %eax ||  %ax ||  %ah ||  %al
 +
|-
 +
| %rcx ||  %ecx ||  %cx ||  %ch ||  %cl
 +
|-
 +
| %rdx ||  %edx ||  %dx ||  %dh ||  %dl
 +
|-
 +
| %rbx ||  %ebx ||  %bx ||  %bh ||  %bl
 +
|-
 +
| %rsi ||  %esi ||  %si ||      ||  %sil
 +
|-
 +
| %rdi ||  %edi ||  %di ||      ||  %dil
 +
|-
 +
| %rsp ||  %esp ||  %sp ||      ||  %spl
 +
|-
 +
| %rbp ||  %ebp ||  %bp ||      ||  %bpl
 +
|-
 +
| %r8 ||  %r8d ||  %r8w ||      ||  %r8b
 +
|-
 +
| %r9 ||  %r9d ||  %r9w ||      ||  %r9b
 +
|-
 +
| %r10 ||  %r10d ||  %r10w ||  ||  %r10b
 +
|-
 +
| %r11 ||  %r11d ||  %r11w ||  ||  %r11b
 +
|-
 +
| %r12 ||  %r12d ||  %r12w ||  ||  %r12b
 +
|-
 +
| %r13 ||  %r13d ||  %r13w ||  ||  %r13b
 +
|-
 +
| %r14 ||  %r14d ||  %r14w ||  ||  %r14b
 +
|-
 +
| %r15 ||  %r15d ||  %r15w ||  ||  %r15b
 +
|}
 
=== Operation Modes ===
 
=== Operation Modes ===
 
{{empty section}}
 
{{empty section}}
Line 35: Line 71:
  
 
{{stub}}
 
{{stub}}
 +
 +
[[category:instruction set architectures]]
 +
[[category:x86]]
  
 
[[designer::Intel| ]]
 
[[designer::Intel| ]]

Latest revision as of 10:29, 10 July 2021

x86 is a family of little-endian variable-length instruction set architectures and extensions. As its namesake indicates, the x86 ISA offers binary compatibility all the way from the original 8086 to modern microarchitectures as well as source code compatibility since the 8080. The x86 architecture is widely used in the desktop and server markets. Today, custom x86-based implementations are designed by a number of companies including Intel, AMD, VIA, Zhaoxin, DM&P, and RDC.

Generally speaking, the term 'x86' is most often used as an umbrella term encompassing the original x86-16, x86-32 (IA-32), x86-64 (AMD64), and the various extensions such as MMX, 3DNOW!, and SSE.

History[edit]

Main article: History of x86
New text document.svg This section is empty; you can help add the missing info by editing this page.

Overview[edit]

New text document.svg This section is empty; you can help add the missing info by editing this page.

Registers[edit]

New text document.svg This section is empty; you can help add the missing info by editing this page.
Quad word (8 bytes) Double word (4 bytes) Word (2 bytes) Byte 1 Byte 0
 %rax  %eax  %ax  %ah  %al
 %rcx  %ecx  %cx  %ch  %cl
 %rdx  %edx  %dx  %dh  %dl
 %rbx  %ebx  %bx  %bh  %bl
 %rsi  %esi  %si  %sil
 %rdi  %edi  %di  %dil
 %rsp  %esp  %sp  %spl
 %rbp  %ebp  %bp  %bpl
 %r8  %r8d  %r8w  %r8b
 %r9  %r9d  %r9w  %r9b
 %r10  %r10d  %r10w  %r10b
 %r11  %r11d  %r11w  %r11b
 %r12  %r12d  %r12w  %r12b
 %r13  %r13d  %r13w  %r13b
 %r14  %r14d  %r14w  %r14b
 %r15  %r15d  %r15w  %r15b

Operation Modes[edit]

New text document.svg This section is empty; you can help add the missing info by editing this page.

Instruction Set[edit]

New text document.svg This section is empty; you can help add the missing info by editing this page.

Syntaxes[edit]

New text document.svg This section is empty; you can help add the missing info by editing this page.

Interrupts[edit]

New text document.svg This section is empty; you can help add the missing info by editing this page.

Extensions[edit]

New text document.svg This section is empty; you can help add the missing info by editing this page.

Implementations[edit]

New text document.svg This section is empty; you can help add the missing info by editing this page.

See also[edit]


Text document with shapes.svg This article is still a stub and needs your attention. You can help improve this article by editing this page and adding the missing information.
1 octets
2 nibbles
2 octets
4 nibbles
4 octets
8 nibbles
8 octets
16 nibbles



Facts about "x86"
designVon Neumann +
designerIntel + and AMD +
dev modelProprietary +
endiannessLittle-endian +
first launched1978 +
formatRegister-Memory +
full page namex86 +
namex86 +
word size8 bit (1 octets, 2 nibbles) +, 16 bit (2 octets, 4 nibbles) +, 32 bit (4 octets, 8 nibbles) + and 64 bit (8 octets, 16 nibbles) +