WONKY



LOG | FILES | OVERVIEW


#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