aboutsummaryrefslogtreecommitdiffstats
path: root/memdump/memcpy.S
diff options
context:
space:
mode:
Diffstat (limited to 'memdump/memcpy.S')
-rw-r--r--memdump/memcpy.S23
1 files changed, 23 insertions, 0 deletions
diff --git a/memdump/memcpy.S b/memdump/memcpy.S
new file mode 100644
index 00000000..76eef73c
--- /dev/null
+++ b/memdump/memcpy.S
@@ -0,0 +1,23 @@
+#
+# memcpy.S
+#
+# Simple 16-bit memcpy() implementation
+#
+
+ .text
+ .code16gcc
+ .globl memcpy
+ .type memcpy, @function
+memcpy:
+ cld
+ pushw %di
+ pushw %si
+ movw %ax,%di
+ movw %dx,%si
+ # The third argument is already in cx
+ rep ; movsb
+ popw %si
+ popw %di
+ ret
+
+ .size memcpy,.-memcpy