2025-04-13 23:06:52 +03:00
|
|
|
namespace X86Disassembler.X86;
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Represents the index values for x86 general-purpose registers.
|
|
|
|
/// These values correspond to the encoding used in ModR/M and SIB bytes
|
|
|
|
/// for register operand identification in x86 instructions.
|
|
|
|
/// </summary>
|
|
|
|
public enum RegisterIndex
|
|
|
|
{
|
|
|
|
/// <summary>A register (EAX/AX/AL depending on operand size)</summary>
|
|
|
|
A = 0,
|
|
|
|
|
|
|
|
/// <summary>C register (ECX/CX/CL depending on operand size)</summary>
|
2025-04-15 02:29:32 +03:00
|
|
|
C = 1,
|
2025-04-13 23:06:52 +03:00
|
|
|
|
|
|
|
/// <summary>D register (EDX/DX/DL depending on operand size)</summary>
|
2025-04-15 02:29:32 +03:00
|
|
|
D = 2,
|
2025-04-13 23:06:52 +03:00
|
|
|
|
2025-04-15 02:29:32 +03:00
|
|
|
/// <summary>B register (EBX/BX/BL depending on operand size)</summary>
|
|
|
|
B = 3,
|
2025-04-13 23:06:52 +03:00
|
|
|
|
|
|
|
/// <summary>Stack Pointer register (ESP/SP)</summary>
|
2025-04-15 02:29:32 +03:00
|
|
|
Sp = 4,
|
2025-04-13 23:06:52 +03:00
|
|
|
|
|
|
|
/// <summary>Base Pointer register (EBP/BP)</summary>
|
2025-04-15 02:29:32 +03:00
|
|
|
Bp = 5,
|
|
|
|
|
|
|
|
/// <summary>Source Index register (ESI/SI)</summary>
|
|
|
|
Si = 6,
|
|
|
|
|
|
|
|
/// <summary>Destination Index register (EDI/DI)</summary>
|
|
|
|
Di = 7,
|
2025-04-13 23:06:52 +03:00
|
|
|
}
|