DATA SEGMENT
inbuf DB 100 ;可能输入的最大字符数
db 0 ;实际输入字符数
db 100 DUP('$') ;输入缓冲
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
mov di,OFFSET inbuf
;输入字符串
MOV AH,0AH
MOV DX,di
INT 21H
xor cx,cx
mov cl,[di+1] ;循环次数(输入字符数)
lea si,[di+2] ;输入串起始地址
;循环比较
next1:
cmp byte ptr [si],'A'
jb skip1
cmp byte ptr [si],'Z'
ja skip1
or byte ptr [si],20h ;转小写
skip1:
inc si
loop next1
MOV DL,0AH
MOV AH,02H
INT 21H
;输出字符串
lea DX,[di+2]
MOV AH,09H
INT 21H
mov cl,[di+1] ;循环次数(输入字符数)
lea si,[di+2] ;输入串起始地址
next2:
cmp byte ptr [si],'a'
jb skip2
cmp byte ptr [si],'z'
ja skip2
xor byte ptr [si],20h ;转大写
skip2:
inc si
loop next2
;输出字符串
MOV DL,0AH
MOV AH,02H
INT 21H
lea DX,[di+2]
MOV AH,09H
INT 21H
MOV AH,0
INT 16H
MOV AX,4C00H
INT 21H
CODE ENDS
END START
masm611编译运行通过。
菜鸟进来等高手 学习。。。
等待