公告

Gentoo交流群:838664909 欢迎您的加入

#1 2022-08-25 14:05:05

batsom
管理团队
注册时间: 2022-08-03
帖子: 607
个人网站

小写转大写

题目描述
试编写一个汇编程序,能对键盘输入的小写字母用大写字母显示出来(要求采用子程序格式,即采用子程序完成将小写字母转化成大写字母)。

代码及注释
DATA SEGMENT
      MESSAGE DB 'This is not a lower case letter.',13,10,'$'    ;不是小写字母的提示信息
DATA ENDS
CODE SEGMENT
      ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
      MOV DS,AX
      MOV AH,01
      INT 21H      ;输入字符结束
      MOV BL,97   
      CMP AL,BL    ;比较输入字符与a的ASCII码
      JB EXIT       ;输入字符不是小写字母则跳转到退出位置
      MOV BL,122
      CMP AL,BL    ;比较输入字符与z的ASCII码
      JA EXIT       ;输入字符不是小写字母则跳转到退出位置
      MOV BL,AL
      MOV BH,0
      CALL NEXT    ;已判断是小写字母则调用子程序
      MOV AH,4CH
      INT 21H
EXIT:MOV AH,9      ;不是小写字母则输出不是的提示
      MOV DX,SEG MESSAGE
      MOV DS,DX
      MOV DX,OFFSET MESSAGE
      INT 21H
      MOV AH,4CH      ;中断程序
      INT 21H
NEXT:MOV AL,32      ;小写变大写子程序
      SUB BL,AL      ;大小写字母之间ASCII码相差32,输入字符ASCII-32得到大写字母
      MOV DL,BL
      MOV AH,02
      INT 21H       ;输出字符
      RET
CODE ENDS
      END START

离线

页脚

Powered by FluxBB

本站由XREA提供空间支持