summaryrefslogtreecommitdiff
path: root/src/setjmp/i386/longjmp.s
blob: 249d7b4d8a269a8eac8581c7a945164c1bc6e5bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
.global _longjmp
.global longjmp
.type _longjmp,%function
.type longjmp,%function
_longjmp:
longjmp:
	mov  4(%esp),%edx
	mov  8(%esp),%eax
	test    %eax,%eax
	jnz 1f
	inc     %eax
1:
	mov   (%edx),%ebx
	mov  4(%edx),%esi
	mov  8(%edx),%edi
	mov 12(%edx),%ebp
	mov 16(%edx),%ecx
	mov     %ecx,%esp
	mov 20(%edx),%ecx
	jmp *%ecx
.size _longjmp,.-_longjmp
.size longjmp,.-longjmp