summaryrefslogtreecommitdiff
path: root/MdePkg/Library/BaseLib/Ia32/SetJump.S
diff options
context:
space:
mode:
Diffstat (limited to 'MdePkg/Library/BaseLib/Ia32/SetJump.S')
-rw-r--r--MdePkg/Library/BaseLib/Ia32/SetJump.S37
1 files changed, 19 insertions, 18 deletions
diff --git a/MdePkg/Library/BaseLib/Ia32/SetJump.S b/MdePkg/Library/BaseLib/Ia32/SetJump.S
index 05acc4ab26..c600b7f0a8 100644
--- a/MdePkg/Library/BaseLib/Ia32/SetJump.S
+++ b/MdePkg/Library/BaseLib/Ia32/SetJump.S
@@ -19,25 +19,26 @@
#
#------------------------------------------------------------------------------
-
-
-
-
.global _SetJump, _InternalAssertJumpBuffer
-_SetJump:
+
+#------------------------------------------------------------------------------
+# UINTN
+# EFIAPI
+# SetJump (
+# OUT BASE_LIBRARY_JUMP_BUFFER *JumpBuffer
+# );
+#------------------------------------------------------------------------------
+_SetJump:
pushl 0x4(%esp)
call _InternalAssertJumpBuffer
- popl %ecx
- popl %ecx
- movl (%esp),%edx
- movl %ebx,(%edx)
- movl %esi,4(%edx)
- movl %edi,8(%edx)
- movl %ebp,12(%edx)
- movl %esp,16(%edx)
- movl %ecx,20(%edx)
- xorl %eax,%eax
+ pop %ecx
+ pop %ecx
+ movl (%esp), %edx
+ movl %ebx, (%edx)
+ movl %esi, 4(%edx)
+ movl %edi, 8(%edx)
+ movl %ebp, 12(%edx)
+ movl %esp, 16(%edx)
+ movl %ecx, 20(%edx)
+ xorl %eax, %eax
jmp *%ecx
-
-
-