2 #define REG_SAVE_VAR DWORD SegCS_Save, SegSS_Save
4 #define CONTEXT_INIT_FLAGS(ctx) (ctx)->ContextFlags = CONTEXT_FULL|CONTEXT_INTEGER|CONTEXT_FLOATING_POINT|CONTEXT_DEBUG_REGISTERS|CONTEXT_EXTENDED_REGISTERS
6 #define CONTEXT_SAVE_REGS(ctx) SegCS_Save = (ctx)->SegCs; \
7 SegSS_Save = (ctx)->SegSs
9 #define CONTEXT_RESTORE_REGS(ctx) (ctx)->SegCs = SegCS_Save; \
10 (ctx)->SegSs = SegSS_Save; \
11 (ctx)->ContextFlags &= CONTEXT_CONTROL|CONTEXT_INTEGER|CONTEXT_FLOATING_POINT|CONTEXT_EXTENDED_REGISTERS
13 #define PRINT_CPUCONTEXT(ctx) \
14 printf (" ContextFlags: 0x%08lX\n" \
15 " ESP=%08lx EBP=%08lx EIP=%08lx\n" \
16 " EAX=%08lx EBX=%08lx ECX=%08lx EDX=%08lx\n" \
17 " EDI=%08lx ESI=%08lx EFLAGS=%08lx\n" \
32 #error Unsupported CPU type