只为记录汇编作业

题目:已知字符串STRING以‘$’为结束标志;统计其中小写字母的个数,结果送到COUNT单元,并把该字符串中的小写字母变成大写字母,其它字符保持不变。要求分别在屏幕上输出原字符串以及修改后的字符串。

代码如下:

;2.已知字符串STRING以‘$’为结束标志;统计其中小写字母的个数,结果送到COUNT单元,
;并把该字符串中的小写字母变成大写字母,其它字符保持不变。
;要求分别在屏幕上输出原字符串以及修改后的字符串。
DATA SEGMENTSTRING DB '1a2a3aABCabc!@#$' ;定义字符串LEN  DB $-STRING             ;len用来记录string长度COUNT DB 0                   ;count用来记录小写字母个数  CRLF DB 0AH,0DH,"$"          ;回车换行
DATA ENDS
CODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXXOR CX,CX        ;CX初始化MOV CL,LEN       ;设置循环次数LEA DX,STRING    ;使dx指向string初始地址MOV AH,09H       ;输出原字符串INT 21HLEA BX,STRING    ;使bx指向string初始地址
X:  MOV AL,[BX]      ;取bx指向地址所在的字符并放入al中CMP AL,'a'       ;字符与小写a作比较JB NEXT          ;小于则跳转next函数CMP AL,'z'       ;字符与小写z作比较JA NEXT          ;大于则跳转next函数INC COUNT        ;使count自增1SUB AL,20H       ;使当前的小写字母变成小写MOV [BX],AL      ;把小写字母变成大写
NEXT:INC BX           ;使bx指向下一个地址LOOP X           ;做循环,cx-1 当cx=0时则退出循环,执行下一条语句LEA DX, CRLF;回车换行           MOV AH, 09H                            INT 21HLEA DX,STRING  ;输出更新后的字符串MOV AH,09HINT 21HLEA DX, CRLF;回车换行           MOV AH, 09H                            INT 21H    ADD COUNT,30H  ;让count变成ascll码并且输出MOV DL,COUNTMOV AH,02HINT 21HMOV AH,4CH     ;结束INT 21H
CODE ENDS
END START  

以下代码可以输出10个以上的小写字母个数

;2.已知字符串STRING以‘$’为结束标志;统计其中小写字母的个数,结果送到COUNT单元,
;并把该字符串中的小写字母变成大写字母,其它字符保持不变。
;要求分别在屏幕上输出原字符串以及修改后的字符串。
DATA SEGMENTSTRING DB 'aaaaaaaaaaaaaaaaaaaaaaaaaa!@#$' ;定义字符串 26个aLEN  DB $-STRING             ;len用来记录string长度COUNT DW 0                   ;count用来记录小写字母个数  CRLF DB 0AH,0DH,"$"          ;回车换行ANS DB 6 DUP(0)TIMES DB 0
DATA ENDS
CODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXXOR CX,CX        ;CX初始化MOV CL,LEN       ;设置循环次数LEA DX,STRING    ;使dx指向string初始地址MOV AH,09H       ;输出原字符串INT 21HLEA BX,STRING    ;使bx指向string初始地址
X:  MOV AL,[BX]      ;取bx指向地址所在的字符并放入al中CMP AL,'a'       ;字符与小写a作比较JB NEXT          ;小于则跳转next函数CMP AL,'z'       ;字符与小写z作比较JA NEXT          ;大于则跳转next函数INC COUNT        ;使count自增1SUB AL,20H       ;使当前的小写字母变成小写MOV [BX],AL      ;把小写字母变成大写
NEXT:INC BX           ;使bx指向下一个地址LOOP X           ;做循环,cx-1 当cx=0时则退出循环,执行下一条语句LEA DX, CRLF;回车换行           MOV AH, 09H                            INT 21HLEA DX,STRING  ;输出更新后的字符串MOV AH,09HINT 21HLEA DX, CRLF;回车换行           MOV AH, 09H                            INT 21H    XOR AX,AX            ;将count输出MOV AX,COUNT         ;将count放入ax中XOR BX,BX            ;bx初始化MOV BX,10            ;将10放入bx中MOV DI,OFFSET ANS    ;使di指向ans头地址F:XOR DX,DX     ;dx初始化DIV BX        ;ax/bx 因为count是dw类型因此商在AX,余数在DX,这里的余数<=9,因此也在DLADD DL,30H    ;将dl中的0-9变成ascll码里的0-9方便输出MOV [DI],DL   ;将dl放入di指向地址的内容里INC DI        ;di指针+1INC TIMES     ;tiems+1,方便后面的倒叙输出CMP AX,0      ;ax和0作比较,如果ax=0则说明已经被除完了JNE F         ;如果ax≠0,则跳到f函数DEC DI        ;di指针-1,此时指向的是最高位XOR CX,CX     ;cx初始化MOV CL,TIMES  ;把times给cl方便循环输出
FUNCTION:MOV DL,[DI]   ;把dl指向地址的内容给dl,并做dos单字符输出操作MOV AH,2INT 21HDEC DI        ;di指针-1LOOP FUNCTION ;cl>0则cl-1并且循环fuction,否则执行下一条语句       MOV AH,4CH     ;结束INT 21H
CODE ENDS
END START  

已知字符串STRING以‘$’为结束标志;统计其中小写字母的个数,结果送到COUNT单元,并把该字符串中的小写字母变成大写字母,其它字符保持不变。要求分别在屏幕上输出原字符串以及修改后的字符串。相关推荐

  1. 用java编写输出欢迎光临_编写一个完整的Java applet程序,程序功能为:在屏幕上输出“欢迎光临Java世界!”的字符串信息。...

    Applet程序开发主要步骤如下: 1)选用EDIT或Windows Notepad等工具作为编辑器建立Java Applet源程序. 2)把Applet的源程序转换为字节码文件. 3)编制使用cla ...

  2. Java 编写程序打印以下图形_怎么用java编写如下程序在屏幕上输出如下图形 * *** *** * 循环语句做(if语句)...

    怎么用java编写如下程序在屏幕上输出如下图形 * *** ***** ******* ***** ... 4个答案  提问时间: 2011-12-16  22个赞 回答:这个图形对吧? * *** ...

  3. 利用C语言,编写一程序:从键盘输入10个整数,统计其中正数、负数和零的个数,并在屏幕上输出

    利用C语言,编写一程序:从键盘输入多个整数,统计其中正数.负数和零的个数,并在屏幕上输出 //从键盘输入10个整数,统计其中正数.负数和零的个数,并在屏幕上输出 #include <stdio. ...

  4. python编程在哪里写程序-第一个Python程序——在屏幕上输出文本

    本节我将给大家介绍最简单.最常用的 Python 程序--在屏幕上输出一段文本,包括字符串和数字. Python 使用 print 函数在屏幕上输出一段文本,输出结束后会自动换行. 在屏幕上输出字符串 ...

  5. 区分大小屏幕_第一个Python程序——在屏幕上输出文本

    本节我将给大家介绍最简单.最常用的 Python 程序--在屏幕上输出一段文本,包括字符串和数字.Python 使用 print 函数在屏幕上输出一段文本,输出结束后会自动换行. 在屏幕上输出字符串 ...

  6. python程序-第一个Python程序——在屏幕上输出文本

    本节我将给大家介绍最简单.最常用的 Python 程序--在屏幕上输出一段文本,包括字符串和数字. Python 使用 print 函数在屏幕上输出一段文本,输出结束后会自动换行. 在屏幕上输出字符串 ...

  7. C语言在屏幕上输出以下图案 * *** ***** ******* ********* *********** ************* *********** *********

    在屏幕上输出以下图案: * *** ***** ******* ********* *********** ************* *********** ********* ******* ** ...

  8. python分段函数输入x的值求y的值_C语言编程题 有一分段函数如下,要求用scanf函数输入整数x的值,求y值并在屏幕上输出。有分段函数如下,编程实现输入整...

    C语言编程题 有一分段函数如下,要求用scanf函数输入整数x的值,求y值并在屏幕上输出. 有分段函数如下,编程实现输入整 www.zhiqu.org 时间: 2020-11-22 #include ...

  9. python在屏幕上输出文字_对python的输出和输出格式详解

    输出 1. 普通的输出 # 打印提示 print('hello world') 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字.比如输出'hello, world',用代码实现如下: ...

最新文章

  1. 皮一皮:这解释...没毛病!
  2. 单片机检测stc没反应_STC 核心板 入门记 - 你好我叫郑某人
  3. ABB (2020牛客国庆集训派对day1)
  4. .ne中的控制器循环出来的数据如何显示在视图上_【asp.net core 系列】3 视图以及视图与控制器...
  5. Moodle网站档案的结构
  6. android fragment学习6--FragmentTabHost底部布局
  7. Java 身份证工具类
  8. 缺少更新或刷新的键列信息_涨知识 | 刷新键究竟是用来干嘛的?你为什么要点击刷新呢?...
  9. Python使用Reportlab处理PDF数据 - 其他图形
  10. 基于涂鸦智能开发板的墨水屏座位管理器——1.电路设计篇
  11. C语言(B站比特鹏哥)笔记
  12. 如何申请免费163邮箱?如何申请163邮箱账号?
  13. dtu连接虚拟服务器,DTU连接HTTP网页
  14. “水氢车”真跑起来了!但现场出现尴尬一幕……又一个“水变油”骗局?
  15. windows7在安装vc14的时候报错(0x80240017)
  16. 别样的风景——韦应物《滁州西涧》赏析
  17. 说一下浏览器垃圾回收机制?
  18. jxl导出excel标题乱码
  19. 网络工程师资料-永久有效
  20. 利用Shape Context进行形状识别

热门文章

  1. [ kvm ] 学习笔记 1:Linux 操作系统及虚拟化
  2. DRM系列(3)之DRM_IOCTL_MODE_MAP_DUMB
  3. 九个小众实用设计预览网站
  4. 06【连词】 Conjunction
  5. html div.menus,性感的CSS菜单(Menus)
  6. linux 截取某一段时间的日志,存储到另一个文件中
  7. 采集CSI数据的实验
  8. jupyter notebook 恢复删除代码块
  9. 【硕士论文】《动态场景下的语义三维地图构建 》西南科技大学 余东应
  10. 通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core? 转自:https://www.cnblogs.com/1996V/p/9037603.html#net1...