root/arch/h8300/lib/strncpy.S

/* [<][>][^][v][top][bottom][index][help] */
   1 ;;; SPDX-License-Identifier: GPL-2.0
   2 ;;; strncpy.S
   3 
   4 #include <asm/linkage.h>
   5 
   6         .text
   7 .global strncpy_from_user
   8 
   9 ;;; long strncpy_from_user(void *to, void *from, size_t n)
  10 strncpy_from_user:
  11         mov.l   er2,er2
  12         bne     1f
  13         sub.l   er0,er0
  14         rts
  15 1:
  16         mov.l   er4,@-sp
  17         sub.l   er3,er3
  18 2:
  19         mov.b   @er1+,r4l
  20         mov.b   r4l,@er0
  21         adds    #1,er0
  22         beq     3f
  23         inc.l   #1,er3
  24         dec.l   #1,er2
  25         bne     2b
  26 3:
  27         dec.l   #1,er2
  28 4:
  29         mov.b   r4l,@er0
  30         adds    #1,er0
  31         dec.l   #1,er2
  32         bne     4b
  33         mov.l   er3,er0
  34         mov.l   @sp+,er4
  35         rts

/* [<][>][^][v][top][bottom][index][help] */