Output of file : RMVSTR.ASM contained in archive : RHSTDLIB.ZIP

stdlib segment para public 'slcode'
assume cs:stdlib
; RmvStr- Subtracts the characters in a string from a set.
; inputs:
; ES:DI- Points at the set (at its mask byte).
; DX:SI- Points at the string.
public sl_RmvStr
sl_RmvStr proc far
push ds
push ax
push bx
push si
push di
mov ds, dx
mov al, es:[di] ;Get mask byte
not al
add di, 8 ;Skip to start of set
mov bh, 0
jmp IntoLp
RmvLp: and es:[di][bx], al ;Add to set
inc si ;Move on to next char.
IntoLp: mov bl, [si]
cmp bl, 0
jnz RmvLp
pop di
pop si
pop bx
pop ax
pop ds
sl_RmvStr endp
stdlib ends