summaryrefslogtreecommitdiff
path: root/MdePkg/Library/BaseLib/Ia32/LongJump.asm
diff options
context:
space:
mode:
Diffstat (limited to 'MdePkg/Library/BaseLib/Ia32/LongJump.asm')
-rw-r--r--MdePkg/Library/BaseLib/Ia32/LongJump.asm14
1 files changed, 11 insertions, 3 deletions
diff --git a/MdePkg/Library/BaseLib/Ia32/LongJump.asm b/MdePkg/Library/BaseLib/Ia32/LongJump.asm
index b419215237..a634c4599c 100644
--- a/MdePkg/Library/BaseLib/Ia32/LongJump.asm
+++ b/MdePkg/Library/BaseLib/Ia32/LongJump.asm
@@ -23,10 +23,18 @@
.model flat,C
.code
+;------------------------------------------------------------------------------
+; VOID
+; EFIAPI
+; InternalLongJump (
+; IN BASE_LIBRARY_JUMP_BUFFER *JumpBuffer,
+; IN UINTN Value
+; );
+;------------------------------------------------------------------------------
InternalLongJump PROC
- pop eax
- pop edx
- pop eax
+ pop eax ; skip return address
+ pop edx ; edx <- JumpBuffer
+ pop eax ; eax <- Value
mov ebx, [edx]
mov esi, [edx + 4]
mov edi, [edx + 8]