1、 微机原理微机原理 课程设计报告课程设计报告 题 目: 字符串分类统计 学生姓名: 学 号: 专业班级: 同组姓名: 指导教师: 设计时间: 2010.1.4-2010.1.10 指导老师意见: 评定成绩: 签名: 日期: 2 目录目录 一、需求分析 3 二、系统设计 3 1. 内容 3 2思路 . 3 三、系统总体框图 . 5 四、调试分析 6 五、实验结果 6 六、程序设计 7 七、总结 13 八、参考文献 13 3 一一、需求分析需求分析 本程序主要用于,把输入的一串字符分类统计,分别统计出数字、大写字符、 小写字符和其他字符的个数。 本程序采用汇编语言编程,定义了宏、比较判断、循环调用
2、、统计等等,非 常人性化的把统计的结果显示出来。比如你输入一串数字“12345”,它会显示出 你输入的这串数字,并显示数字的个数为 5,同时显示其他相应类字符为空。 程序接收用户键入的一行字符(字符长度不大于 80 个,以回车结束) ,并把 字符,数字,其它字符分类计数,然后将结果存入以 Letter,Digit,Other 为 名的存储单元中。 程序可采用 0AH 断将键入的字符直接送至键盘缓冲区,然后 逐个取出分类计数。也可采用 01H 在接收字符后进行分类奇数在存入缓冲区。程 序需要进入 DEBUG 看计数结果 二、系统设计二、系统设计 1.1.内容内容 从键盘输入任意一个字符串,以回车
3、作为结束符并显示,分别统计并显示出 其中数字字符、大写字符、小写字符以及其它字符的个数。 2 2思路思路 (1).首先定义两个宏,一个用于输出统计各字符的个数,另一个用于输出 字符串。 (2).在数据段中定义各种字符提示信息以便程序清晰明白。 (3).定义数据缓冲区用于存放输入的字符串,定义 NUM 区用于存放统计的 大写字符、小写字符、数字以及其它字符的个数。定义 OTHERCHAR、BIGCHAR、 SMALLCHAR 以及堆栈用于存放统计的相应字符保存,以便后来输出。 (4).首先调用 DOS 10 号功能用 DX 指定 BUF 区,将输入的字符串保存到 BUF 区中。 (5).将 BU
4、F+1 的内容取出来,判断是否为 0,如果为 0 表示没有输入任何 4 字符,则程序跳到 NEXTLAP(输出提示信息 You do not input any string!) , 然后显示字符串(Do you want to input a string again(Y/N)?)然后调用 DOS 1 号功能获取您从键盘输入的数,判断是否为 Y 或 y 如果是则将程序跳到刚开始 处重新执行,如果不是这两个字符则程序结束。 (6).如果输入了字符串,则调用 DOS 2 号功能将 BUF 里的内容输出来(2 号功能可以输出$符号而 9 号功能遇到$符号就终止) 。 (7).取字符出来进行比较统计,如果它比 30H 大且比 39H 小则为数字,如 果比 41H 大且比 5AH 小则为大写字符,如果比 61H 大且比 7AH 小则为小写字符, 如果不是这三种情况则为其它字符。 注:DX