- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理课程设计-统计字符串长度推荐
微机原理 课程设计报告
题 目: 计算字符串长度
学生姓名:
学 号:
专业班级: 计科13101
同组姓名:
指导教师:
设计时间:2015.12.28-2015.12.31
指导老师意见:
评定成绩: 签名: 日期:
目录
目录 2
一、需求分析 2
二、系统设计 3
1.内容 3
2.思路 3
三、系统总体框图 3
四、调试分析 4
五 5
六、程序设计 7
七、总结 10
一、需求分析
本程序主要用于,把输入的一串字符,统计长度并输出。
本程序采用汇编语言编程,定义了宏、统计等等,非常人性化的把统计的结果显示出来。比如你输入一串数字“12345”,它会显示出你输入的这串数字个数为5。
二、系统设计
1.内容
从键盘输入任意一个字符串,以回车作为结束符并显示,统计并显示出它字符的个数。
2.思路
(1).在数据段中定义各种字符提示信息以便程序清晰明白。
(2).在数据段中定义一个STR DB 100,?,100 DUP(?)
(3).将数据段存到AX寄存器,再将AX寄存器转移到DS寄存器。
(4).提示用户输入一串字符,以回车结束。
(5).将偏移地址放入DX。
(6).输入数据,长度不能大于100。
(7).将输出提示语的偏移地址放入DX。
(8).统计字符串的长度。
(9).将结果转化成可以显示的ASCII码,并保存到AX中。
(10).将AX中的结果转移到DX中。显示DX,以任意键退出
三、系统总体框图
四、调试分析
本程序主要用于,把输入的一串字符统计字符的个数。本程序采用汇编语言编程,定义了宏、比较判断、循环调用、统计等等,非常人性化的把统计的结果显示出来。比如你输入一串数字“12345”,它会显示出你输入的这串数字,并显示数字的个数为5。
实验结果
(1)用DOSBOX 在win7上运行,将文件夹路径设为C盘
运行masm,编译len.asm,生成len.obj文件
连接len,生成len.exe文件
运行len.exe
六、程序设计
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(?)意思是定义100个未经初始化的字节
;DB 100 意思是定义一个字节,初始化为100
;DB ?意思是定义一个为初始化的字节
DATAS ENDS
STACKS SEGMENT;堆栈段定义,此程序不需要,不定义会有警告,但不影响运行。
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT;代码段开始
ASSUME CS:CODES,DS:DATAS,SS:STACKS;说明段寄存器和定义寄存器的关系
START:
MOV AX,DATAS;数据段到AX寄存器
MOV DS,AX;AX寄存器到DS寄存器,不能数据段直接到DS
LEA DX,MSG1;加载定义字符的有效地址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]
MOV AH,0;把AH变成0
MOV BL,10
DIV BL;除法指令,除数有8位和16位两种,如果除数是8位,那么除法的结果AL保存上,AH保存余数
;如果除数是16位,那么除法的结果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;
您可能关注的文档
- 岩棉板外墙保温专项施工方案推荐.doc
- 嵌入式系统课程设计-基于FPGA的出租车计费器设计推荐.doc
- 嵌入式系统课程设计报告-基于SKYEYE的嵌入式Linux系统设计推荐.doc
- 工业园办公楼、宿舍楼工程招标文件推荐.doc
- 山东省城商行合作联盟计算机机房及办公区设计、装饰及控制系统工程设计方案推荐.doc
- 工业通风课程设计-陶瓷厂通风除尘系统设计推荐.doc
- 工程监理规划毕业论文推荐.doc
- 市政道路施工组织设计--顺通街施工组织设计推荐.doc
- 市政工程施工组织设计推荐.doc
- 年产70万吨PX项目可行性报告研究推荐.doc
- 江苏省灌云高级中学2023-2024学年高三上学期第一次月考地理试题含答案.docx
- 备战2024年高考物理一轮重难点复习 第十三章 近代物理.docx
- 江苏省高邮市一中2021-2022学年高三上学期第一次月考语文试题(原卷版).docx
- 江苏省华罗庚中学2023-2024学年高三上学期12月阶段检测数学试卷含答案.docx
- 江苏省海门中学2023-2024学年高三上学期第一次调研考试地理试题及答案.docx
- 备战2024年高考物理一轮重难点复习 第九章 恒定电流.docx
- 江苏省高邮市2023-2024学年高三下学期3月学情调研数学试题含答案.docx
- 备战2024年高考物理一轮重难点复习 实验十一:探究影响感应电流方向的因素.docx
- 备战2024年高考物理一轮重难点复习 实验三:验证平行四边形定则.docx
- 备战2024年高考物理一轮重难点复习 第十四章 光.docx
文档评论(0)