汇编语⾔⼩写字母转⼤写字母DATAS SEGMENT
BUF DB  82 DUP(?)
DATAS ENDS
STACKS SEGMENT
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
MOV ES,AX            ;段寄存器初始化
MOV BX,OFFSET BUF    ;BX指向字符⾏缓冲区⾸址
BECOME0:MOV SI,00H            ;将SI置为零
DEAL:MOV AH,01H            ;读⼊功能
INT 21H
CMP AL,0DH            ;判断是否为回车,如果是则输出结束,只在最后⼀次使⽤。
JZ OVER              ;如果结束,则跳转到over函数
CMP AL,61H            ;排除掉⼩写字母之前的
JB NEXT
CMP AL,7AH            ;排除掉⼩写字母之后的
JA NEXT
SUB AL,20H            ;此时必是⼩写字母,将其变成⼤写字母
NEXT:MOV[BX+SI],AL        ;处理接下来的⼀个
INC SI                ;每次往后增加⼀位
JMP DEAL              ;跳转到处理函数
汇编语言大小写字母转换OVER:MOV[BX+SI],AL
MOV AL,0AH
MOV[BX+SI+1],AL      ;加⼊换⾏
MOV AL,'$'
MOV[BX+SI+2],AL      ;设置标志字符
MOV AH,09H
MOV DX,BX            ;字符串输出
INT 21H
MOV AH,4CH
INT 21H
CODES ENDS
END START

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。