【任务】
编写程序,将数据区中定义的以0作为结束符的一个字符串中所有的大写字符,全部转换为小写。
【参考解答】
assume cs:cseg, ds:dseg, ss:sseg
sseg segment stack
dw 100h dup (?)
sseg ends
dseg segment
db 'YanTai123University', 0
dseg ends
cseg segment
start: mov ax, dseg
mov ds, ax
mov ax, sseg
mov ss, ax
mov sp, 100h
mov bx, 0
call strlwr
mov ax, 4c00h
int 21h
;子程序名:STRLWR
;功 能:把字符串中的所有大写字母改写为小写字母
;入口参数:DS∶BX=存放改写所需字符串的缓冲区首地址
;出口参数:无
strlwr proc
push ax
push si
mov si,bx
again: mov al,[si]
or al,al
jz ok
cmp al,'A'
jb next
cmp al,'Z'
ja next
or al,20h
mov [si],al
next: inc si
jmp again
ok: pop si
pop ax
ret
strlwr endp
cseg ends
end start