setjmp.S revision 1.1.1.1.2.2 1 1.1.1.1.2.2 pgoyette /* $NetBSD: setjmp.S,v 1.1.1.1.2.2 2018/09/06 06:56:39 pgoyette Exp $ */
2 1.1.1.1.2.2 pgoyette
3 1.1.1.1.2.2 pgoyette /*
4 1.1.1.1.2.2 pgoyette * Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.
5 1.1.1.1.2.2 pgoyette * This program and the accompanying materials are licensed and made
6 1.1.1.1.2.2 pgoyette available
7 1.1.1.1.2.2 pgoyette * under the terms and conditions of the BSD License which accompanies
8 1.1.1.1.2.2 pgoyette this
9 1.1.1.1.2.2 pgoyette * distribution. The full text of the license may be found at
10 1.1.1.1.2.2 pgoyette * http://opensource.org/licenses/bsd-license.php.
11 1.1.1.1.2.2 pgoyette *
12 1.1.1.1.2.2 pgoyette * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS"
13 1.1.1.1.2.2 pgoyette BASIS,
14 1.1.1.1.2.2 pgoyette * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR
15 1.1.1.1.2.2 pgoyette * IMPLIED.
16 1.1.1.1.2.2 pgoyette */
17 1.1.1.1.2.2 pgoyette .text
18 1.1.1.1.2.2 pgoyette .globl setjmp
19 1.1.1.1.2.2 pgoyette #ifndef __MINGW32__
20 1.1.1.1.2.2 pgoyette .type setjmp, @function
21 1.1.1.1.2.2 pgoyette #else
22 1.1.1.1.2.2 pgoyette .def setjmp; .scl 2; .type 32; .endef
23 1.1.1.1.2.2 pgoyette #endif
24 1.1.1.1.2.2 pgoyette setjmp:
25 1.1.1.1.2.2 pgoyette pop %ecx
26 1.1.1.1.2.2 pgoyette movl (%esp), %edx
27 1.1.1.1.2.2 pgoyette movl %ebx, (%edx)
28 1.1.1.1.2.2 pgoyette movl %esi, 4(%edx)
29 1.1.1.1.2.2 pgoyette movl %edi, 8(%edx)
30 1.1.1.1.2.2 pgoyette movl %ebp, 12(%edx)
31 1.1.1.1.2.2 pgoyette movl %esp, 16(%edx)
32 1.1.1.1.2.2 pgoyette xorl %eax, %eax
33 1.1.1.1.2.2 pgoyette jmp *%ecx
34 1.1.1.1.2.2 pgoyette
35 1.1.1.1.2.2 pgoyette .globl longjmp
36 1.1.1.1.2.2 pgoyette #ifndef __MINGW32__
37 1.1.1.1.2.2 pgoyette .type longjmp, @function
38 1.1.1.1.2.2 pgoyette #else
39 1.1.1.1.2.2 pgoyette .def longjmp; .scl 2; .type 32; .endef
40 1.1.1.1.2.2 pgoyette #endif
41 1.1.1.1.2.2 pgoyette longjmp:
42 1.1.1.1.2.2 pgoyette pop %eax
43 1.1.1.1.2.2 pgoyette pop %edx
44 1.1.1.1.2.2 pgoyette pop %eax
45 1.1.1.1.2.2 pgoyette movl (%edx), %ebx
46 1.1.1.1.2.2 pgoyette movl 4(%edx), %esi
47 1.1.1.1.2.2 pgoyette movl 8(%edx), %edi
48