Moved internal context macros out of winnt.h.
Added SET_AX etc. macros to avoid non-portable pointer manipulations.

diff --git a/loader/task.c b/loader/task.c
index f2bd9c7..ab7884d 100644
--- a/loader/task.c
+++ b/loader/task.c
@@ -1135,7 +1135,7 @@
 
     /* Pop bp from the previous stack */
 
-    BP_reg(context) = *(WORD *)MapSL(pData->old_ss_sp);
+    context->Ebp = (context->Ebp & ~0xffff) | *(WORD *)MapSL(pData->old_ss_sp);
     pData->old_ss_sp += sizeof(WORD);
 
     /* Switch back to the old stack */