From WikiChip
Difference between revisions of "x86"
(basic article outline) |
|||
(14 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
− | {{isa | + | {{x86 isa main}} |
− | + | '''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' 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}}. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | }} | ||
− | '''x86''' is a family of [[little-endian]] [[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 architecture is widely used in the [[desktop]] and [[server]] markets by a number of [[semiconductor companies|companies]] including [[Intel]], [[AMD]], [[VIA]], [[DM&P]], and [[RDC Semiconductors|RDC]]. | ||
== History == | == History == | ||
− | {{main|x86/history|History of x86}} | + | {{main|x86/history|l1=History of x86}} |
{{empty section}} | {{empty section}} | ||
Line 26: | 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}} | ||
== Instruction Set == | == Instruction Set == | ||
+ | {{empty section}} | ||
+ | |||
+ | === Syntaxes === | ||
{{empty section}} | {{empty section}} | ||
Line 35: | Line 60: | ||
{{empty section}} | {{empty section}} | ||
− | === | + | == Extensions == |
+ | {{empty section}} | ||
+ | |||
+ | == Implementations == | ||
{{empty section}} | {{empty section}} | ||
− | == | + | == See also == |
+ | * [[ARM]] | ||
+ | |||
{{stub}} | {{stub}} | ||
+ | |||
+ | [[category:instruction set architectures]] | ||
+ | [[category:x86]] | ||
+ | |||
+ | [[designer::Intel| ]] | ||
+ | [[designer::AMD| ]] | ||
+ | [[first launched::1978| ]] | ||
+ | [[full page name::x86| ]] | ||
+ | [[instance of:instruction set architecture| ]] | ||
+ | [[name::x86| ]] | ||
+ | [[word size::8 bit| ]] | ||
+ | [[word size::16 bit| ]] | ||
+ | [[word size::32 bit| ]] | ||
+ | [[word size::64 bit| ]] | ||
+ | [[dev model::Proprietary| ]] | ||
+ | [[format::Register-Memory| ]] | ||
+ | [[design::Von Neumann| ]] | ||
+ | [[endianness::Little-endian| ]] |
Latest revision as of 10:29, 10 July 2021
x86
Instruction Set Architecture
Instruction Set Architecture
General
Variants
Topics
- Instructions
- Addressing Modes
- Registers
- Model-Specific Register
- Assembly
- Interrupts
- Micro-Ops
- Timer
- Calling Convention
- Microarchitectures
- CPUID
CPUIDs
Modes
Extensions(all)
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.
Contents
History[edit]
- Main article: History of x86
This section is empty; you can help add the missing info by editing this page. |
Overview[edit]
This section is empty; you can help add the missing info by editing this page. |
Registers[edit]
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]
This section is empty; you can help add the missing info by editing this page. |
Instruction Set[edit]
This section is empty; you can help add the missing info by editing this page. |
Syntaxes[edit]
This section is empty; you can help add the missing info by editing this page. |
Interrupts[edit]
This section is empty; you can help add the missing info by editing this page. |
Extensions[edit]
This section is empty; you can help add the missing info by editing this page. |
Implementations[edit]
This section is empty; you can help add the missing info by editing this page. |
See also[edit]
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 nibbles
2 octets
4 nibbles
4 nibbles
4 octets
8 nibbles
8 nibbles
8 octets
16 nibbles
16 nibbles
Facts about "x86"
design | Von Neumann + |
designer | Intel + and AMD + |
dev model | Proprietary + |
endianness | Little-endian + |
first launched | 1978 + |
format | Register-Memory + |
full page name | x86 + |
name | x86 + |
word size | 8 bit (1 octets, 2 nibbles) +, 16 bit (2 octets, 4 nibbles) +, 32 bit (4 octets, 8 nibbles) + and 64 bit (8 octets, 16 nibbles) + |