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