strncpy.S
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:1k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  *  arch/s390/kernel/strncpy.S
  3.  *    S390 strncpy routine
  4.  *
  5.  *  S390 version
  6.  *    Copyright (C) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
  7.  *    Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com),
  8.  */
  9. /*
  10.  * R2 = address of destination
  11.  * R3 = address of source string
  12.  * R4 = max number of bytes to copy
  13.  */
  14.         .globl   strncpy
  15. strncpy:
  16.         LGR     1,2            # don't touch address in R2
  17. LTR     4,4
  18.         JZ      strncpy_exit   # 0 bytes -> nothing to do
  19. SGR     0,0
  20. strncpy_loop:
  21.         ICM     0,1,0(3)       # ICM sets the cc, IC does not
  22. LA      3,1(3)
  23.         STC     0,0(1)
  24. LA      1,1(1)
  25.         JZ      strncpy_exit   # ICM inserted a 0x00
  26.         BRCTG   4,strncpy_loop # R4 -= 1, jump to strncpy_loop if > 0
  27. strncpy_exit:
  28.         BR      14