-#define ALLOC(size,tmp) \
- pushl tmp; /* Save TMP */ \
- movl %esp,tmp; /* Save ESP to TMP */ \
- andl $0xfffffff0,%esp; /* Align stack */ \
- pushl $0; /* Padding */ \
- pushl size; /* Argument to alloc */ \
- cld; /* Clear DF */ \
+#define ALLOC(size) \
+ pushl %ebp; /* Save EBP */ \
+ movl %esp,%ebp; /* Save ESP to EBP */ \
+ pushl $0; /* Reserve space for arg */ \
+ andl $0xfffffff0,%esp; /* Align stack to 16bytes */ \
+ movl size, (%esp); /* Argument to alloc */ \