问题

从键盘输入一个字符串(长度不超过30),统计字符串中非数字的个数,并将统计的结果显示在屏幕上,用EXE格式实现。

源程序

data segment
hintinput db "please input a string:$";输入提示语
hintoutput db "non-number:$";输出提示语
str db 30,?,30 dup(?);将输入的字符串保存在str中
crlf db 0ah,0dh,'$';回车换行符
data ends
code segment
assume cs:code,ds:data
main proc far
start:
mov ax,data
mov ds,ax
lea dx,hintinput;输出提示语
mov ah,09h
int 21h
lea dx,crlf ;回车换行
mov ah,09h
int 21h
lea dx,str
mov ah,0ah
int 21h
lea dx,crlf ;回车换行
mov ah,09h
int 21h
lea si,str+2;si保存str首地址
mov cl,str+1;cl保存str长度
mov al,0 ;用al非数字计数
mov ch,0
L1:
mov dl,[si] ;把str中的数依次送入dl中
cmp dl,'0' ;如果dl<0,al加1
jb L2
cmp dl,'9';如果dl>9,al加1
ja L2
cmp dl,'9'
jbe L3
L2:
inc al
L3:
inc si
loop L1
lea dx,hintoutput;输出提示语
mov ah,09h
int 21h
mov dl,al
cmp dl,9h
jbe L ;如果非字母个数小于10,则直接加30输出
mov dh,0 ;否则把dx存入ax中
mov ax,dx
mov bl,10 ;ax除以10后,ah作为商
div bl ;al作为余数
mov dl,al
add dl,30h ;先输出商,再输出余数,就是10进制了
mov ah,02h
int 21h
mov dl,ah
L:
add dl,30h
mov ah,02h
int 21h
lea dx,crlf ;回车换行
mov ah,09h
int 21h
mov ax,4c00h
int 21h
main endp
code ends
end start

运行结果示例

从键盘输入一个字符串(长度不超过30),统计字符串中非数字的个数,并将统计的结果显示在屏幕上,用EXE格式实现。的更多相关文章

  1. 统计一个16位二进制数中1的个数,并将结果以十六进制形式显示在屏幕上,用COM格式实现。

    问题 统计一个16位二进制数中1的个数,并将结果以十六进制形式显示在屏幕上,用COM格式实现. 代码 code segment assume cs:code org 100h main proc ne ...

  2. 汇编语言从键盘输入一个字符串(串长不大于80)以十进制输出字符串中非字母字符的个数(不是a to z或 A to Z)

    (1)从键盘输入一个字符串(串长不大于80). (2)以十进制输出字符串中非字母字符的个数(不是a to z或 A to Z). (3)输出原字符串且令非字母字符闪烁显示. (4)找出字符串中ASCI ...

  3. 设在起始地址为STRING的存储空间存放了一个字符串(该串已存放在内存中,无需输入,且串长不超过99),统计字符串中字符“A”的个数,并将结果显示在屏幕上。

    问题 设在起始地址为STRING的存储空间存放了一个字符串(该串已存放在内存中,无需输入,且串长不超过99),统计字符串中字符"A"的个数,并将结果显示在屏幕上. 代码 data ...

  4. Java不限制从键盘输入一个数组

    Java不限制从键盘输入一个数组 在写算法的时候,需要从键盘输入一个数组,一直不会,最近看了几篇博客学会了,下面用二分查找举例: package com.基础; import java.util.Sc ...

  5. [汇编] 从键盘输入一个一位数字,然后响铃n声

    ; multi-segment executable file template. data segment ends stack segment dw dup() ends code segment ...

  6. c/c++,输入一个字符 2014-11-20 07:00 30人阅读 评论(0) 收藏

    getch().getche()和getchar()函数     (1) getch()和getche()函数     这两个函数都是从键盘上读入一个字符.其调用格式为:      getch(); ...

  7. PHP计算中文字符串长度 、截取相应中文字符串

    PHP计算字符串长度     及其   截取相应中文字符串 计算字符长度: $gouWu = '美日汇http://www.hnzyxok.com/'; echo mb_strlen($gouWu,' ...

  8. 剑指offer11:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。(进制转换,补码反码)

    1. 题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 2. 思路和方法 使用移位(<<)和 “| & !”操作来实现.1的二进制是:前面都是0,最后一位 ...

  9. for循环:从键盘输入一个正整数n,

    #include<stdio.h>void main(){ int i,n,sum=0; //声明三个整型变量,并为变量sum初始化赋值为0// printf("Please e ...

随机推荐

  1. 02 . 分布式存储之FastDFS 高可用集群部署

    单节点部署和原理请看上一篇文章 https://www.cnblogs.com/you-men/p/12863555.html 环境 [Fastdfs-Server] 系统 = CentOS7.3 软 ...

  2. web标签语义化的理解_web语义化是什么意思

    web语义化是什么? Web语义化,使用语义恰当的标签,可以让页面具有良好的结构,页面元素具有良好的含义,从而让人和机器都能快速理解.语义化的web页面一方面可以让机器在更少的人类干预情况下收集并研究 ...

  3. plus.runtime.quit()是个好函数

    对于H5+APP开发,应用的生命周期监听函数里是对应用行为的监控,但是并不对应用执行退出或重启操作.相关操作还是要使用mui

  4. 诊断Java线程死锁

    比如我们有运行这样一个程序: 了解多线程的小伙版都知道,这段代码不会有打印结果,因为发生了死锁.我们在服务器上运行试试,没有输出,对应的进程是 32752. 使用 “jstack 32752”排查,后 ...

  5. 07 Vue常见插件

    项目功能插件 1.vue-router { path: '/', name: 'home', // 路由的重定向 redirect: '/home' } { // 一级路由, 在根组件中被渲染, 替换 ...

  6. scrapy 基础组件专题(十四):scrapy CookiesMiddleware源码

    一 Scrapy框架--cookie的获取/传递/本地保存 1. 完成模拟登陆2. 登陆成功后提取出cookie,然后保存到本地cookie.txt文件中3. 再次使用时从本地的cookie.txt中 ...

  7. scrapy 基础组件专题(五):自定义扩展

    通过scrapy提供的扩展功能, 我们可以编写一些自定义的功能, 插入到scrapy的机制中 一.编写一个简单的扩展 我们现在编写一个扩展, 统计一共获取到的item的条数我们可以新建一个extens ...

  8. Apache Avro & Avro Schema简介

    为什么需要schema registry? 首先我们知道: Kafka将字节作为输入并发布 没有数据验证 但是: 如果Producer发送了bad data怎么办? 如果字段被重命名怎么办? 如果数据 ...

  9. P4158 [SCOI2009]粉刷匠(洛谷)

    今天A了个紫(我膨胀了),他看起来像个贪心一样,老师说我写的是dp(dp理解不深的缘故QWQ) 直接放题目描述(我旁边有个家伙让我放链接,我还是说明出处吧(万一出处没有了)我讲的大多数题目都是出自洛谷 ...

  10. 集训作业 洛谷P1135 奇怪的电梯

    这个题我见过!!! 我之前在石油大学的网站上做练习赛,提高了很多,这个题是我第一次在比赛里见到深搜. 当时蒙蔽的一批,现在发现好简单…… 这个题和普通的深搜没什么区别,甚至可以说简单了,因为这个是1维 ...