【汇编语⾔】将键盘输⼊的⼩写字母转换成⼤写字母
【题⽬】编写程序,从键盘输⼊⼀串字符,以’$'或回车结束,将其中的⼩写字母转变成⼤写字母,其他字母不作转换,原样输出,结果在屏幕上显⽰。
DATA    SEGMENT
STRING  DB      50;字符串最⼤长度
DB      0 ;字符串实际长度
DB    50 DUP(0);字符串有效长度
MSG1 DB 'INPUT STRING:$';提⽰信息
MSG2 DB 'OUTPUT STRING:$'
CRLF DB 0DH,0AH,'$';换⾏
DATA    ENDS
CODE    SEGMENT
ASSUME  CS:CODE ,DS:DATA
START:  MOV    AX,    DATA
MOV    DS,    AX
LEA DX,MSG1;显⽰提⽰信息
MOV AH,09H
INT 21H
LEA DX,STRING;输⼊字符串
MOV AH,0AH
INT 21H
LEA SI,STRING+1
XOR CX,CX
MOV    CX,    [SI]    ;循环次数
LEA    BX,    STRING+2  ;把STRING的偏移地址送到BX
ALP:  MOV    AL,    [BX]
CMP    AL,    '$'            ;判断是否为最后⼀个字符
JZ      OVER                    ;等于$,则执⾏OVER
CMP    AL,    'a'            ;AL与⼩写a⽐较
JB    NEXT                    ;AL⽐a⼩时执⾏NEXT
汇编语言大小写字母转换CMP    AL,    'z'
JA      NEXT                    ;AL⽐z⼤时执⾏NEXT
SUB    AL,    20H              ;⼩写转成⼤写
JMP    NEXT
NEXT:
MOV [BX],AL          ;把转换后的字符串送回原地址
INC    BX
LOOP    ALP
OVER:
LEA DX,CRLF
MOV AH,09H ;换⾏
INT 21H
LEA DX,MSG2
MOV AH,09H ;显⽰提⽰信息
INT 21H
LEA DX,STRING+2 ;输出转换后的字符串
MOV AH,09H
INT 21H
MOV    AH,    4CH
INT    21H
CODE    ENDS
END    START

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