memmove.s - scc - simple c99 compiler
(HTM) git clone git://git.simple-cc.org/scc
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) Submodules
(DIR) README
(DIR) LICENSE
---
memmove.s (275B)
---
1 .file "memmove.s"
2
3 .text
4 .globl memmove,_memmove
5 _memmove:
6 memmove:
7 movq %rdi,%rax
8
9 movq %rdx,%rcx
10
11 cmpq %rdi,%rsi
12 jg forward
13 jl backward
14 ret
15
16 forward:
17 cld
18 rep
19 movsb
20 ret
21
22 backward:
23 std
24 movq %rdx,%r8
25 subq $1,%r8
26 addq %r8,%rdi
27 addq %r8,%rsi
28 rep; movsb
29 ret