实验3: (类型统计,统计字母,数字,其他字符在一个句子中出现的次数)

算法设计:用三个变量分别记录用户输入数字类型,字母类型和其他类型的个数。根据ACSII码判断类型,遍历完整个句子后调用十进制数输出子程序dispdec输出统计数字

程序实现:定义缓冲区:存放用户输入的句子,用digit,letter,other分别代表统计出的数字,字母,其他字符的个数,都初始化为0。用bx指向用户输入句子的首地址,然后判断是30h~39h则digit自增,还是41h~5Ah或61h~7Ah则letter自增,否则other自增,然后bx自增,不断循环判断,循环次数为句子长度,即之前cx=用户输入句子的长度。最后输出结果

DATAS SEGMENT
msg1 db 'enter sentence:$'keepcin db 80db 0db 80 dup(0)letter  db 0
digit   db 0
other   db 0DATAS ENDSSTACKS SEGMENT;此处输入堆栈段代码
STACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKS
START:MOV AX,DATASMOV DS,AXmov dx,offset msg1call print   ;"entersentence"mov dx,offset keepcincall cinmov bx,offset keepcin+1;call printresultmov cl,[bx]        ;输入句子的长度again1:inc bxmov al,[bx]cmp al,30h         jb  otherresultcmp al,40hjb  digitresultcmp al,41hjb  otherresultcmp al,5BHjb  letterresultcmp al,61Hjb  otherresultcmp al,7bHjb  letterresultjmp otherresultletterresult:inc letterjmp loopnext
digitresult:inc digitjmp loopnext
otherresult:inc other
loopnext:loop again1;输出结果mov dh,0mov dl,lettercall dispdeccall printnewlinemov dl,digitcall dispdeccall printnewlinemov dl,othercall dispdecMOV AH,4CHINT 21H;打印固定字符串
print procpush axmov ah,09hint 21hpop axret
print endp;用户输入
cin procpush axmov ah,0AHint 21hpop axcall printnewlineret
cin endp
;输出换行
printnewline procpush axpush dxmov ah,02hmov dl,0dhint 21hmov dl,0ahint 21hpop dxpop axret
printnewline endp
;十进制输出,入口参数dx
dispdec procpush axpush bxpush cxpush dxmov ax,dxxor dx,dxmov bx,10mov cx,0
a:cmp ax,10jb okdiv bxadd dl,30hpush dxxor dx,dxinc cxjmp a
ok:add al,30hpush axinc cx
b:pop dxmov ah,2int 21hloop bpop dxpop cxpop bxpop axret
dispdec endp
CODES ENDSEND START

输出结果如图:

汇编原理实验 --类型统计(字母,数字,其他字符的个数)相关推荐

  1. c语言:输入一个字符串,统计字母,数字,空格出现的个数,c - 统计字符串字母,空格,数字,其他字符的个数和行数....

    #include #include using namespace std; /* 题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. */ void count() { //统 ...

  2. 分别统计其中数字、英文字母和其它字符的个数

    从键盘输入20个字符,存放在一个字符数组中,然后分别统计其中数字.英文字母和其它字符的个数.( 其中字母在字符的值在65 – 90,97 – 122 为字母,字符 #include<stdio. ...

  3. 输入一行字符,分别统计出其数字、大写字母、小写字母和其他字符的个数。

    Ptw-cwl 输入一行字符,分别统计出其数字.大写字母.小写字母和其他字符的个数. 提示:比如,输入"lwlr@abz456 Wb",一行字符是你编写方法的参数 /*** * 输 ...

  4. php实现 统计输入中各种字符的个数

    php实现 统计输入中各种字符的个数 一.总结 一句话总结:谋而后动,想清楚,会非常节约编写代码的时间. 1.对结果可能是0的变量,记得初始化? 4 $len=0; 5 $len=strlen($st ...

  5. 统计字符串中每个字符的个数。(原始字符串是:“aabccdeefff”,结果是:a2 b1 c2 d1 e2 f3)

    思想:将给定的字符串转为数组,对数组去重,再将去重后的数组对原字符串进行遍历,遇到相同的元素就将字母后面的数字+1,最终返回一个数组(也可以转换成字符串). <!DOCTYPE html> ...

  6. 统计字符串中个字符的个数

    昨天有朋友去华赛面试,当场考了一个统计字符串中个字符的个数的编程题.我在网上找了下,写的都很扯淡的,至少用C语言的很扯淡的,很多人都只局限于统计字母的个数了.自己也写了一段代码,估计着如果字符串很长而 ...

  7. 统计字符串中某个字符的个数

    1 <!DOCTYPE html> 2 <html> 3 <body> 4 <title>统计字符串中某个字符的个数</title> 5 & ...

  8. 【微机原理 实验】大小写字母的转换实验 (含汇编代码)

    实验八  大小写字母的转换实验 更多微机实验:https://blog.csdn.net/yxp189/column/info/39992 汇编语言-微机原理与接口技术-实验 注意:未经允许,请勿转载 ...

  9. 汇编原理实验--输出ASCII码10H到100H

    实验1:ASCII码 设计算法:为了将ASCII的10H到100H输出显示,得从10H开始显示输出然后循环90h次,每次ASCII自增1,重复上述步骤. 编程实现:将循环次数90h存在计数器cx中,用 ...

最新文章

  1. Deep learning前的图像预处理
  2. 深度学习(十八)——YOLOv2(2), 语义分割
  3. jQuery中DOM操作方法 之 html,text,val
  4. 【图像处理】——正装照换底色Python
  5. javafx之TableView的TaleCell
  6. xpath 简单用法小记
  7. 戏说云栖,如果这些名人参加云栖大会。。。
  8. 结束十年科学争论,张辰宇团队阐明食物miRNA被胃吸收的分子机制,miRNA跨界调控再添力证...
  9. 【OpenGL】游戏编程常用TGA图像格式详解以及加载纹理编程实现
  10. Vue在组件上使用v-model
  11. 【JAVA高级】——myEclipse连接mysql启动数据库服务
  12. 支付签约_已成燎原之势!蜻蜓支付出库、签约、地推火爆!
  13. Seq2Seq中的Attention
  14. web开发 DIV+CSS规范命名集合
  15. U盘文件夹被隐藏,如何让去除文件夹隐藏属性
  16. 由对称性知定点一定在x轴上_圆锥曲线解答题的经典答案:由椭圆的对称性知,定点在x轴上?...
  17. 史上最大入行软件测试月收入1万以上“骗局”来啦,防踩坑日记
  18. 转:『代码』JS封装 Ajax级联下拉列表
  19. web前端学习笔记:初识Web前端开发
  20. 电脑查找电子书资源,speedceo浏览器下载PDF文件阅读分享

热门文章

  1. [转]自适应网页设计(Responsive Web Design)
  2. 如何选择开源许可证如何修改项目使其符合某种开源许可证
  3. ASP.NET 2.0 解决了 Code-Behind 需要控件声明同步的问题
  4. SpikeSource公司的CEO-Kim Polese访谈
  5. python--numpy
  6. go日期和时间相关函数使用示例
  7. linux挂载分区至目录
  8. harbor 2.0.1安装部署
  9. jvm调优:jmap -histo的使用
  10. 【Java面试题视频讲解】字符串按指定长度分隔