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 _RtlFillMemoryUlonglong@16
18 PUBLIC _RtlMoveMemory@12
19 PUBLIC _RtlZeroMemory@8
21 /* FUNCTIONS *****************************************************************/
30 /* Clear direction flag and load pointers and size in ULONGs */
38 /* Compare the ULONGs */
44 /* Compare what's left */
53 /* We're done, return full count */
60 /* Compare the last ULONG */
68 /* Remember how many matched */
79 _RtlCompareMemoryUlong@12:
81 /* Get pointers and size in ULONGs */
88 /* Do the compare and check result */
103 /* Get pointers and size */
115 /* Clear direction flag and set ULONG size and UCHAR remainder */
131 /* Fill what's left */
137 _RtlFillMemoryUlong@12:
139 /* Get pointer, size and pattern */
146 /* Do the fill and return */
152 _RtlFillMemoryUlonglong@16:
158 /* Get pointer, size and pattern */
165 /* Save the first part */
168 /* Read second part */
173 /* Do the fill and return */
182 /* Get pointers and size */
190 /* Clear direction flag and set ULONG size and UCHAR remainder */
206 /* Fill what's left */
216 /* Save non-volatiles */
220 /* Get pointers and size */
225 /* Use downward copy if source < dest and overlapping */
236 /* Check for small moves */
240 /* Check if its already aligned */
245 /* Make the destination dword aligned */
275 /* Go to the end of the region */
279 /* Check for small moves */
283 /* Check if its already aligned */
288 /* Make the destination dword aligned */