题目:编写一个子程序,将包含任意字符,以0结尾的字符串中的小写字母转变成大写字母。
分析:这里的关键是要知道小写字母的范围是[97,122]。然后做好判断就行了。
mov ax,4c00h
int 21h
letterc:
mov cx,0
mov ax,0
do:
mov al,ds:[si]
mov cx,ax
jcxz doover
cmp al,97
jb next
cmp al,122
ja next
and al,11011111b
mov ds:[si],al
next:
inc si
jmp short do
doover:
call show_str
ret
show_str:
mov cl,0a0h
mov ax,0b800h
mov es,ax
mov si,0
mov di,0
mov ax,0
mov dx,0
show:mov dx, cx
mov al,ds:[si]
mov cx,ax
jcxz ok
mov cx,dx
mov ah,cl
mov word ptr es:[di],ax
mov ax,0
inc si
add di,2
jmp short show
ok:
ret
codesg ends
end start