diff options
Diffstat (limited to 'MdePkg/Library/BaseLib/Ia32/LongJump.asm')
-rw-r--r-- | MdePkg/Library/BaseLib/Ia32/LongJump.asm | 14 |
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]
|