home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / progc / dbvgal17.arj / SRC_ASM.ZIP / MEMCPYB.ASM < prev    next >
Assembly Source File  |  1992-01-25  |  2KB  |  68 lines

  1.         name    memcpyb ; copy a string of memory one byte at a time
  2. ARGDO   equ     word ptr [bp+06h]
  3. ARGDS   equ     word ptr [bp+08h]
  4. ARGSO   equ     word ptr [bp+0ah]
  5. ARGSS   equ     word ptr [bp+0ch]
  6. ARGN    equ     word ptr [bp+0eh]
  7. MEMB_TEXT       segment byte public 'CODE'
  8.         public  _memcpyb
  9.         assume  cs:MEMB_TEXT
  10. _memcpyb      proc    far
  11.         push    bp
  12.         mov     bp,sp
  13.         push    si
  14.         push    di
  15.         push    ds
  16.         pushf
  17.  
  18.         cld     ; top to bottom move
  19.         mov     ax,ARGDS
  20.         mov     es,ax
  21.         mov     ax,ARGSS
  22.         mov     ds,ax
  23.         mov     ax,ARGDO
  24.         mov     di,ax
  25.         mov     si,ARGSO
  26.         mov     cx,ARGN
  27.         rep movsb
  28.  
  29.         mov     dx,es
  30.         popf
  31.         pop     ds
  32.         pop     di
  33.         pop     si
  34.         pop     bp
  35.         ret     
  36. _memcpyb      endp
  37.         public  _memcpybr
  38.         assume  cs:MEMB_TEXT
  39. _memcpybr     proc    far
  40.         push    bp
  41.         mov     bp,sp
  42.         push    si
  43.         push    di
  44.         push    ds
  45.         pushf
  46.  
  47.         std     ; bottom to top move
  48.         mov     ax,ARGDS
  49.         mov     es,ax
  50.         mov     ax,ARGSS
  51.         mov     ds,ax
  52.         mov     ax,ARGDO
  53.         mov     di,ax
  54.         mov     si,ARGSO
  55.         mov     cx,ARGN
  56.         rep movsb
  57.  
  58.         mov     dx,es
  59.         popf
  60.         pop     ds
  61.         pop     di
  62.         pop     si
  63.         pop     bp
  64.         ret     
  65. _memcpybr      endp
  66. MEMB_TEXT       ends
  67.         end
  68.