



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
汇编编程:从键盘输入一串字符,分别统计其中的字母(不区分大小写)、数字字符和其他键盘输入一串字符,统计出其中的数字字符个数,字母字符(不区分大小写)个数,其他字符个数,并显示出这三类统计结果(输入字符串以回车结束),可连续对多个字符串统计,用户输入N时退出程序。要求:题目分析(如何实现,以及实现的关键技术或步骤)2.要有流程图3.写出程序代码4.写出上机操作步骤,给出输入的数据及程序运行结果。; 题目名称:分类统计字符; 题目来源:/question/131013276.html; 本程序在MASMPlus 1.2集成环境下通过编译,经过调试,运行正确。Code Segment Assume CS:Code,DS:Code; ; 功能:显示指定地址(Str_Addr)的字符串; 入口:; Str_Addr字符串地址(要求在数据段); 用法: Output Str_Addr; 用法举例:Output PromptStrOutput MACRO Str_Addr lea dx,Str_Addr mov ah,9 int 21h EndM; ; 功能:在当前光标位置显示一个字符; 入口:dl=要显示的字符 Output_Chr proc Near push ax mov ah,02h int 21h pop ax ret Output_Chr Endp ; ; 功能:显示、输出一个回车、换行Output_CTLF proc Near push ax push dx mov ah,02h mov dl,0dh int 21h mov dl,0ah int 21h pop dx pop ax retOutput_CTLF Endp ; ; 功能:把AX中的二进制无符号数转换成显式的十进制ASCII码,并送显示屏显示; 入口:AX=二进制数 ; 出口:在当前光标位置显示转换后的ASCII码数字 Unsi_Dec_ASCII Proc Near push dx push bx push di mov bx,10 lea di,Temp_Save5 mov BYTE PTR di,$ dec di cld Divide: xor dx,dx div bx or dl,30h mov di,dl dec di test ax,ax jnz Divide inc di push di pop dx mov ah,9 int 21h pop di pop bx pop dx ret Temp_Save db 6 dup(?)Unsi_Dec_ASCII EndP; ; 功能:键盘输入一个字符,若输入的是y或n(不分大小写),则显示并返回; 入口:无; 出口:若输入的是y,进位标志置位;若输入的是n,进位标志复位。Yes_or_No proc Near push dx push axInput_Chr: mov ah,7 ;不带回显的键盘输入 int 21h mov dl,al and al,0dfh cmp al,Y jnz $+5 stc jmp $+7 cmp al,N jnz Input_Chr clc mov ah,2 int 21h pop ax pop dx retYes_or_No Endp; Letters dw ? ;字母个数Dights dw ? ;数字个数Others dw ? ;其它字符个数Letters_sum db 13,10,Letters: $Dights_sum db 13,10,Digits : $Others_sum db 13,10,Others : $Prompt_Str db Please input a string:$Prompt_Con db 13,10,13,10,Continue(Y/N)?$Press_Key db 7,13,10,13,10,The complated. Press any key to exit.$ Start: push cs pop ds push cs pop es; ; 从键盘上连续输入一串字符(字符个数不超过80个,该字符串用回车符结束)Input_Str: Output Prompt_Str ;提示输入一串字符 lea dx,Buffer ;输入字符串缓冲区地址 mov ah,0ah ;从键盘接收字符串 int 21h call Output_CTLF ;输出一个回车、换行; ; 按字母、数字、其它字符分类统计计数 lea si,Buffer1 ;实际输入的字符数地址 lodsb ;读入实际输入的字符数 xor ah,ah mov cx,ax ;实际输入的字符数送计数器 jcxz Continue mov Letters,0 ;字母计数单元清零 mov Dights,0 ;数字计数单元清零 mov Others,0 ;其它字符计数单元清零Classify: lodsb ;当前字符AL cmp al,0 ;当前字符9? ja $+8 ;大于,转去判断是否字母 inc Dights ;数字计数 jmp Other_Chr4 mov ah,al ;alah,用于判断是否字母 and ah,0dfh ;屏蔽第5位,按大写字母处理 cmp ah,A ;当前字符Z? ja Other_Chr ;大于,转去按其它字符处理 inc Letters ;字母计数 jmp $+6Other_Chr: inc Others ;其它字符计数 loop Classify; ; 显示分类统计结果 Output Letters_sum mov ax,Letters ;字母个数 call Unsi_Dec_ASCII ;把AX中的二进制无符号数转换成显式的十进制ASCII码,并送显示屏显示 Output Dights_sum mov ax,Dights ;数字个数 call Unsi_Dec_ASCII Output Others_sum mov ax,Others ;其它字符个数 call Unsi_Dec_ASCIIContinue: Output Prompt_Con call Yes_or_No jnc Exit_Proc call Output_CTLF call Output_CTLF jmp Input
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年广东省深圳市南山区深圳湾学校中考数学三模试卷(含答案)
- 南阳招教试题及答案
- 计算机软考试题及答案
- 儿童喜欢的题目及答案
- 批复安全培训中心课件
- 医院医保工作管理工作计划
- 2025年杭州物理高考试卷及答案
- 2025年医院行政干事考试题及答案
- 2025年语文诗词考试题型及答案
- 2025年北京二建考试试题及答案
- 班干部聘任仪式
- 2025教科版三年级科学上册教学计划、教学设计(附目录)
- 2025-2026学年苏教版(2024)初中生物八年级上册教学计划及进度表
- GB/T 2820.7-2024往复式内燃机驱动的交流发电机组第7部分:用于技术条件和设计的技术说明
- 20G520-1-2钢吊车梁(6m-9m)2020年合订本
- 财务管理学及财务知识分析笔记串讲
- 07FK02防空地下室通风设备安装PDF高清图集
- 项目费用申请表
- 价值观大拍卖-优质课件PPT
- 新《长庆油田石油与天然气钻井井控实施细则》
- 平行平板产生的干涉
评论
0/150
提交评论