#------------------------------------------------------------------------------\r
\r
\r
-\r
-\r
#------------------------------------------------------------------------------\r
# VOID\r
# EFIAPI\r
# OUT UINT32 *RegisterOutEdx OPTIONAL\r
# )\r
#------------------------------------------------------------------------------\r
-.globl _AsmCpuid\r
+.globl _AsmCpuid\r
_AsmCpuid:\r
- push %ebx\r
- push %edi\r
- movl 12(%esp),%eax\r
+ pushl %ebx\r
+ pushl %ebp\r
+ movl %esp, %ebp\r
+ movl 12(%ebp), %eax\r
cpuid\r
- movl %ecx,%edi\r
- movl 16(%esp),%ecx\r
+ pushl %ecx\r
+ movl 16(%ebp), %ecx\r
jecxz L1\r
- movl %eax,(%ecx)\r
-L1:\r
- movl 20(%esp),%ecx\r
+ movl %eax, (%ecx)\r
+L1: \r
+ movl 20(%ebp), %ecx\r
jecxz L2\r
- movl %ebx,(%ecx)\r
-L2:\r
- movl 24(%esp),%ecx\r
+ movl %ebx, (%ecx)\r
+L2: \r
+ movl 24(%ebp), %ecx\r
jecxz L3\r
- movl %edi,(%ecx)\r
-L3:\r
- movl 28(%esp),%ecx\r
+ popl (%ecx)\r
+L3: \r
+ movl 28(%ebp), %ecx\r
jecxz L4\r
- movl %edx,(%ecx)\r
-L4:\r
- pop %edi\r
- pop %ebx\r
+ movl %edx, (%ecx)\r
+L4: \r
+ movl 12(%ebp), %eax\r
+ leave\r
+ popl %ebx\r
ret\r
+\r
+\r