An x86-64 register.
Namespace: SharpAssembler.x86Assembly: SharpAssembler x86-64 (in SharpAssembler x86-64.dll) Version: 1.0.0.0 (1.0.0.0)
Syntax
| C# |
|---|
public enum Register |
| Visual Basic |
|---|
Public Enumeration Register |
| Visual C++ |
|---|
public enum class Register |
Members
| Member name | Value | Description | |
|---|---|---|---|
| None | 0 | No register. | |
| AL | 8224 | The lower 8-bits of the accumulator register. | |
| AX | 8256 | The lower 16-bits of the accumulator register. | |
| EAX | 8320 | The lower 32-bits of the accumulator register. | |
| RAX | 8448 | The lower 64-bits of the accumulator register. | |
| MM0 | 33024 | The first 64-bit SIMD register. | |
| XMM0 | 66048 | The first 128-bit SIMD register. | |
| ES | 131136 | The extra segment register. | |
| CR0 | 262272 | The first control register. | |
| DR0 | 524416 | The first debug register. | |
| ST0 | 16704 | The floating point stack register index 0. | |
| CL | 8225 | The lower 8-bits of the counter register. | |
| CX | 8257 | The lower 16-bits of the counter register. | |
| ECX | 8321 | The lower 32-bits of the counter register. | |
| RCX | 8449 | The lower 64-bits of the counter register. | |
| MM1 | 33025 | The second 64-bit SIMD register. | |
| XMM1 | 66049 | The second 128-bit SIMD register. | |
| CS | 131137 | The code segment register. | |
| CR1 | 262273 | The second control register. | |
| DR1 | 524417 | The second debug register. | |
| ST1 | 16705 | The floating point stack register index 1. | |
| DL | 8226 | The lower 8-bits of the data register. | |
| DX | 8258 | The lower 16-bits of the data register. | |
| EDX | 8322 | The lower 32-bits of the data register. | |
| RDX | 8450 | The lower 64-bits of the data register. | |
| MM2 | 33026 | The third 64-bit SIMD register. | |
| XMM2 | 66050 | The third 128-bit SIMD register. | |
| SS | 131138 | The stack segment register. | |
| CR2 | 262274 | The third control register. | |
| DR2 | 524418 | The third debug register. | |
| ST2 | 16706 | The floating point stack register index 2. | |
| BL | 8227 | The lower 8-bits of the base register. | |
| BX | 8259 | The lower 16-bits of the base register. | |
| EBX | 8323 | The lower 32-bits of the base register. | |
| RBX | 8451 | The lower 64-bits of the base register. | |
| MM3 | 33027 | The fourth 64-bit SIMD register. | |
| XMM3 | 66051 | The fourth 128-bit SIMD register. | |
| DS | 131139 | The data segment register. | |
| CR3 | 262275 | The fourth control register. | |
| DR3 | 524419 | The fourth debug register. | |
| ST3 | 16707 | The floating point stack register index 3. | |
| AH | 8228 | The higher 8-bits of the lower 16-bits of the accumulator register. | |
| SPL | 8244 | The lower 8-bits of the stack pointer register. | |
| SP | 8260 | The lower 16-bits of the stack pointer register. | |
| ESP | 8324 | The lower 32-bits of the stack pointer register. | |
| RSP | 8452 | The lower 64-bits of the stack pointer register. | |
| MM4 | 33028 | The fifth 64-bit SIMD register. | |
| XMM4 | 66052 | The fifth 128-bit SIMD register. | |
| FS | 131140 | The second extra segment register. | |
| CR4 | 262276 | The fifth control register. | |
| DR4 | 524420 | The fifth debug register. | |
| ST4 | 16708 | The floating point stack register index 4. | |
| CH | 8229 | The higher 8-bits of the lower 16-bits of the counter register. | |
| BPL | 8245 | The lower 8-bits of the base pointer register. | |
| BP | 8261 | The lower 16-bits of the base pointer register. | |
| EBP | 8325 | The lower 32-bits of the base pointer register. | |
| RBP | 8453 | The lower 64-bits of the base pointer register. | |
| MM5 | 33029 | The sixth 64-bit SIMD register. | |
| XMM5 | 66053 | The sixth 128-bit SIMD register. | |
| GS | 131141 | The third extra segment register. | |
| CR5 | 262277 | The sixth control register. | |
| DR5 | 524421 | The sixth debug register. | |
| ST5 | 16709 | The floating point stack register index 5. | |
| DH | 8230 | The higher 8-bits of the lower 16-bits of the data register. | |
| SIL | 8246 | The lower 8-bits of the source index register. | |
| SI | 8262 | The lower 16-bits of the source index register. | |
| ESI | 8326 | The lower 32-bits of the source index register. | |
| RSI | 8454 | The lower 64-bits of the source index register. | |
| MM6 | 33030 | The seventh 64-bit SIMD register. | |
| XMM6 | 66054 | The seventh 128-bit SIMD register. | |
| CR6 | 262278 | The seventh control register. | |
| DR6 | 524422 | The seventh debug register. | |
| ST6 | 16710 | The floating point stack register index 6. | |
| BH | 8231 | The higher 8-bits of the lower 16-bits of the base register. | |
| DIL | 8247 | The lower 8-bits of the destination index register. | |
| DI | 8263 | The lower 16-bits of the destination index register. | |
| EDI | 8327 | The lower 32-bits of the destination index register. | |
| RDI | 8455 | The lower 64-bits of the destination index register. | |
| MM7 | 33031 | The eighth 64-bit SIMD register. | |
| XMM7 | 66055 | The eighth 128-bit SIMD register. | |
| CR7 | 262279 | The eighth control register. | |
| DR7 | 524423 | The eighth debug register. | |
| ST7 | 16711 | The floating point stack register index 7. | |
| R8L | 8232 | The lower 8-bits of the nineth general purpose register. | |
| R8W | 8264 | The lower 16-bits of the nineth general purpose register. | |
| R8D | 8328 | The lower 32-bits of the nineth general purpose register. | |
| R8 | 8456 | The lower 64-bits of the nineth general purpose register. | |
| XMM8 | 66056 | The nineth 128-bit SIMD register. | |
| CR8 | 262280 | The nineth control register. | |
| DR8 | 524424 | The nineth debug register. | |
| R9L | 8233 | The lower 8-bits of the tenth general purpose register. | |
| R9W | 8265 | The lower 16-bits of the tenth general purpose register. | |
| R9D | 8329 | The lower 32-bits of the tenth general purpose register. | |
| R9 | 8457 | The lower 64-bits of the tenth general purpose register. | |
| XMM9 | 66057 | The tenth 128-bit SIMD register. | |
| CR9 | 262281 | The tenth control register. | |
| DR9 | 524425 | The tenth debug register. | |
| R10L | 8234 | The lower 8-bits of the eleventh general purpose register. | |
| R10W | 8266 | The lower 16-bits of the eleventh general purpose register. | |
| R10D | 8330 | The lower 32-bits of the eleventh general purpose register. | |
| R10 | 8458 | The lower 64-bits of the eleventh general purpose register. | |
| XMM10 | 66058 | The eleventh 128-bit SIMD register. | |
| CR10 | 262282 | The eleventh control register. | |
| DR10 | 524426 | The eleventh debug register. | |
| R11L | 8235 | The lower 8-bits of the twelfth general purpose register. | |
| R11W | 8267 | The lower 16-bits of the twelfth general purpose register. | |
| R11D | 8331 | The lower 32-bits of the twelfth general purpose register. | |
| R11 | 8459 | The lower 64-bits of the twelfth general purpose register. | |
| XMM11 | 66059 | The twelfth 128-bit SIMD register. | |
| CR11 | 262283 | The twelfth control register. | |
| DR11 | 524427 | The twelfth debug register. | |
| R12L | 8236 | The lower 8-bits of the thirteenth general purpose register. | |
| R12W | 8268 | The lower 16-bits of the thirteenth general purpose register. | |
| R12D | 8332 | The lower 32-bits of the thirteenth general purpose register. | |
| R12 | 8460 | The lower 64-bits of the thirteenth general purpose register. | |
| XMM12 | 66060 | The thirteenth 128-bit SIMD register. | |
| CR12 | 262284 | The thirteenth control register. | |
| DR12 | 524428 | The thirteenth debug register. | |
| R13L | 8237 | The lower 8-bits of the fourteenth general purpose register. | |
| R13W | 8269 | The lower 16-bits of the fourteenth general purpose register. | |
| R13D | 8333 | The lower 32-bits of the fourteenth general purpose register. | |
| R13 | 8461 | The lower 64-bits of the fourteenth general purpose register. | |
| XMM13 | 66061 | The fourteenth 128-bit SIMD register. | |
| CR13 | 262285 | The fourteenth control register. | |
| DR13 | 524429 | The fourteenth debug register. | |
| R14L | 8238 | The lower 8-bits of the fifteenth general purpose register. | |
| R14W | 8270 | The lower 16-bits of the fifteenth general purpose register. | |
| R14D | 8334 | The lower 32-bits of the fifteenth general purpose register. | |
| R14 | 8462 | The lower 64-bits of the fifteenth general purpose register. | |
| XMM14 | 66062 | The fifteenth 128-bit SIMD register. | |
| CR14 | 262286 | The fifteenth control register. | |
| DR14 | 524430 | The fifteenth debug register. | |
| R15L | 8239 | The lower 8-bits of the sixteenth general purpose register. | |
| R15W | 8271 | The lower 16-bits of the sixteenth general purpose register. | |
| R15D | 8335 | The lower 32-bits of the sixteenth general purpose register. | |
| R15 | 8463 | The lower 64-bits of the sixteenth general purpose register. | |
| XMM15 | 66063 | The sixteenth 128-bit SIMD register. | |
| CR15 | 262287 | The sixteenth control register. | |
| DR15 | 524431 | The sixteenth debug register. | |
| GetRegisterType | Returns the register type of the specified register. | ||
| GetValue | Returns the value of the specified register. | ||
| GetSize | Returns the register size of the specified register. | ||
| IsGeneralPurposeRegister | Returns whether the register is a general purpose register. | ||
| IsControlRegister | Returns whether the register is a control register. | ||
| IsDebugRegister | Returns whether the register is a debug register. | ||
| IsFloatingPointRegister | Returns whether the register is an x87 floating-point register. | ||
| IsSegmentRegister | Returns whether the register is a segment register. | ||
| IsSimdRegister | Returns whether the register is a SIMD register. |
Remarks
| Operation | Result |
|---|---|
| value & 0x7 | The value of the register. |
| value & 0x8 | A value of 1 when REX.b, REX.r or REX.x is set; otherwise, 0. |
| value & 0x10 | A value of 1 when a REX prefix is required; otherwise, 0. |
| value >> 5 | The RegisterType of the register. |
| (value >> 5) & 0xFF | The number of bytes required for this type of register. |
| (value >> 5) & 0xFF | The DataSize of this register. |