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