CPU Registers x86: Difference between revisions
Jump to navigation
Jump to search
[unchecked revision] | [unchecked revision] |
Content deleted Content added
m Segment Registers ~> Protected Mode Registers (wrong caption) |
Added 64-bit registers, the EFER register and filled some "reserved" gaps instead of not listing the bits. |
||
Line 3: | Line 3: | ||
{| {{wikitable}} |
{| {{wikitable}} |
||
|- |
|- |
||
! 64 bit |
|||
! 32 bit |
! 32 bit |
||
! 16 bit |
! 16 bit |
||
! |
! colspan="2" | 8 bit |
||
! 8 low bit |
|||
! description |
! description |
||
|- |
|- |
||
! colspan="3" | |
|||
! high<sup>†</sup> |
|||
! low |
|||
! |
|||
|- |
|||
| rax |
|||
| eax |
| eax |
||
| ax |
| ax |
||
Line 15: | Line 21: | ||
| accumulator |
| accumulator |
||
|- |
|- |
||
| rbx |
|||
| ebx |
| ebx |
||
| bx |
| bx |
||
Line 21: | Line 28: | ||
| base |
| base |
||
|- |
|- |
||
| rcx |
|||
| ecx |
| ecx |
||
| cx |
| cx |
||
Line 27: | Line 35: | ||
| counter |
| counter |
||
|- |
|- |
||
| rdx |
|||
| edx |
| edx |
||
| dx |
| dx |
||
Line 34: | Line 43: | ||
|- |
|- |
||
|} |
|} |
||
<sup>†</sup>The 8-bit high registers cannot be accessed when a REX.W prefix is used in 64-bit mode. |
|||
==Segment Registers== |
==Segment Registers== |
||
Line 60: | Line 71: | ||
{| {{wikitable}} |
{| {{wikitable}} |
||
|- |
|- |
||
! 64 bit |
|||
! 32 bit |
! 32 bit |
||
! 16 bit |
! 16 bit |
||
! description |
! description |
||
|- |
|- |
||
| rsi |
|||
| esi |
| esi |
||
| si |
| si |
||
| source index |
| source index |
||
|- |
|- |
||
| rdi |
|||
| edi |
| edi |
||
| di |
| di |
||
Line 78: | Line 92: | ||
{| {{wikitable}} |
{| {{wikitable}} |
||
|- |
|- |
||
! 64 bit |
|||
! 32 bit |
! 32 bit |
||
! 16 bit |
! 16 bit |
||
! description |
! description |
||
|- |
|- |
||
| rbp |
|||
| ebp |
| ebp |
||
| bp |
| bp |
||
| base pointer |
| base pointer |
||
|- |
|- |
||
| rsp |
|||
| esp |
| esp |
||
| sp |
| sp |
||
| stack pointer |
| stack pointer |
||
|- |
|- |
||
| rip |
|||
| eip |
| eip |
||
| |
| ip |
||
| instruction pointer |
| instruction pointer |
||
|- |
|- |
||
|} |
|} |
||
== |
==FLAGS Register== |
||
{| {{wikitable}} |
{| {{wikitable}} |
||
Line 103: | Line 121: | ||
! label |
! label |
||
! description |
! description |
||
|- |
|||
! colspan="3" | FLAGS |
|||
|- |
|- |
||
| 0 |
| 0 |
||
| cf |
| cf |
||
| carry flag |
| carry flag |
||
|- |
|||
| 1 |
|||
| |
|||
| reserved |
|||
|- |
|- |
||
| 2 |
| 2 |
||
| pf |
| pf |
||
| parity flag |
| parity flag |
||
|- |
|||
| 3 |
|||
| |
|||
| reserved |
|||
|- |
|- |
||
| 4 |
| 4 |
||
| af |
| af |
||
| auxiliary flag |
| auxiliary flag |
||
|- |
|||
| 5 |
|||
| |
|||
| reserved |
|||
|- |
|- |
||
| 6 |
| 6 |
||
Line 147: | Line 179: | ||
| nt |
| nt |
||
| nested task flag |
| nested task flag |
||
|- |
|||
| 15 |
|||
| |
|||
| reserved |
|||
|- |
|||
! colspan="3" | EFLAGS |
|||
|- |
|- |
||
| 16 |
| 16 |
||
Line 172: | Line 210: | ||
| id flag |
| id flag |
||
|- |
|- |
||
| 22-31 |
|||
| |
|||
| reserved |
|||
|- |
|||
! colspan="3" | RFLAGS |
|||
|- |
|||
| 22-63 |
|||
| |
|||
| reserved |
|||
|} |
|} |
||
Line 207: | Line 254: | ||
| ne |
| ne |
||
| numeric error |
| numeric error |
||
|- |
|||
| 6-15 |
|||
| |
|||
| reserved |
|||
|- |
|- |
||
| 16 |
| 16 |
||
| wp |
| wp |
||
| write protect |
| write protect |
||
|- |
|||
| 17 |
|||
| |
|||
| reserved |
|||
|- |
|- |
||
| 18 |
| 18 |
||
| am |
| am |
||
| alignment mask |
| alignment mask |
||
|- |
|||
| 19-28 |
|||
| |
|||
| reserved |
|||
|- |
|- |
||
| 29 |
| 29 |
||
Line 316: | Line 375: | ||
| osxmmexcpt |
| osxmmexcpt |
||
| os support for unmasked simd floating point exceptions |
| os support for unmasked simd floating point exceptions |
||
|- |
|||
| 11 |
|||
| |
|||
| reserved |
|||
|- |
|||
| 12 |
|||
| |
|||
| reserved |
|||
|- |
|- |
||
| 13 |
| 13 |
||
Line 324: | Line 391: | ||
| smxe |
| smxe |
||
| safer mode extensions enable |
| safer mode extensions enable |
||
|- |
|||
| 15 |
|||
| |
|||
| reserved |
|||
|- |
|||
| 16 |
|||
| |
|||
| reserved |
|||
|- |
|- |
||
| 17 |
| 17 |
||
Line 332: | Line 407: | ||
| osxsave |
| osxsave |
||
| xsave and processor extended states enable |
| xsave and processor extended states enable |
||
|- |
|||
| 19 |
|||
| |
|||
| reserved |
|||
|- |
|- |
||
| 20 |
| 20 |
||
Line 341: | Line 420: | ||
| supervisor mode access protection enable |
| supervisor mode access protection enable |
||
|- |
|- |
||
| 22 |
|||
| pke |
|||
| protection key enable |
|||
|- |
|||
| 23-31 |
|||
| |
|||
| reserved |
|||
|} |
|} |
||
====EFER==== |
|||
{| {{wikitable}} |
|||
|- |
|||
! bit |
|||
! name |
|||
! description |
|||
|- |
|||
| 0 |
|||
| sce |
|||
| system call extensions |
|||
|- |
|||
| 1-7 |
|||
| |
|||
| reserved |
|||
|- |
|||
| 8 |
|||
| lme |
|||
| long mode enable |
|||
|- |
|||
| 9 |
|||
| |
|||
| reserved |
|||
|- |
|||
| 10 |
|||
| lma |
|||
| long mode active |
|||
|- |
|||
| 11 |
|||
| nxe |
|||
| no-execute enable |
|||
|- |
|||
| 12 |
|||
| svme |
|||
| secure virtual machine enable |
|||
|- |
|||
| 13 |
|||
| lmsle |
|||
| long mode segment limit enable |
|||
|- |
|||
| 14 |
|||
| ffxsr |
|||
| fast fxsave/fxrstor |
|||
|- |
|||
| 15 |
|||
| tce |
|||
| translation cache extension |
|||
|- |
|||
| 16-63 |
|||
| |
|||
| reserved |
|||
|} |
|||
==Debug Registers== |
==Debug Registers== |