summaryrefslogtreecommitdiff
path: root/src/setjmp/i386/longjmp.s
blob: b139d9fe7874c035e409dde6a8893e608f34f38d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
.global _longjmp
.global longjmp
_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