]>
git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/Ia32/EfiCopyMemRep1.c
3 Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>
4 This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
18 This is the code that uses rep movsb CopyMem service
34 Copy Length bytes from Source to Destination.
38 Destination - Target of copy
40 Source - Place to copy from
42 Length - Number of bytes to copy
51 mov esi
, Source
; esi
<- Source
52 mov edi
, Destination
; edi
<- Destination
53 mov edx
, Count
; edx
<- Count
58 lea eax
, [esi
+ edx
- 1] ; eax
<- End of Source
62 jb _CopyBytes
; Copy backward
if overlapped
63 mov esi
, eax
; esi
<- End of Source
64 lea edi
, [edi
+ edx
- 1] ; edi
<- End of Destination
68 rep movsb
; Copy bytes backward