summaryrefslogtreecommitdiff
path: root/setedit/extra/memmove.s
diff options
context:
space:
mode:
Diffstat (limited to 'setedit/extra/memmove.s')
-rw-r--r--setedit/extra/memmove.s30
1 files changed, 30 insertions, 0 deletions
diff --git a/setedit/extra/memmove.s b/setedit/extra/memmove.s
new file mode 100644
index 0000000..373b280
--- /dev/null
+++ b/setedit/extra/memmove.s
@@ -0,0 +1,30 @@
+/* Copyright (C) 1995 DJ Delorie, see COPYING.DJ for details */
+#ifdef __DJGPP__
+ .file "memmove.s"
+ .globl _memmove
+_memmove:
+ pushl %ebp
+ movl %esp,%ebp
+ pushl %esi
+ pushl %edi
+ movl 8(%ebp),%edi
+ movl 12(%ebp),%esi
+ movl 16(%ebp),%ecx
+ jecxz L2
+
+ cmpl %esi,%edi
+ jb L3
+
+ call ___dj_movedata_rev
+ jmp L2
+L3:
+ call ___dj_movedata
+
+L2:
+ cld
+ popl %edi
+ popl %esi
+ movl 8(%ebp),%eax
+ leave
+ ret
+#endif