Welcome to mirror list, hosted at ThFree Co, Russian Federation.

_setjmp.s « sysvi386 « sys « libc « newlib - cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 8f191b59a7b2b3161435e8aaa358d7855cbb95af (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/
/ our buffer looks like:
/  eax,ebx,ecx,edx,esi,edi,esp,ebp,pc

	.globl	_setjmp
	.globl	setjmp
_setjmp:
setjmp:
	pushl	%ebx
	movl	8(%esp), %ebx
	movl	%eax, (%ebx)
	popl	%eax
	movl	%eax, 4(%ebx)
	movl	%ecx, 8(%ebx)
	movl	%edx, 12(%ebx)
	movl	%esi, 16(%ebx)
	movl	%edi, 20(%ebx)
	movl	%esp, 24(%ebx)
	movl	%ebp, 28(%ebx)
	movl	(%esp), %eax
	movl	%eax, 32(%ebx)
	xorl	%eax, %eax
	ret