{ $Id$ This file is part of the Free Pascal run time library. Copyright (c) 1993,97 by the Free Pascal development team. Processor dependent implementation for the system unit for intel i386+ See the file COPYING.FPC, included in this distribution, for details about the copyright. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. **********************************************************************} {$ASMMODE ATT} {**************************************************************************** Move / Fill ****************************************************************************} procedure Move(var source;var dest;count:longint); begin asm movl dest,%edi movl source,%esi movl %edi,%eax movl count,%ebx { Check for back or forward } sub %esi,%eax jz .LMoveEnd { Do nothing when source=dest } jc .LFMove { Do forward, dest0 then begin l:=InOutRes; InOutRes:=0; If ErrorProc<>Nil then TErrorProc(Errorproc)(l,pointer(addr)); {$ifndef RTLLITE} writeln('IO-Error ',l,' at 0x',HexStr(addr,8)); {$endif} Halt(byte(l)); end; asm popal end; end; { $Log$ Revision 1.25 1998-09-28 11:02:34 peter * added some more $ifdef FPCNAMES Revision 1.24 1998/09/28 10:23:43 florian * FPC_NEW_CLASS optimized: addl $0,%eax => orl %eax,%eax Revision 1.23 1998/09/28 08:40:47 michael + Bugreport from Gertjan Schouten Revision 1.22 1998/09/22 15:32:00 peter + fpc_pchar_to_str alias for strpas Revision 1.21 1998/09/14 10:48:08 peter * FPC_ names * Heap manager is now system independent Revision 1.20 1998/09/11 17:38:48 pierre merge for fixes branch Revision 1.19.2.1 1998/09/11 17:37:24 pierre * correction respective to stricter as v2.9.1 syntax Revision 1.19 1998/09/01 17:36:17 peter + internconst Revision 1.18 1998/08/11 00:04:47 peter * $ifdef ver0_99_5 updates Revision 1.17 1998/07/30 13:26:20 michael + Added support for ErrorProc variable. All internal functions are required to call HandleError instead of runerror from now on. This is necessary for exception support. Revision 1.16 1998/07/02 12:55:04 carl * Put back DoError, DO NOT TOUCH! Revision 1.15 1998/07/02 12:19:32 carl + IO-Error and Overflow now print address in hex Revision 1.14 1998/07/01 15:29:58 peter * better readln/writeln Revision 1.13 1998/06/26 08:20:57 daniel - Doerror removed. Revision 1.12 1998/05/31 14:15:47 peter * force to use ATT or direct parsing Revision 1.11 1998/05/30 14:30:21 peter * force att reading Revision 1.10 1998/05/25 10:40:49 peter * remake3 works again on tflily Revision 1.5 1998/04/29 13:28:19 peter * some cleanup and i386_att usage Revision 1.4 1998/04/10 15:41:54 florian + some small comments added Revision 1.3 1998/04/10 15:25:23 michael - Removed so-called better random function Revision 1.2 1998/04/08 07:53:31 michael + Changed Random() function. Moved from system to processor dependent files (from Pedro Gimeno) }