home *** CD-ROM | disk | FTP | other *** search
/ CD Shareware Magazine 1996 December / CD_shareware_12-96.iso / DOS / Programa / CCDL122.ZIP / CLIBS / STRING / 386 / STRNCPY.ASM < prev    next >
Encoding:
Assembly Source File  |  1996-06-29  |  474 b   |  40 lines

  1.     .386
  2.     .model small
  3.     public _strncpy
  4.     .code
  5. _strncpy:
  6.     push    ebp
  7.     mov    ebp,esp
  8.     push    esi
  9.     push    edi
  10.     mov    edi,[ebp+12]
  11.     mov    ecx,-1
  12.     sub    al,al
  13.     cld
  14.     repne    scasb
  15.     neg    ecx
  16.     dec    ecx
  17.     dec    ecx
  18.     mov    edx,[ebp+16]
  19.     sub    edx,ecx
  20.     jge    short useecx
  21.     mov    ecx,[ebp+16]
  22. useecx:
  23.     mov    esi,[ebp+12]
  24.     mov    edi,[ebp+8]
  25.     cld
  26.     rep    movsb
  27.  
  28.     or    edx,edx
  29.     jle    short nopad
  30.     mov    ecx,edx
  31.     sub    al,al
  32.     rep    stosb
  33.  
  34. nopad:
  35.     mov    eax,[ebp+8]
  36.     pop    edi
  37.     pop    esi
  38.     pop    ebp
  39.     ret
  40.     end