欢迎来到天天文库
浏览记录
ID:12915263
大小:92.49 KB
页数:38页
时间:2018-07-19
《西电微电子学院微机原理大作业》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2016春季计算机原理与系统设计上机报告姓名:***班级:***学号:***日期:2016年6月11日一、(题4.18)从键盘上读入一个正整数N(0≤N≤655535),转换成十六进制数存入AX,并在屏幕上显示出来。1.程序设计流程图:开始输入N显示“输入提示字符串“结束处理地位16进制数变成ASCII码,显示四位字符处理高位16进制数变成ASCII码,显示四位字符2.运行结果:3.遇到的问题和解决方法:在编译的时候发现在emu8086里面,“?”无法识别,所以导致编译不成功。将“?”改为“0”就成功了。二、(题4.37)编写程序实现,将缓冲区BUFFER中的10
2、0个字按递增排序,并按下列格式显示:数据1<原序号>数据2<原序号>……1.程序设计流程图:结束显示排列结果“冒泡法”进行递增排序开始产生随机数“结束处理地位16进制数变成ASCII码,显示四位字符2.运行结果:由于运行出来产生的不是16位的字而是12位的的数据,而且所有数据都相同,故结果不正确。应该是冒泡法进行随机数产生的时候出现了问题,但是没有找到出错点,所以无法正确显示结果。3.遇到的问题和解决方法:遇到的问题是随机数的产生不正确。但是上机的时候和组员都没有找出错误的地方,所以该问题没有得到良好的解决。三、(题4.38)按同余法产生一组随机数N(1<N≤50
3、),并按N+50赋给45名同学的5门课程的成绩,要求编程实现计算每个同学的平均成绩,并根据平局成绩统计全班的成绩各等级的人数(A:90~100,B:80~89,C:70~79,D:66~69,E:60~65,F:60分以下),按下列格式显示:Total<总人数>A:<人数1>B:<人数2>C:<人数3>D:<人数4>E:<人数5>F:<人数6>1.程序设计流程图:结束按要求显示统计平均值的各等级人数计算每个人的平均成绩按N+50赋给45名同学的5门课程的成绩同余法产生一组随机数N开始1.运行结果:1.遇到的问题和解决方法:这次的编译比较顺利,没有遇到什么困难。四、
4、(题4.39)编写程序实现下列5项功能,通过从键盘输入1—5进行菜单式选择:(1)按数字键“1”,完成将字符串中的小写字母变化成大写字母。用户输入由英文大小写字母或数字1-9组成的字符串(以回车结束),变换后按下列格式在屏幕上显示:<原字符串>例如:abcdgyt0092<新字符串>ABCDYGT0092按任意键重做;按eac键返回主菜单(2)按数字键“2”,完成在字符串中找最大值。用户输入由英文大小写字母或数字1-9组成的字符串(以回车结束),找出最大值按下列格式在屏幕上显示:<原字符串>Themaximumis<最大值>按任意键重做;按eac键返回主菜单(3)
5、按数字键“3”,完成输入数据组的排序。用户输入一组十进制数值(小于255),然后变换成十六进制数,按递增方式进行排列,按下列格式在屏幕上显示:<原数值串><新数值串>按任意键重做;按eac键返回主菜单(4)按数字键“4”,完成时间的显示。首先提示用户对时,即改变系统的定时器HH:MM:SS(以冒号间隔,回车结束),然后在屏幕的右上角实时显示出时间:HH:MM:SS.按任意键重做;按eac键返回主菜单(5)按数字键“5”,结束程序的运行,返回操作系统。1.程序设计流程图:跳转相应子程序选择输入数字“1-5”显示MENU开始数据段定义MENU结束按要求完成子程序1.运
6、行结果:菜单选择:功能1:功能2:功能3:功能4:功能5:1.遇到的问题和解决方法:应该注意的是Masm510的使用方法:首先将工具移动到D盘,然后保存程序代码用1.asm格式到“masm510”文件夹下,通过附件程序运行,依次输入“d:”、“cdmasm510”、“masm1.asm”、“link1.obj”、“1.exe”就开始运行了。附件:习题代码一、(题4.18)从键盘上读入一个正整数N(0≤N≤655535),转换成十六进制数存入AX,并在屏幕上显示出来。STACKSEGMENTSTACK'STACK'DW100HDUP(?)TOPLABELWORDST
7、ACKENDSDATASEGMENTKEYBUFFERDB100;键盘缓冲区DB?DB100DUP(?)STRING1DB'Pleaseinputdecimaldata:$';输入提示字符串DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVES,AXMOVAX,STACKMOVSS,AXLEASP,TOPLEADX,STRING1;显示出“输入提示字符串”MOVAH,09HINT21HMOVAH,0AH;输入十进制数据LEADX,KEYBUFFER
8、INT21
此文档下载收益归作者所有