Squash commits for public release
This commit is contained in:
29
libs/libc/setjmp/x86/setjmp.S
Normal file
29
libs/libc/setjmp/x86/setjmp.S
Normal file
@@ -0,0 +1,29 @@
|
||||
global setjmp
|
||||
setjmp:
|
||||
mov eax, [esp+4]
|
||||
mov [eax], ebx
|
||||
mov [eax+4], esi
|
||||
mov [eax+8], edi
|
||||
mov [eax+12], ebp
|
||||
lea ecx, [esp+4]
|
||||
mov [eax+16], ecx
|
||||
mov ecx, [esp]
|
||||
mov [eax+20], ecx
|
||||
xor eax, eax
|
||||
ret
|
||||
|
||||
global longjmp
|
||||
longjmp:
|
||||
mov edx, [esp+4]
|
||||
mov eax, [esp+8]
|
||||
mov ebx, [edx]
|
||||
mov esi, [edx+4]
|
||||
mov edi, [edx+8]
|
||||
mov ebp, [edx+12]
|
||||
mov esp, [edx+16]
|
||||
mov ecx, [edx+20]
|
||||
test eax, eax
|
||||
jnz success
|
||||
mov eax, 1
|
||||
success:
|
||||
jmp ecx
|
||||
Reference in New Issue
Block a user