summaryrefslogtreecommitdiff
path: root/src/setjmp/i386/setjmp.s
blob: 6c078b1016b1e255953b766176ea52d3d49f6bff (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
.global __setjmp
.global _setjmp
.global setjmp
.type __setjmp,%function
.type _setjmp,%function
.type setjmp,%function
__setjmp:
_setjmp:
setjmp:
	movl 4(%esp), %eax
	movl    %ebx, (%eax)
	movl    %esi, 4(%eax)
	movl    %edi, 8(%eax)
	movl    %ebp, 12(%eax)
	leal 4(%esp), %ecx
	movl    %ecx, 16(%eax)
	movl  (%esp), %ecx
	movl    %ecx, 20(%eax)
	xorl    %eax, %eax
	ret
.size __setjmp,.-__setjmp
.size _setjmp,.-_setjmp
.size setjmp,.-setjmp