汇编语⾔⼩写字母转⼤写字母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小时内删除。
发表评论