VirtualBox

source: vbox/trunk/src/VBox/Devices/BiosCommonCode/fmemcpy.asm

Last change on this file was 98103, checked in by vboxsync, 16 months ago

Copyright year updates by scm.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.0 KB
Line 
1; $Id: fmemcpy.asm 98103 2023-01-17 14:15:46Z vboxsync $
2;; @file
3; Compiler support routines.
4;
5
6;
7; Copyright (C) 2012-2023 Oracle and/or its affiliates.
8;
9; This file is part of VirtualBox base platform packages, as
10; available from https://www.virtualbox.org.
11;
12; This program is free software; you can redistribute it and/or
13; modify it under the terms of the GNU General Public License
14; as published by the Free Software Foundation, in version 3 of the
15; License.
16;
17; This program is distributed in the hope that it will be useful, but
18; WITHOUT ANY WARRANTY; without even the implied warranty of
19; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20; General Public License for more details.
21;
22; You should have received a copy of the GNU General Public License
23; along with this program; if not, see <https://www.gnu.org/licenses>.
24;
25; SPDX-License-Identifier: GPL-3.0-only
26;
27
28
29;*******************************************************************************
30;* Exported Symbols *
31;*******************************************************************************
32public _fmemcpy_
33
34
35 .8086
36
37_TEXT segment public 'CODE' use16
38 assume cs:_TEXT
39
40
41;;
42; memcpy taking far pointers.
43;
44; cx, es may be modified; si, di are preserved
45;
46; @returns dx:ax unchanged.
47; @param dx:ax Pointer to the destination memory.
48; @param cx:bx Pointer to the source memory.
49; @param sp+2 The number of bytes to copy (dw).
50;
51_fmemcpy_:
52 push bp
53 mov bp, sp
54 push di
55 push ds
56 push si
57
58 mov es, dx
59 mov di, ax
60 mov ds, cx
61 mov si, bx
62 mov cx, [bp + 4]
63 rep movsb
64
65 pop si
66 pop ds
67 pop di
68 mov sp, bp
69 pop bp
70 ret
71
72
73_TEXT ends
74 end
75
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use