ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

汇编——大写变小写

2021-04-25 22:58:14  阅读:329  来源: 互联网

标签:汇编 DL 变小 INT AH MOV 大写 21H STRING


;从键盘输入任意一串小写字符(字符个数可变),
;将输入的小写字符转换为相应的大写字符,并在显示器上显示输出。

;从键盘输入任意一串小写字符(字符个数可变),
;将输入的小写字符转换为相应的大写字符,并在显示器上显示输出。
DATAS SEGMENT
    ;此处输入数据段代码  
    INPUTSET DB 'PLEASE ENTER A STRING OF LOWERCASE LETTERS $'
    STRING DB 30H 
    DB 0 
    DB 30H DUP('$')
    
    COUNT EQU $-STRING
    TIP DB 'THERE ARE ILLEGAL LETTERS! $'
    ;OUTLETTER  DB COUNT
   
DATAS ENDS

STACKS SEGMENT
    DW 20H DUP(0);此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    MOV ES,AX
    ;此处输入代码段代码
    
    ;初始化
  
  FIRST: 
  	;MOV AX,0
  	;MOV STRING,AL
  	MOV DX,OFFSET INPUTSET
    MOV AH,09H
    INT 21H
    
    MOV DL,0AH;回车
    MOV AH,2
    INT 21H
    MOV DL,0DH
    MOV AH,2
    INT 21H
    
    ;输入字符串
    LEA DX,STRING
    MOV AH,0AH
    INT 21H
 
    MOV CL,STRING+1
    MOV SI,2
    
   MOV DL,0AH;回车
   MOV AH,02H
   INT 21H
   MOV DL,0DH
   MOV AH,2
   INT 21H
    
   
    
    
    ;小写变大写
    NEXT:MOV AL,STRING[SI]
     ;小写字符串判断
    CMP AL,'a'
    JB ERROTIP
    
    CMP AL,'z'
    JA ERROTIP
    
     SUB AL,20H
   
    MOV STRING[SI],AL;存得到的大写字母
    
    INC SI
    LOOP NEXT
    MOV STRING[SI],'$'
    
    MOV DX,OFFSET STRING
    ADD DX,2
    MOV AH,09H
    INT 21H
    
     MOV DL,0AH;回车
   	MOV AH,02H
   	INT 21H
   	MOV DL,0DH
   	MOV AH,2
   	INT 21H
   	
    JMP EXIT
    
    
    
     
    ERROTIP:
    MOV DX,OFFSET TIP
    MOV AH,09H
    INT 21H
    
     MOV DL,0AH;回车
   	MOV AH,02H
   	INT 21H
   	MOV DL,0DH
  	 MOV AH,2
   INT 21H
    
    JMP FIRST
   
     EXIT:
     MOV AH,4CH
   	 INT 21H
CODES ENDS
    END START

标签:汇编,DL,变小,INT,AH,MOV,大写,21H,STRING
来源: https://blog.csdn.net/qq_46727366/article/details/116140146

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有