汇编语言 输入一串字符串,将其中的小写字母转化为大写字母,并输出转化前、后的字符串。

题目:汇编语言 输入一串字符串,将其中的小写字母转化为大写字母,并输出转化前、后的字符串。

代码:

data segment
     str1 db 'input:','$'      
     str2 db 0dh,0ah,'output:','$'
     buf db 30       ;定义数据缓冲区
         db 0
         db 30 dup(0)
data ends
code segment
     assume cs:code,ds:data
start: mov ax,data
       mov ds,ax       
       lea dx,buf      ;输入字符串
       mov ah,0ah
       int 21h
       lea dx,str1      ;输出input:
       mov ah,09h
       int 21h
       lea dx,buf+2     ;输出输入的字符串
       mov ah,09h
       int 21h
       lea dx,str2      ;输出output:
       mov ah,09h
       int 21h
       lea si,buf+1     ;设置cx
       mov cl,[si]
       mov ch,00h
       inc si           ;设置指针si
x2:    mov al,[si]      ;取字符
       cmp al,61h       ;判断是否是小写字母
       jb x1
       cmp al,7ah
       ja x1
       sub al,20h        ;小写转大写
x1:    mov [si],al       ;把转变后的字符给原来的地址
       inc si            ;指针加一
       loop x2           ;根据cx判断是否循环
       lea dx,buf+2     ;输出输入的字符串
       mov ah,09h
       int 21h
done:mov ah,4ch
     int 21h
code ends
end start 

结果:
在这里插入图片描述

你可能感兴趣的:(汇编语言 输入一串字符串,将其中的小写字母转化为大写字母,并输出转化前、后的字符串。)