2 * COPYRIGHT: GNU GPL - See COPYING in the top level directory
3 * PROJECT: ReactOS Run-Time Library
4 * PURPOSE: Memory functions
5 * FILE: lib/rtl/i386/rtlmem.s
6 * PROGRAMER: Alex Ionescu (alex.ionescu@reactos.org)
11 /* GLOBALS *******************************************************************/
13 PUBLIC _RtlCompareMemory@12
14 PUBLIC _RtlCompareMemoryUlong@12
15 PUBLIC _RtlFillMemory@12
16 PUBLIC _RtlFillMemoryUlong@12
17 PUBLIC _RtlMoveMemory@12
18 PUBLIC _RtlZeroMemory@8
20 /* FUNCTIONS *****************************************************************/
29 /* Clear direction flag and load pointers and size in ULONGs */
37 /* Compare the ULONGs */
43 /* Compare what's left */
52 /* We're done, return full count */
59 /* Compare the last ULONG */
67 /* Remember how many matched */
78 _RtlCompareMemoryUlong@12:
80 /* Get pointers and size in ULONGs */
87 /* Do the compare and check result */
102 /* Get pointers and size */
114 /* Clear direction flag and set ULONG size and UCHAR remainder */
130 /* Fill what's left */
136 _RtlFillMemoryUlong@12:
138 /* Get pointer, size and pattern */
145 /* Do the fill and return */
151 _RtlFillMemoryUlonglong@16:
157 /* Get pointer, size and pattern */
164 /* Save the first part */
167 /* Read second part */
172 /* Do the fill and return */
181 /* Get pointers and size */
189 /* Clear direction flag and set ULONG size and UCHAR remainder */
205 /* Fill what's left */
215 /* Save non-volatiles */
219 /* Get pointers and size */
224 /* Use downward copy if source < dest and overlapping */
235 /* Check for small moves */
239 /* Check if its already aligned */
244 /* Make the destination dword aligned */
274 /* Go to the end of the region */
278 /* Check for small moves */
282 /* Check if its already aligned */
287 /* Make the destination dword aligned */