Greg Hartman | 76d05dc | 2016-11-23 15:51:27 -0800 | [diff] [blame] | 1 | # |
2 | # memcpy.S | ||||
3 | # | ||||
4 | # Simple 16-bit memcpy() implementation | ||||
5 | # | ||||
6 | |||||
7 | .text | ||||
8 | .code16gcc | ||||
9 | .globl memcpy | ||||
10 | .type memcpy, @function | ||||
11 | memcpy: | ||||
12 | cld | ||||
13 | pushw %di | ||||
14 | pushw %si | ||||
15 | movw %ax,%di | ||||
16 | movw %dx,%si | ||||
17 | # The third argument is already in cx | ||||
18 | rep ; movsb | ||||
19 | popw %si | ||||
20 | popw %di | ||||
21 | ret | ||||
22 | |||||
23 | .size memcpy,.-memcpy |