From WikiChip
Difference between revisions of "x86"
(11 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]]. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | }} | ||
− | '''x86''' is a family of [[little-endian]] | ||
− | Generally speaking, the term 'x86' | + | 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 28: | 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 40: | Line 60: | ||
{{empty section}} | {{empty section}} | ||
− | + | == Extensions == | |
{{empty section}} | {{empty section}} | ||
Line 51: | Line 71: | ||
{{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