#ifndef WONKY_INTEL_ASM_LOCATION_HH
#define WONKY_INTEL_ASM_LOCATION_HH WONKY_INTEL_ASM_LOCATION_HH
enum Intel_Asm_Registers
{
INTEL_ASM_REGISTER_RAX,
INTEL_ASM_REGISTER_EAX,
INTEL_ASM_REGISTER_AX,
INTEL_ASM_REGISTER_AL,
INTEL_ASM_REGISTER_AH,
INTEL_ASM_REGISTER_BX,
INTEL_ASM_REGISTER_RDX,
INTEL_ASM_REGISTER_EDX,
INTEL_ASM_REGISTER_DX,
INTEL_ASM_REGISTER_DH,
INTEL_ASM_REGISTER_DL,
INTEL_ASM_REGISTER_DI,
INTEL_ASM_REGISTER_SI,
INTEL_ASM_REGISTER_CX,
INTEL_ASM_REGISTER_CL,
INTEL_ASM_REGISTER_CH,
INTEL_ASM_REGISTER_RSP,
INTEL_ASM_REGISTER_RDI,
INTEL_ASM_REGISTER_RSI,
INTEL_ASM_REGISTER_RCX,
INTEL_ASM_REGISTER_R8,
INTEL_ASM_REGISTER_R9,
INTEL_ASM_REGISTER_R11,
INTEL_ASM_REGISTER_RBP,
INTEL_ASM_REGISTER_END
};
enum Intel_Asm_Memory_Location_Type
{
INTEL_ASM_MEMORY_LOCATION_BY_REGISTER,
INTEL_ASM_MEMORY_LOCATION_REGISTER,
INTEL_ASM_MEMORY_LOCATION_STACK_OFFSET,
INTEL_ASM_MEMORY_LOCATION_BY_LABEL,
INTEL_ASM_MEMORY_LOCATION_BY_STACK_OFFSET,
INTEL_ASM_MEMORY_LOCATION_IN_INSTRUCTION_NUMBER,
INTEL_ASM_MEMORY_LOCATION_END
};
enum Intel_Asm_Memory_Size_Type
{
INTEL_ASM_MEMORY_SIZE_BYTE,
INTEL_ASM_MEMORY_SIZE_WORD,
INTEL_ASM_MEMORY_SIZE_DWORD,
INTEL_ASM_MEMORY_SIZE_QWORD,
INTEL_ASM_MEMORY_SIZE_END
};
struct Intel_Asm_Memory_Location;
struct Intel_Asm_Memory_Location_By_Register;
struct Intel_Asm_Memory_Location_Register;
struct Intel_Asm_Memory_Location_By_Label;
struct Intel_Asm_Memory_Location_By_Stack_Offset;
struct Intel_Asm_Memory_Location_Stack_Offset;
struct Intel_Asm_Memory_Location_In_Instruction_Number;
struct Intel_Asm_Memory_Location;
#endif