namespace X86Disassembler.X86;
///
/// 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.
///
public enum RegisterIndex
{
/// A register (EAX/AX/AL depending on operand size)
A = 0,
/// B register (EBX/BX/BL depending on operand size)
B = 1,
/// C register (ECX/CX/CL depending on operand size)
C = 2,
/// D register (EDX/DX/DL depending on operand size)
D = 3,
/// Source Index register (ESI/SI)
Si = 4,
/// Destination Index register (EDI/DI)
Di = 5,
/// Stack Pointer register (ESP/SP)
Sp = 6,
/// Base Pointer register (EBP/BP)
Bp = 7,
}