Category : Assembly Language Source Code
Archive   : RHSTDLIB.ZIP
Filename : STRLWR.ASM
assume cs:stdlib
;
extrn $lwrtbl:byte, sl_strdup:far
;
; strlwr- Converts to lower case all upper case characters in the string
; pointed at by es:di.
;
; strlwr2- Same as above except it creates a new string then converts the
; characters in the new string. The original string is unchanged.
;
; inputs:
; es:di- Buffer for destination string.
;
; outputs:
; es:di- Points at converted string (points at new string
; for strupr2).
;
public sl_strlwr
;
sl_strlwr proc far
push es
push ds
push ax
push bx
pushf
push si
push di
;
mov si, es
mov ds, si
mov si, di
lea bx, $lwrtbl
ToUprLp: lodsb
xlat cs:$lwrtbl
stosb
cmp al, 0
jne ToUprLp
;
pop di
pop si
popf
pop bx
pop ax
pop ds
pop es
ret
sl_strlwr endp
;
;
public sl_strlwr2
;
sl_strlwr2 proc far
call sl_strdup
jc RetFar ;Return if error.
jmp near ptr sl_strlwr
RetFar: ret
sl_strlwr2 endp
;
stdlib ends
end
Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!
This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.
But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/