微机课程方案字符串分类统计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

个人资料整理仅限学习使用

课程设计报告微机原理目:题字符串分类统计周喜民学生姓名:

32 学号:专业班级:0601计陈顺赵晏龙同组姓名:

指导教师:范轶彦2018.1.4-2018.1.10 设计时间:

个人资料整理仅限学习使用

目录

2一、需求分析

3二、系统设计

31. 内容

3.思路2

5三、系统总体框图

6四、调试分析

6五、实验结果

7六、程序设计

13七、总结

14八、参考文献

个人资料整理仅限学习使用

一、需求分析

本程序主要用于,把输入的一串字符分类统计,分别统计出数字、大写字符、小写字符和其他字符的个数。

本程序采用汇编语言编程,定义了宏、比较判断、循环调用、统计等等,非常人性化的把统计的结果显示出来。比如你输入一串数字“12345”,它会显示出你输入的这串数字,并显示数字的个数为5,同时显示其他相应类字符为空。

程序接收用户键入的一行字符<字符长度不大于80个,以回车结束),并把字符,数字,其它字符分类计数,然后将结果存入以Letter,Digit,Other为名的存储单元中。程序可采用0AH断将键入的字符直接送至键盘缓冲区,然后逐个取出分类计数。也可采用01H在接收字符后进行分类奇数在存入缓冲区。程序需要进入DEBUG看计数结果

二、系统设计

1.内容

从键盘输入任意一个字符串,以回车作为结束符并显示,分别统计并显示出其中数字字符、大写字符、小写字符以及其它字符的个数。

.思路2.

个人资料整理仅限学习使用

<1).首先定义两个宏,一个用于输出统计各字符的个数,另一个用于输出字符串。

<2).在数据段中定义各种字符提示信息以便程序清晰明白。

<3).定义数据缓冲区用于存放输入的字符串,定义NUM区用于存放统计的大写字符、小写字符、数字以及其它字符的个数。定义OTHERCHAR、BIGCHAR、SMALLCHAR 以及堆栈用于存放统计的相应字符保存,以便后来输出。

<4).首先调用DOS 10号功能用DX指定BUF区,将输入的字符串保存到BUF区中。

<5).将BUF+1的内容取出来,判断是否为0,如果为0表示没有输入任何字符,则程序跳到NEXTLAP<输出提示信息You do not input any string!),然后显示字符串?)然后调用DOS 1号功能获取您从键盘输入的数,判断是否为Y或y如果是则将程序跳到刚开始处重新执行,如果不是这两个字符则程序结束。

<6).如果输入了字符串,则调用DOS 2号功能将BUF里的内容输出来<2号功能可以输出$符号而9号功能遇到$符号就终止)。

<7).取字符出来进行比较统计,如果它比30H大且比39H小则为数字,如果比41H大且比5AH小则为大写字符,如果比61H大且比7AH小则为小写字符,如果不是这三种情况则为其它字符。

注:DX存数字个数,BX存小写字母个数,DI存大写字母个数,BP存其它字符个数。

<8).将数字个数、大写字母个数、小写字母个数、其它字符个数依次放入NUM 区。

<9).依次输出各字符:

a.判断数字个数是否为0,如果为0则输出提示没有此类数据,否则输出数

字个数以及有哪些数字。.

个人资料整理仅限学习使用

b.判断大写字符个数是否为0,如果为0则输出提示没有此类数据,否则输出大写字符的个数以及输入的哪些大写字符。

c.判断小写字符个数是否为0,如果为0则输出提示没有此类数据,否则输出小写字符的个数以及输入的哪些小写字符。

d.判断其它字符个数是否为0,如果为0则输出提示没有此类数据,否则输出其它字符的个数以及输入的哪些其它字符。

<10).然后将程序跳到NEXTLAP继续执行,依次下去。

个人资料整理仅限学习使用三、系统总体框图

个人资料整理仅限学习使用

四、调试分析

本程序主要用于,把输入的一串字符分类统计,分别统计出数字、大写字符、小写字符和其他字符的个数。本程序采用汇编语言编程,定义了宏、比较判断、循环调用、统计等等,非常人性化的把统计的结果显示出来。比如你输入一串数字“12345”,它会显示出你输入的这串数字,并显示数字的个数为5,同时显示其他相应类字符为空。

从键盘输入任意一个字符串,以回车作为结束符并显示,分别统计并显示出其中数字字符、大写字符、小写字符以及其它字符的个数。

五、实验结果

1)所有字符都有的时候:

2)其中有字符类型缺少的时候:

个人资料整理仅限学习使用

3)什么字符都不输入的时候:

六、程序设计

shuchu MACRO 。定义宏,用来输出统计其它字符、数字、大小写

个数

LOCAL NEXT

MOV AH,0

MOV BL,10

DIV BL

MOV DL,AL

MOV BH,AH 。将余数暂时存放在BH中

CMP AL,0

JZ NEXT

OR DL,30h

MOV AH,2

INT 21H

NEXT:

MOV DL,BH

OR DL,'0'。输出余数

MOV AH,2

INT 21H

。回车换行 dismsg CRLF

个人资料整理仅限学习使用 ENDM

dismsg MACRO message 。输出字符串

LEA DX,message

MOV AH,9

INT 21H

ENDM

DATAS SEGMENT

STR DB'The input string is:$'

STR1 DB'Please input a string:$'

STR2 DB'The integer is:$'

STR3 DB'The bigchar is:$'

STR4 DB'The smallchar is:$'

STR5 DB'The otherchar is:$'

STR6 DB'The date of integer is null!$'

STR7 DB'The date of otherchar is null!$'

STR8 DB'The data of bigchar is null!$'

STR9 DB'The data of smallchar is null!$'

相关文档
最新文档