Made stack manipulation macros into inline functions.
Changed a few accesses to context registers to avoid potential
aliasing optimization problems.

diff --git a/loader/task.c b/loader/task.c
index 62f37a4..0584a98 100644
--- a/loader/task.c
+++ b/loader/task.c
@@ -255,8 +255,8 @@
     EDI_reg(&context) = pTask->hInstance;
     ESI_reg(&context) = pTask->hPrevInstance;
 
-    TRACE_(task)("Starting main program: cs:ip=%04lx:%04x ds=%04lx ss:sp=%04x:%04x\n",
-                  CS_reg(&context), IP_reg(&context), DS_reg(&context),
+    TRACE_(task)("Starting main program: cs:ip=%04lx:%04lx ds=%04lx ss:sp=%04x:%04x\n",
+                  CS_reg(&context), EIP_reg(&context), DS_reg(&context),
                   SELECTOROF(pTask->teb->cur_stack),
                   OFFSETOF(pTask->teb->cur_stack) );
 
@@ -736,9 +736,9 @@
      *
      * 0 (=%bp) is pushed on the stack
      */
-    ptr = STACK16_PUSH( pTask->teb, sizeof(WORD) );
+    ptr = stack16_push( sizeof(WORD) );
     *(WORD *)PTR_SEG_TO_LIN(ptr) = 0;
-    SP_reg(context) -= 2;
+    ESP_reg(context) -= 2;
 
     EAX_reg(context) = 1;