OpenCores
URL https://opencores.org/ocsvn/or1k_old/or1k_old/trunk

Subversion Repositories or1k_old

[/] [or1k_old/] [trunk/] [newlib/] [newlib/] [libc/] [sys/] [go32/] [setjmp.S] - Blame information for rev 40

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 39 lampret
/* This is file SETJMP.S */
2
/*
3
** Copyright (C) 1993 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
4
**
5
** This file is distributed under the terms listed in the document
6
** "copying.dj", available from DJ Delorie at the address above.
7
** A copy of "copying.dj" should accompany this file; if not, a copy
8
** should be available from where this file was obtained.  This file
9
** may not be distributed without a verbatim copy of "copying.dj".
10
**
11
** This file is distributed WITHOUT ANY WARRANTY; without even the implied
12
** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
*/
14
 
15
/*
16
**      jmp_buf:
17
**       eax ebx ecx edx esi edi ebp esp eip es fs gs ss
18
**       0   4   8   12  16  20  24  28  32  36 38 40 42
19
*/
20
 
21
        .globl  _setjmp /* jmp_buf */
22
_setjmp:
23
        pushl   %ebp
24
        movl    %esp,%ebp
25
 
26
        pushl   %edi
27
        movl    8(%ebp),%edi
28
 
29
        movl    %eax,0(%edi)
30
        movl    %ebx,4(%edi)
31
        movl    %ecx,8(%edi)
32
        movl    %edx,12(%edi)
33
        movl    %esi,16(%edi)
34
 
35
        movl    -4(%ebp),%eax
36
        movl    %eax,20(%edi)
37
 
38
        movl    0(%ebp),%eax
39
        movl    %eax,24(%edi)
40
 
41
        movl    %esp,%eax
42
        addl    $12,%eax
43
        movl    %eax,28(%edi)
44
 
45
        movl    4(%ebp),%eax
46
        movl    %eax,32(%edi)
47
 
48
        movw    %es, %ax
49
        movw    %ax, 36(%edi)
50
        movw    %fs, %ax
51
        movw    %ax, 38(%edi)
52
        movw    %gs, %ax
53
        movw    %ax, 40(%edi)
54
        movw    %ss, %ax
55
        movw    %ax, 42(%edi)
56
 
57
        popl    %edi
58
        movl    $0,%eax
59
        leave
60
        ret
61
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.