Adding upstream version 4.00~pre55+dfsg.
[syslinux-debian/hramrach.git] / core / lzo / enter.ash
blob49c455d6ed110074aed34be97a070baf03a0038d
1 /* enter.ash -- LZO assembler stuff
3    This file is part of the LZO real-time data compression library.
5    Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
6    Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
7    Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
8    Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
9    Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
10    Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
11    Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
12    Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
13    Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
14    Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
15    Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
16    Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
17    Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
18    All Rights Reserved.
20    The LZO library is free software; you can redistribute it and/or
21    modify it under the terms of the GNU General Public License as
22    published by the Free Software Foundation; either version 2 of
23    the License, or (at your option) any later version.
25    The LZO library is distributed in the hope that it will be useful,
26    but WITHOUT ANY WARRANTY; without even the implied warranty of
27    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
28    GNU General Public License for more details.
30    You should have received a copy of the GNU General Public License
31    along with the LZO library; see the file COPYING.
32    If not, write to the Free Software Foundation, Inc.,
33    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
35    Markus F.X.J. Oberhumer
36    <markus@oberhumer.com>
37    http://www.oberhumer.com/opensource/lzo/
38  */
41 /***********************************************************************
43 ************************************************************************/
45         pushl   %ebp
46         pushl   %edi
47         pushl   %esi
48         pushl   %ebx
49         pushl   %ecx
50         pushl   %edx
51         subl    $12,%esp
53         cld
55         movl    INP,%esi
56         movl    OUTP,%edi
57 #if defined(N_3_EBP)
58         movl    $3,%ebp
59 #endif
60 #if defined(N_255_EBP)
61         movl    $255,%ebp
62 #endif
64 #if defined(LZO_TEST_DECOMPRESS_OVERRUN_INPUT)
65 #if defined(INIT_OVERRUN)
66         INIT_OVERRUN
67 # undef INIT_OVERRUN
68 #endif
69         leal    -3(%esi),%eax       /* 3 == length of EOF code */
70         addl    INS,%eax
71         movl    %eax,INEND
72 #endif
74 #if defined(LZO_TEST_DECOMPRESS_OVERRUN_OUTPUT)
75 #if defined(INIT_OVERRUN)
76         INIT_OVERRUN
77 # undef INIT_OVERRUN
78 #endif
79         movl    %edi,%eax
80         movl    OUTS,%edx
81         addl    (%edx),%eax
82         movl    %eax,OUTEND
83 #endif
87 vi:ts=4