home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast2.iso / asmutil / stdlib.zip / EMPTYSET.ASM < prev    next >
Assembly Source File  |  1990-07-21  |  695b  |  49 lines

  1. stdlib        segment    para public 'slcode'
  2.         assume    cs:stdlib
  3. ;
  4.         extrn    sl_malloc:far
  5. ;
  6. ; EmptySet-    Clears an existing set's elements changing it to the empty
  7. ;        set.
  8. ;
  9. ;        ES:DI must point at set (first byte of desired set) upon
  10. ;        entry.
  11. ;
  12. ;
  13.         public    sl_EmptySet
  14. ;
  15. sl_EmptySet    proc    far
  16.         push    ds
  17.         push    ax
  18.         push    cx
  19.         pushf
  20.         push    di
  21.         push    si
  22. ;
  23.         mov    ax, es
  24.         mov    ds, ax
  25.         mov    ah, [di]        ;Get Mask byte.
  26.         not    ah
  27.         add    di, 8            ;Point at start of set
  28.         mov    si, di
  29.         mov    cx, 256
  30. ClearSet:    lodsb
  31.         and    al, ah
  32.         stosb
  33.         loop    ClearSet
  34. ;
  35.         pop    si
  36.         pop    di
  37.         popf
  38.                 pop    cx
  39.         pop    ax
  40.         pop    ds
  41.         clc
  42.         ret
  43. ;
  44. sl_EmptySet    endp
  45. ;
  46. ;
  47. stdlib        ends
  48.         end
  49.