加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

汇编程序——判断输入的是数字还是字母,大、小写转换

(2007-04-30 13:43:32)
标签:

汇编程序

大、小写转换

分类: 程序设计
汇编程序——判断输入的是数字还是字母,大、小写转换
 

DATAS SEGMENT
STR   DB 'Please input a character:$'
DAT1  DB ?
DAT2  DB ?
DAT3  DB ?
DAT4  DB ?
DAT5  DB ?
BUF1  DB 0AH,0DH,'IS A ALPHA$'
BUF2  DB 0AH,0DH,'IS A DIGITAL$'
BUF3  DB 0AH,0DH,'OTHER$'
BUF4  DB 0AH,0DH,'IT IS A SMALL LETTER$'
      DATAS ENDS

STACKS SEGMENT
       DB 200 DUP(?)
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
       MOV AX,DATAS
       MOV DS,AX
      
       LEA DX,STR
       MOV AH,9
       INT 21H
      
    
       MOV AH,1
       INT 21H
      
       MOV DAT1,AL
       CMP AL,'0'
       JB  NEXT2
       CMP AL,'9'
       JNA NEXT1
      
       CMP AL,'A'
       JB  NEXT2
       CMP AL,'Z'
       JNA NEXT3
      
 
       CMP AL,'a'
       JB  NEXT2
       CMP AL,'z'
       JA  NEXT2
      
       SUB AL,20H
       MOV DAT2,AL
       MOV DL,0AH
       MOV AH,2
       INT 21H
       MOV DL,0DH
       MOV AH,2
       INT 21H
      
       MOV AL,DAT2
       MOV DL,AL
       MOV AH,2
       INT 21H
       LEA DX,BUF1
       MOV AH,9
       INT 21H
  
EXIT: MOV AH,4CH
       INT 21H

NEXT1: MOV DAT3,AL
       LEA DX,BUF2
       MOV AH,9
       INT 21H
       JMP EXIT

NEXT2: MOV DAT4,AL
       LEA DX,BUF3
       MOV AH,9
       INT 21H
       JMP EXIT

NEXT3: ADD AL,20H
       MOV DAT5,AL
      
       MOV AL,0AH
       MOV DL,AL
       MOV AH,2
       INT 21H
      
       MOV AL,0DH
       MOV DL,AL
       MOV AH,2
       INT 21H
      
       MOV AL,DAT5
       MOV DL,AL
       MOV AH,2
       INT 21H
      
       LEA DX,BUF4
       MOV AH,9
       INT 21H
       JMP EXIT       
  

CODES ENDS
    END START

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有