home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 11 Util
/
11-Util.zip
/
lcase.zip
/
LCASE.ASM
next >
Wrap
Assembly Source File
|
1988-01-28
|
1KB
|
70 lines
PAGE 80,132
TITLE OS/2 convert lower case to upper case
.286c
.xlist
.list
extrn DosRead:far
extrn DosWrite:far
extrn DosExit:far
dgroup group data
stack segment para stack
dw 256 dup(' ')
stack ends
data segment para public 'auto'
buffer db ' '
BUFFERL equ $ - offset buffer
bytesxfer dw 0
stdin dw 0
stdout dw 1
data ends
code segment para public 'code'
assume cs:code,ds:data,es:nothing,ss:stack
main proc
pusha
read: push stdin
push ds
mov ax,offset buffer
push ax
mov ax,BUFFERL
push ax
push ds
mov ax,offset bytesxfer
push ax
call DosRead
cmp bytesxfer,0
je exit
mov cx,bytesxfer
mov si,offset buffer
convert: cmp byte ptr [si],'A'
jb next
cmp byte ptr [si],'Z'
ja next
add byte ptr [si],'a' - 'A'
next: inc si
loop convert
write: push stdout
push ds
mov ax,offset buffer
push ax
push bytesxfer
push ds
mov ax,offset bytesxfer
push ax
call DosWrite
jmp read
exit: popa
push 0
push 1
call DosExit
main endp
code ends
end main