Don't save/restore flags and ebp on external calls - saves on stack space.
[seabios.git] / src / mouse.c
index 569488b7372b1f86102ced587f63293554f0eec9..6c214997e67cfb744145446b5c1b9a2cfa63ba77 100644 (file)
@@ -397,8 +397,6 @@ int74_function()
 
     u32 func = GET_EBDA(far_call_pointer);
     asm volatile(
-        "pushl %%ebp\n"
-        "pushfl\n"
         "pushl %0\n"
         "pushw %w1\n"  // status
         "pushw %w2\n"  // X
@@ -406,11 +404,10 @@ int74_function()
         "pushw $0\n"   // Z
         "lcallw *8(%%esp)\n"
         "addl $12, %%esp\n"
-        "popfl\n"
-        "popl %%ebp\n"
+        "cld\n"
         : "+a" (func), "+b" (status), "+c" (X), "+d" (Y)
         :
-        : "esi", "edi"
+        : "esi", "edi", "ebp", "cc"
         );
 }