37 lines
1.1 KiB
C++
Executable File
37 lines
1.1 KiB
C++
Executable File
namespace factor
|
|
{
|
|
|
|
#define ESP Esp
|
|
#define EIP Eip
|
|
|
|
typedef struct DECLSPEC_ALIGN(16) _M128A {
|
|
ULONGLONG Low;
|
|
LONGLONG High;
|
|
} M128A, *PM128A;
|
|
|
|
/* The ExtendedRegisters field of the x86.32 CONTEXT structure uses this layout; however,
|
|
* this structure is only made available from winnt.h on x86.64 */
|
|
typedef struct _XMM_SAVE_AREA32 {
|
|
WORD ControlWord; /* 000 */
|
|
WORD StatusWord; /* 002 */
|
|
BYTE TagWord; /* 004 */
|
|
BYTE Reserved1; /* 005 */
|
|
WORD ErrorOpcode; /* 006 */
|
|
DWORD ErrorOffset; /* 008 */
|
|
WORD ErrorSelector; /* 00c */
|
|
WORD Reserved2; /* 00e */
|
|
DWORD DataOffset; /* 010 */
|
|
WORD DataSelector; /* 014 */
|
|
WORD Reserved3; /* 016 */
|
|
DWORD MxCsr; /* 018 */
|
|
DWORD MxCsr_Mask; /* 01c */
|
|
M128A FloatRegisters[8]; /* 020 */
|
|
M128A XmmRegisters[16]; /* 0a0 */
|
|
BYTE Reserved4[96]; /* 1a0 */
|
|
} XMM_SAVE_AREA32, *PXMM_SAVE_AREA32;
|
|
|
|
#define X87SW(ctx) (ctx)->FloatSave.StatusWord
|
|
#define MXCSR(ctx) ((XMM_SAVE_AREA32*)((ctx)->ExtendedRegisters))->MxCsr
|
|
|
|
}
|