汇编语言 从键盘输入一个小写字母 以大写的形式输出

用的是可视化的IDE :masm

DSEG SEGMENT 
A DB ' PLEASE INPUT (a~z):','$'           ;用于输入提示
B DB 0AH,0DH,'$'                                  ;换行处理 
D DB 'Input error','$'                               ;输入错误提示
DSEG ENDS 

CSEG SEGMENT 
ASSUME CS:CSEG,DS:DSEG               ;加载上面的内容进入程序
START:  
MOV AX,DSEG 
MOV DS,AX 

MOV AH,09H  
MOV DX,OFFSET A    ;求得输入提示信息的变量地址 并用dx寄存器指定(09号功能显示的是dx指定数据的内容)
INT 21H            ;系统中断
 
MOV AH,01H         ;调用系统1号功能 实现输入单字符 可查阅教材的附录内容
INT 21H 

CMP AL,'a'         ;小于a提示错误信息 如果小于a则跳转
JB error
CMP AL,'z'
JA error           ;大于z提示错误信息 如果大于z则跳转

MOV BL,AL          ;将数据存放到BL寄存器中
SUB BL,20H         ;///转换   用ASCII码将小写转换为大写

;换行
;MOV DX,OFFSET B 
;MOV AH,09H 
;INT 21H 
 
MOV DL,BL          ;//输出
MOV AH,02H           
INT 21H
         
JMP START

error:
MOV AH,09H
MOV DX, OFFSET D
INT 21H

exit:
MOV AH,4CH 
INT 21H            ;/结束 

CSEG ENDS 
END START
  • 7
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值