[汇编] 大小写转换


  1 data segment
2 ;定义字符串缓冲区
3 ;MAXLEN 表示允许输入的最大字符数量
4 ;ACTLEN 表示实际输入的数量
5 ;STR 用于存储输入的字符串
6 ;以下面为例,允许最大输入5个字符,如果STR后面的长度也定义为5,则实际输入的字符数量仅为4,
7 ;因为最后一个字符会用于存储0Dh(回车符号)
8 ;例如:输入"1234",然后回车,此时内存的情况为: 05 00 31 32 33 34 0D
9 ;因此,为了满足实际的最大数量,通常将MAXLEN定义得比实际的多1个。
10 MAXLEN db 6 ;允许最大长度
11 ACTLEN db 0 ;实际长度
12 STR dw 6 dup(‘‘) ;存放字符串
13 ;提示语句
14 PROMPT1 db 0DH,0AH,"Please input a string:$"
15 PROMPT2 db 0DH,0AH,"Your string is :$"
16 CHOOSE db 0DH,0AH,"chose 1 or 2:$"
17 ends
18
19 code segment
20 start:
21 ;设置数据段寄存器
22 mov ax, data
23 mov ds, ax
24 input:
25 ;提示输入,提示语句位于ds:dx处
26 lea dx, CHOOSE
27 mov ah, 9
28 int 21h
29 mov ah,01H ;输入跳转
30 int 21h
31 cmp al,31H
32 mov dl,0AH
33 mov ah,02H
34 int 21h
35 mov dl,0DH
36 mov ah,02H
37 int 21h
38 jz tosmall
39 jmp tobig
40 tosmall:
41 call input_str
42 mov si,0;指针
43 mov cl,ACTLEN;循环次数
44 mov ch,0
45 call tosmall_print
46 jmp next
47 tobig:
48 call input_str
49 mov si,0;指针
50 mov cl,ACTLEN;循环次数
51 mov ch,0
52 call tobig_print
53 jmp next
54 next:
55 JMP input
56 ;返回操作系统
57 mov ax, 4c00h
58 int 21h
59 ends
60 ;---------------------
61 tosmall_print proc near
62 ;输出结果的提示语句
63 lea dx,PROMPT2
64 mov ah, 9
65 int 21h
66 xunhuan1:
67 mov ax,STR[si]
68 cmp al,5BH
69 jnb nochange
70 add ax,20H
71 nochange:
72 mov dl,al
73 mov ah,02H
74 int 21H
75 inc si ;加1不影响cf
76 loop xunhuan1
77 ret
78 tosmall_print endp
79 ;---------------------
80 tobig_print proc near
81 ;输出结果的提示语句
82 lea dx,PROMPT2
83 mov ah, 9
84 int 21h
85 xunhuan2:
86 mov ax,STR[si]
87 cmp al,5BH
88 jnb nochange2
89 add ax,20H
90 nochange2:
91 sub ax,20H
92 mov dl,al
93 mov ah,02H
94 int 21H
95 inc si ;加1不影响cf
96 loop xunhuan2
97 ret
98 tobig_print endp
99 ;---------------------
100 input_str proc near
101 ;调用AH=0ah的21H中断程序,获取输入的字符串;
102 ;(ds:dx)=缓冲区最大字符数
103 ;(ds:dx+1)=实际输入字符数
104 ;ds:dx=缓冲区首址
105 lea dx,MAXLEN
106 mov ah,0ah
107 int 21h
108
109 ;取得实际输入的字符串数目
110 mov bl,ACTLEN
111 mov bh,0
112 ;将结尾处改为‘$‘以便调用AH=09H功能,即输出刚输入的字符串
113 mov STR[bx],‘$‘
114 ret
115
116 lea dx, PROMPT1
117 mov ah, 9
118 int 21h
119 ret
120 input_str endp
121 ;------------------------
122 end start ; set entry point and stop the assembler.

[汇编] 大小写转换,布布扣,bubuko.com

时间: 2024-08-01 18:01:23

[汇编] 大小写转换的相关文章

Excel大小写转换函数

Excel中的大小写转换函数 (1).转换为全部小写字母:lower函数 (2).转换为全部大写字母:upper函数 (3).转换为首字母大写,其余小写字母:proper函数 三种函数的使用方式,如下图所示: 流程操作,如下图所示: 小知识,简而记之. 蓝的成长记系列: 原创作品,出自 "深蓝的blog" 博客 蓝的成长记--追逐DBA(1):奔波于路上,挺进山东 蓝的成长记--追逐DBA(2):安装!安装!久违的记忆,引起我对DBA的重新认知 蓝的成长记--追逐DBA(3):古董上操

转译字符 大小写转换

1. 转义字符:当字符串的内容和程序的特殊符号冲突时           或字符串中包含功能字符时,都用\转化字符的意义 \n:换行 \t:一次缩进Tab键 2. 大小写转换:将字符串中所有字符都统一转为大写或小写       何时使用:不区分大小写时         比如:用户名  验证码    电子邮件       转大写:str=str.toUpperCase();       转小写:str=str.toLowerCase();

5.6.3.5 字符串的大小写转换

ECMAScript中涉及到字符串的大小写转换的方法有4 个:toLowerCase().toLocaleLowerCase().toUpperCase()和toLocaleUpperCase().其中,toLowerCase()和toUpperCase()是两个经典的方法,借鉴自java.lang.String中的同名方法.而 toLocaleLowerCase()和toLocaleUpperCase()方法则是针对特定地区的实现.对有些地区来说,针对地区的方法与其通用的方法得到的结果相同,但

大小写转换

编写一个程序,输入一个字符串(长度不超过20),然后把这个字符串内的每一个字符进行大小写变换,即将大写字母变成小写,小写字母变成大写,然后把这个新的字符串输出. 输入格式:输入一个字符串,而且这个字符串当中只包含英文字母,不包含其他类型的字符,也没有空格. 输出格式:输出经过转换后的字符串. 答案: #include <stdio.h> #include <string.h> #define  MAX 20 int main(int argc, const char * argv[

数组-05. 字符串字母大小写转换(10)

输入一个以#结束的字符串,本题要求将小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其它字符不变. 输入格式: 输入在一行中给出一个长度不超过40的.以#结束的非空字符串. 输出格式: 在一行中按照要求输出转换后的字符串. 输入样例: Hello World! 123# 输出样例: hELLO wORLD! 123 import java.util.Scanner; public class Main { public static void main(String[] args) {

字符串整体大小写转换,首字母大小写

最近用到了首字母大写的功能,一般的思路是采用charAt(0)结合Character的toUpperCase方法转换,最后再拼成一个字符串的方式来实现 日前看到一个大神的代码,觉得效率比较高,有兴趣的朋友可以看一下 代码如下: /** * 首字母大写转换 * @param str 源字符串,首字母不支持中文 * @return */ public static String firstCharUpper(String str){ if(str!=null&Character.isLowerCas

css实现的将英文单词进行大小写转换代码实例

css实现的将英文单词进行大小写转换代码实例:本章节分享一段代码实例,它实现了利用CSS将英文单词进行大小写转换效果.代码非常的简单,相关属性的更多内容可以自行在本站查询.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.51texiao.cn/&quo

PL/SQL Developer将大小写转换图标定制到工具栏

如使用大小写转换快捷键请参考http://blog.csdn.net/itmyhome1990/article/details/41363633 以下方法可将大小写转换图标添加到工具栏: 步骤: Tools --> Preferences --> User Interface --> Toolbar --> 把Selection Uppercase.Selection Lowercase添加到右侧 如图: 接下来我们就可以在工具栏中看到这两个图标了 选中要转换的代码 点击工具栏的a

*数组-05. 字符串字母大小写转换

1 /* 2 * Main.c 3 * E5-数组-05. 字符串字母大小写转换 4 * Created on: 2014年8月20日 5 * Author: Boomkeeper 6 *********部分通过********* 7 */ 8 9 #include <stdio.h> 10 11 int main(void){ 12 13 char str[40]={-1}; 14 15 gets(str); 16 17 int i,index; 18 for(i=0;i<40;i++