projects
/
profile
/
ivi
/
syslinux.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
bootsect.inc: try to catch obvious .0 problems
[profile/ivi/syslinux.git]
/
dos
/
memmove.S
1
#
2
# memmove.S
3
#
4
# Simple 16-bit memmove() implementation
5
#
6
7
.text
8
.code16gcc
9
.globl memmove
10
.type memmove, @function
11
memmove:
12
pushw %di
13
pushw %si
14
movw %ax,%di
15
movw %dx,%si
16
cmpw %si,%di
17
ja 1f
18
# The third argument is already in cx
19
cld
20
rep ; movsb
21
2:
22
popw %si
23
popw %di
24
ret
25
26
1: /* si <= di, need reverse copy */
27
add %cx,%di
28
add %cx,%si
29
dec %di
30
dec %si
31
std
32
rep ; movsb
33
cld
34
jmp 2b
35
36
.size memmove,.-memmove