home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1997 October / VPR9710A.ISO / BENCH / DJ1SRC_K / 105 / DOUTILS.ASM < prev    next >
Assembly Source File  |  1997-05-01  |  2KB  |  86 lines

  1. ; This is file DOUTILS.ASM
  2. ;
  3. ; Copyright (C) 1991 DJ Delorie, 24 Kirsten Ave, Rochester NH 03867-2954
  4. ;
  5. ; This file is distributed under the terms listed in the document
  6. ; "copying.dj", available from DJ Delorie at the address above.
  7. ; A copy of "copying.dj" should accompany this file; if not, a copy
  8. ; should be available from where this file was obtained.  This file
  9. ; may not be distributed without a verbatim copy of "copying.dj".
  10. ;
  11. ; This file is distributed WITHOUT ANY WARRANTY; without even the implied
  12. ; warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  13. ;
  14. ; 97/05/01 Kimio Itoh(kitoh@nn.iij4u.or.jp) modified
  15. ; for reduce binary size and for dead code elimination.
  16. ; 1.00 - 1.10 common version
  17.  
  18. ;    History:14,1
  19.     title    du_utils
  20.     .386p
  21.  
  22.     include build.inc
  23.     include    segdefs.inc
  24.     include tss.inc
  25.     include gdt.inc
  26.     include idt.inc
  27.  
  28. ;------------------------------------------------------------------------
  29.  
  30.     start_data16
  31.  
  32.     end_data16
  33.  
  34. ;------------------------------------------------------------------------
  35.  
  36.     start_code16
  37.  
  38.     public    __do_memset32
  39. __do_memset32:
  40.     push    cx
  41.     shr    cx,2
  42.     jcxz    nodset
  43.     db    67h        ; so EDI is used
  44.     rep    stosd
  45. nodset:
  46.     pop    cx
  47.     and    cx,3
  48.     jcxz    nobset
  49.     db    67h        ; so EDI is used
  50.     rep    stosb
  51. nobset:
  52.     jmpt    g_ctss
  53.  
  54. ;------------------------------------------------------------------------
  55.  
  56.     public    __do_memmov32
  57. __do_memmov32:
  58.     push    cx
  59.     shr    cx,2
  60.     jcxz    nodmove
  61.     db    67h        ; so ESI,EDI is used
  62.     rep    movsd
  63. nodmove:
  64.     pop    cx
  65.     and    cx,3
  66.     jcxz    nobmove
  67.     db    67h        ; so ESI,EDI is used
  68.     rep    movsb
  69. nobmove:
  70.     jmpt    g_ctss
  71.  
  72.  
  73. ;------------------------------------------------------------------------
  74.  
  75.     end_code16
  76.  
  77. ;------------------------------------------------------------------------
  78.  
  79.     start_code32
  80.  
  81.     end_code32
  82.  
  83. ;------------------------------------------------------------------------
  84.  
  85.     end
  86.