Home | History | Annotate | Download | only in lzo
      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 (at) 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 /*
     75 vi:ts=4
     76 */
     77 
     78