GAS LISTING /tmp/ccuvCP8J.s page 1 1 # 1 "/var/www/html/boot/syslinux/dos/memmove.S" 1 # 1 ... 0 0 1 /* Must be included first of all */ 2 #ifdef __ASSEMBLY__ 3 .code16 4 #else 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 0000 57 pushw %di 13 0001 56 pushw %si 14 0002 89C7 movw %ax,%di 15 0004 89D6 movw %dx,%si 16 0006 39F7 cmpw %si,%di 17 0008 7707 ja 1f 18 # The third argument is already in cx 19 000a FC cld 20 000b F3A4 rep ; movsb 21 2: 22 000d 5E popw %si 23 000e 5F popw %di 24 000f 66C3 ret 25 26 1: /* si <= di, need reverse copy */ 27 0011 01CF add %cx,%di 28 0013 01CE add %cx,%si 29 0015 4F dec %di 30 0016 4E dec %si 31 0017 FD std 32 0018 F3A4 rep ; movsb 33 001a FC cld 34 001b EBF0 jmp 2b 35 36 .size memmove,.-memmove GAS LISTING /tmp/ccuvCP8J.s page 2 DEFINED SYMBOLS /var/www/html/boot/syslinux/dos/memmove.S:11 .text:0000000000000000 memmove NO UNDEFINED SYMBOLS