小写转大写输出,并统计数字、大写字母、小写字母的个数

本文主要是介绍小写转大写输出,并统计数字、大写字母、小写字母的个数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

键盘输入数字、大写字母、小写字母的混合串(以回车结束,100个以内),
将其中的小写字母转换为大写字母后显示到CRT上

data segmentmess 	db "please input", 0dh,0ah,'$'buf     db 101 db 	?db 	101 dup (0)
data endscode segmentassume cs:code,ds:data,es:data
start:mov ax, datamov ds, axmov dx, offset messmov ah, 9int 21hmov dx, offset bufmov ah, 10int 21hmov dl,0ahmov ah,2int 21hmov dl,0dhmov ah,2int 21hmov bx, offset buf+2mov cl, buf+1s:cmp cl, 0jz printdec clmov al, [bx]cmp al, 30hjb okcmp al, 3Ahjb numcmp al, 41hjb okcmp al, 5Bhjb capcmp al, 61hjb okcmp al, 7Bhjb low_ok:inc bxjmp snum:jmp okcap:jmp oklow_:sub byte ptr [bx], 20hjmp okprint:mov byte ptr [bx], '$'mov dx, offset buf+2mov ah, 9int 21hmov ah, 4chint 21hcode ends
end start

扩展:并统计其中其中数字、大写字母、小写字母的的个数,显示出来

data segmentmess	db "pelease input a string: ", 0dh, 0ah, '$'Num	db 0dh, 0ah,"THE NNMBER OF NUM IS :$"Cap	db 0dh, 0ah,"THE NNMBER OF CAP IS :$"Lower	db 0dh, 0ah,"THE NNMBER OF LOWER IS :$"x1	db 0 ;统计数字个数x2	db 0 ;统计大写祖母个数x3	db 0 ;统计小写字母个数buf	db 100db ?db 100 dup(0)data ends
code segmentassume cs:code, ds:data, es:data
start:mov ax, datamov ds, axmov dx, offset messmov ah, 9int 21hmov dx, offset bufmov ah, 10int 21hmov dl,0ahmov ah,2int 21hmov dl,0dhmov ah,2int 21hmov bx, offset buf+2mov cl,buf+1lop:mov al, [bx]cmp al, 61h jb next1;如果不是小写字母跳转到next1cmp al, 7ahja next1sub al, 20h ;小写字母Ascii码减20得到大写字母mov dl, almov ah,2 ;调用2功能输出int 21hinc x3 ;小写字母个数加1jmp l
next1:cmp al, 41h ;41h-Ajb next2 ;al < 41h;如果不是大写字母就跳转到next2cmp al, 5ah ;5ah-Zja next2 ;al > 5ahinc x2 ;大写字母个数加1jmp l
next2:inc x1 ;数字个数加1
l:inc bxdec cljnz lop;不等于0继续mov dx, offset Nummov ah, 9int 21h;输出统计个数mov al,x1call B_TO_D16 ;调用子程序输出数字串mov dx, offset Capmov ah, 9int 21hmov al,x2call B_TO_D16 ;调用子程序输出大写字母串mov dx, offset Lowermov ah, 9int 21hmov al,x3call B_TO_D16jmp exit;16位二进制转十进制子程序
B_TO_D16 PROC NEAR;AL中要转换的二进制数AND AH,0 ;ah存放余数,初始化为0MOV BL,100DIV BL ;ax/100得到百位数,存放al中MOV CL,AH ;余数暂存于cl中ADD AL,30H ;输出百位数MOV DL,ALMOV AH,02HINT 21HMOV AL,CL MOV BL,10AND AH,0DIV BL ;ax/10得到十位数ADD AL,30H ;输出十位数MOV DL,ALMOV CL,AHMOV AH,02HINT 21HMOV AL,CL ;输出个位数ADD AL,30HMOV DL,ALMOV AH,02HINT 21HRET
B_TO_D16 ENDPexit:mov ah, 4chint 21h
code endsend start

这篇关于小写转大写输出,并统计数字、大写字母、小写字母的个数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/948757

相关文章

spoj705( 求不相同的子串个数)

题意:求串s的不同子串的个数 解题思路:任何子串都是某个后缀的前缀,对n个后缀排序,求某个后缀的前缀的个数,减去height[i](第i个后缀与第i-1 个后缀有相同的height[i]个前缀)。 代码如下: #include<iostream>#include<algorithm>#include<stdio.h>#include<math.h>#include<cstrin

XTU 1233 n个硬币连续m个正面个数(dp)

题面: Coins Problem Description: Duoxida buys a bottle of MaiDong from a vending machine and the machine give her n coins back. She places them in a line randomly showing head face or tail face o

顺序表之创建,判满,插入,输出

文章目录 🍊自我介绍🍊创建一个空的顺序表,为结构体在堆区分配空间🍊插入数据🍊输出数据🍊判断顺序表是否满了,满了返回值1,否则返回0🍊main函数 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~ 🍊自我介绍   Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群的一名“创始团队·嘉宾”

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

如何将一个文件里不包含某个字符的行输出到另一个文件?

第一种: grep -v 'string' filename > newfilenamegrep -v 'string' filename >> newfilename 第二种: sed -n '/string/!'p filename > newfilenamesed -n '/string/!'p filename >> newfilename

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录

Detectorn2预训练模型复现:数据准备、训练命令、日志分析与输出目录 在深度学习项目中,目标检测是一项重要的任务。本文将详细介绍如何使用Detectron2进行目标检测模型的复现训练,涵盖训练数据准备、训练命令、训练日志分析、训练指标以及训练输出目录的各个文件及其作用。特别地,我们将演示在训练过程中出现中断后,如何使用 resume 功能继续训练,并将我们复现的模型与Model Zoo中的

O(n)时间内对[0..n^-1]之间的n个数排序

题目 如何在O(n)时间内,对0到n^2-1之间的n个整数进行排序 思路 把整数转换为n进制再排序,每个数有两位,每位的取值范围是[0..n-1],再进行基数排序 代码 #include <iostream>#include <cmath>using namespace std;int n, radix, length_A, digit = 2;void Print(int *A,

第六章习题11.输出以下图形

🌏个人博客:尹蓝锐的博客 希望文章能够给到初学的你一些启发~ 如果觉得文章对你有帮助的话,点赞 + 关注+ 收藏支持一下笔者吧~ 1、题目要求: 输出以下图形

LibSVM学习(五)——分界线的输出

对于学习SVM人来说,要判断SVM效果,以图形的方式输出的分解线是最直观的。LibSVM自带了一个可视化的程序svm-toy,用来输出类之间的分界线。他是先把样本文件载入,然后进行训练,通过对每个像素点的坐标进行判断,看属于哪一类,就附上那类的颜色,从而使类与类之间形成分割线。我们这一节不讨论svm-toy怎么使用,因为这个是“傻瓜”式的,没什么好讨论的。这一节我们主要探讨怎么结合训练结果文件

下载/保存/读取 文件,并转成流输出

最近对文件的操作又熟悉了下;现在记载下来:学习在于 坚持!!!不以细小而不为。 实现的是:文件的下载、文件的保存到SD卡、文件的读取输出String 类型、最后是文件转换成流输出;一整套够用了; 重点: 1:   操作网络要记得开线程; 2:更新网络获取的数据 切记用Handler机制; 3:注意代码的可读性(这里面只是保存到SD卡,在项目中切记要对SD卡的有无做判断,然后再获取路径!)