home *** CD-ROM | disk | FTP | other *** search
- stdlib segment para public 'slcode'
- assume cs:stdlib
- ;
- extrn sl_malloc:far
- ;
- ;
- ; strset2- Allocates a string containing CX+1 characters and initializes
- ; all but the last byte to the character passed in AL. Zero
- ; terminates the entire string.
- ;
- ; inputs:
- ;
- ; AL- Character to copy.
- ; CX- # of characters in new string.
- ;
- ; outputs:
- ;
- ; es:di- Points at newly created string (if allocated).
- ;
- ; carry=0 if no error creating string.
- ; carry=1 if insufficient memory to allocate storage for string.
- ;
- ;
- ;
- ;
- public sl_strset2
- ;
- sl_strset2 proc far
- pushf
- push ax
- push cx
- ;
- cld
- inc cx ;Include zero byte at EOS.
- call sl_malloc ;Allocate space for string
- jc ss2sc ;Branch if insufficent memory.
- ;
- pop cx ;Retrieve count.
- push cx
- push di ;Save ptr to free memory
- rep stosb ;Fill string with char in AL.
- mov byte ptr es:[di], 0 ;Zero terminate
- pop di
- ;
- ss2cc: pop cx
- pop ax
- popf
- clc
- ret
-
- ss2sc: pop cx
- pop ax
- popf
- stc
- ret
- sl_strset2 endp
- ;
- ;
- ;
- ;
- stdlib ends
- end
-