微机原理课程设计 统计字符串长度_第1页
微机原理课程设计 统计字符串长度_第2页
微机原理课程设计 统计字符串长度_第3页
微机原理课程设计 统计字符串长度_第4页
微机原理课程设计 统计字符串长度_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 课程设计报告 微机原理 目:题 计算字符串长度 学生姓名:王小可 201311010138学 号: 专业班级:13101 计科 同组姓名: 刘洁指导教师: 2015.12.28-2015.12.31 设计时间: : 指导老师意见 : 日期: 签名: 评定成绩结束 湖南文理芙蓉学院课程设计报告 目录 目录. 2 一、需求分析. 3 二、系统设计. 3 1.内容. 3 2思路. 3 三、系统总体框图. 4 四、调试分析. 5 五、 实验结果. 5 六、程序设计. 7 七、总结. 10 2 湖南文理芙蓉学院课程设计报告 一、需求分析 本程序主要用于,把输入的一串字符,统计长度并输出。 本程序采用汇

2、编语言编程,定义了宏、统计等等,非常人性化的把统计的结果显示出来。比如你输入一串数字“12345”,它会显示出你输入的这串数字个数为5。 二、系统设计 1.内容 从键盘输入任意一个字符串,以回车作为结束符并显示,统计并显示出它字符的个数。 2思路 (1).在数据段中定义各种字符提示信息以便程序清晰明白。 (2).在数据段中定义一个STR DB 100,?,100 DUP(?) (3).将数据段存到AX寄存器,再将AX寄存器转移到DS寄存器。 (4).提示用户输入一串字符,以回车结束。 (5).将偏移地址放入DX。 (6).输入数据,长度不能大于100。 (7).将输出提示语的偏移地址放入DX。

3、 (8).统计字符串的长度。 (9).将结果转化成可以显示的ASCII码,并保存到AX中。 (10).将AX中的结果转移到DX中。显示DX,以任意键退出 3 湖南文理芙蓉学院课程设计报告 三、系统总体框图 开始 提示输入一个字符串,以回车结束 输入 统计字符串长度 输出结束提示语 输出结果 4 湖南文理芙蓉学院课程设计报告 四、调试分析 本程序主要用于,把输入的一串字符统计字符的个数。本程序采用汇编语言编程,定义了宏、比较判断、循环调用、统计等等,非常人性化的把统计的结果显示出来。比如你输入一串数字“12345”,它会显示出你输入的这串数字,并显示数字的个数为5。 五、实验结果 (1)用DOS

4、BOX 在win7上运行,将文件夹路径设为C盘 5 湖南文理芙蓉学院课程设计报告 (2)运行masm,编译len.asm,生成len.obj文件 (3)连接len,生成len.exe文件 (4) 运行len.exe 6 湖南文理芙蓉学院课程设计报告 六、程序设计 DATAS SEGMENT;数据段定义 MSG1 DB Input the string: ,13,10,$ ;定义了一个字符串,13是回车,10是换行,字符串必须以$结束 MSG2 DB 13,10,The string lenth is:$ STR DB 100,?,100 DUP(?); ;DB 100 DUP(?)意思是定义1

5、00个未经初始化的字节 ;DB 100 意思是定义一个字节,初始化为100 ;DB ?意思是定义一个为初始化的字节 DATAS ENDS STACKS SEGMENT;堆栈段定义,此程序不需要,不定义会有警告,但不影响运行。 ;此处输入堆栈段代码 STACKS ENDS CODES SEGMENT;代码段开始 7 湖南文理芙蓉学院课程设计报告 ASSUME CS:CODES,DS:DATAS,SS:STACKS;说明段寄存器和定义寄存器的关系 START: MOV AX,DATAS;数据段到AX寄存器 MOV DS,AX;AX寄存器到DS寄存器,不能数据段直接到DS LEA DX,MSG1;加

6、载定义字符的有效地址MSG1 MOV AH,9;调用dos显示字符串功能 INT 21H;此处输入代码段代码 LEA DX,STR;传偏移地址 MOV AH,0AH;0AH 表示键盘输入到缓冲区 INT 21H;读数据 ;MOV传送的是地址所指的内容,而LEA只是地址。 LEA DX,MSG2 MOV AH,9 INT 21H LEA SI,STR MOV AL,SI+1 8 湖南文理芙蓉学院课程设计报告 MOV AH,0;把AH变成0 MOV BL,10 DIV BL;除法指令,除数有8位和16位两种,如果除数是8位,那么除法的结果AL保存上,AH保存余数 ;如果除数是16位,那么除法的结果

7、AX保存商,DX保存余数。 ;被除数默认存放在AX中(10位以内)或AX和DX中(32位,DX存放高16位,AX存放低16位) ADD AX,3030H;把两字节的非压缩BCD码转成可以显示的ASCII码 MOV DX,AX MOV AH,2;显示输出 INT 21H MOV DL,DH INT 21H MOV AH,7;点击enter程序退出,应该是任意键退出 INT 21H; MOV AH,4CH;程序结束,控制权返回 INT 21H CODES ENDS END START 9 湖南文理芙蓉学院课程设计报告 七、总结 微机原理与接口技术是一门很有趣的课程,任何一个计算机系统都是一个复杂的

8、整体,学习计算机原理是要涉及到整体的每一部分。讨论某一部分原理时又要涉及到其它部分的工作原理。这样一来,不仅不能在短时间内较深入理解计算机的工作原理,而且也很难孤立地理解某一部分的工作原理。所以,在循序渐进的课堂教学过程中,我总是处于“学会了一些新知识,弄清了一些原来保留的问题,又出现了一些新问题”的循环中,直到课程结束时,才把保留的问题基本搞清楚。 学习该门课程知识时,其思维方法也和其它课程不同,该课程偏重于工程思维,具体地说,在了解了微处理器各种芯片的功能和外部特性以后,剩下额是如何将它们用于实际系统中,其创造性劳动在于如何用计算机的有关技术和厂家提供的各种芯片,设计实用的电路和系统,再配

9、上相应的应用程序,完成各种实际应用项目。 这次实验并不是很难,主要的困难来自对程序的理解。功夫不负有心人,经过四个人的合作和努力,我们最后对实验的原理有了清晰的认识。虽然实验台上的很多模块单元没有用到,但是就系统功能来说,我觉得我们做的还是不错的。 这次课设却让我们对实验台有了足够的了解,让我们知道了实验台上各个模块的用法;而且它还让我们对自己动手写程序来控制实验台的运作有了一定的基础。虽然实验台只是一个小型的模拟平台,但是通过对它的学习和操作,我们对有关接口的知识将会有一个更广泛的认识,而且它对我们以后的学习也会有帮助的。 实验中个人的力量是不及群体的力量的,我们四个人分工合作,做事的效率高了很多。虽然有时候会为了一些细节争论不休,但最后得出的总是最好的结论。而且实验也教会我们在团队中要善于与人相处,与人共事,不要一个人解决所有问题。 总之,这次课程设计对于我们有很大的帮助,通过课程设计,我更加深入地理解了,微机原理课程上讲到的各种芯片的功能,以及引脚的作用,同时加深了对于主要芯片的应用的认识,同时在试验室的环境里熟悉了汇编程序的编写过程和运行过程,最后还提高了自己的动手能力。感谢老师的悉心指导。 对课程设计的建议 本次课程设计的三个实验相对都比较简单,而且经过老师的讲解

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论