;用我的吧 编译正确通过
;-------------------------------------------
;********************************数据段
data segment
array db 0,0,0,0 ;数组开辟空间
string1 db "Please input the lower case: $" ;字符串以$结束
string2 db " Ok,the upper case is: $"
string3 db "What you inputed is not a lower case !Try again: $"
crlf db 13,10,13,10,"$" ;13回车,10换行
data ends
;**********************************
;**********************************代码段
code segment
assume ds:data,cs:code ;段对应关系的说明
main proc far ;far子程序调用时的参数
start:
push ds
sub ax,ax ;清零
push ax ;压栈
mov ax,data ;将数据传送如数据段
mov ds,ax
;---------------------------------------
;主程序开始
;---------------------------------------------------------
;显示"Please input the lower case:$"的内容
mov ah,09h
lea dx,string1
int 21h
;----------------------------------------------------------
;键盘输入字母
mov bx,offset array ;设定基址
input:
mov ah,01h
int 21h
cmp al,20h ;比对空格
je input
cmp al,61h ;al和'a'相比
jb next ;al值小于'a',显示提示继续输入
cmp al,7ah ;al值和'z'比较
jnb next ;大于'z', 显示提示继续输入
sub al,20h ;减去32即为对应的大写字母
mov bl,al ;用bl将值取走
;----------------------------------------------------------------
;换行
mov ah,09h
lea dx,crlf
int 21h
;---------------------------------------------------------
;显示"The upper case is:$"的内容
mov ah,09h
lea dx,string2
int 21h
;-----------------------------------------------------
;大写字母输出
mov dl,bl
mov ah,02h
int 21h
ret ;返回(return)
;----------------------------------------------------------------
;换行
next:
mov ah,09h
lea dx,crlf
int 21h
;---------------------------------------------------------
;显示"what you inputed is not a lower case !Try again:$"的内容
mov ah,09h
lea dx,string3
int 21h
jmp input
;-------------------------------------------------------------
main endp ;主函数结束
;********************************************
code ends ;代码段定义结束
end start ;这个程序段全部结束,程序段不但有代码段还有其他段
温馨提示:内容为网友见解,仅供参考