版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理与汇编技术课程设计(论文)求100以内素数(2)院(系)名称专业班级学号学生姓名指导教师起止时间:2015.12.21—2015.12.31课程设计(论文)任务及评语院(系):电子与信息工程学院教研室:计算机科学与技术学号学生姓名专业班级课程设计(论文)题目求100以内的素数(2)课程设计(论文)任务设计内容编制程序,按要求求出100以内的素数和其它结果。技术要求1、求出这些素数。2、在屏幕上显示出求素数的动态过程(在屏幕上先显示出100以内的所有数,再动态地删去不符合要求的数,删除的过程要明显)。3、计算这些素数的平均值(取整,四舍五入),以十进制形式输出,并让改制以红色显示。4、数据的输入和结果的输出都要有必要的提示,且提示独占一行。5、要用到子程序。指导教师评语及成绩平时成绩:答辩成绩:论文成绩:总成绩:指导教师签字:年月日注:平时成绩占20%,答辩成绩占40%,论文成绩占40%。本科生课程设计(论文)PAGEI目录第1章前言 11.1背景 11.2基本功能要求 2第2章程序设计 32.1题目的基本内容 32.2程序流程图 42.3课程设计的具体内容说明 72.4课程设计中关键内容的分析设计说明 82.5运行结果 13第3章课程设计总结 16参考文献 17PAGEPAGEPAGE18第1章前言1.1背景汇编语言(assemblylanguage)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。许多汇编程序为程序开发、汇编控制、辅助调试提供了额外的支持机制。有的汇编语言编程工具经常会提供宏,它们也被称为宏汇编器。汇编语言不像其他大多数的程序设计语言一样被广泛用于程序设计。在今天的实际应用中,它通常被应用在底层,硬件操作和高要求的程序优化的场合。驱动程序、嵌入式操作系统和实时运行程序都需要汇编语言。汇编语言的另一个特点就是它所操作的对象不是具体的数据,而是寄存器或者存储器,也就是说它是直接和寄存器和存储器打交道,这也是为什么汇编语言的执行速度要比其它语言快,但同时这也使编程更加复杂,因为既然数据是存放在寄存器或存储器中,那么必然就存在着寻址方式,也就是用什么方法找到所需要的数据。例如上面的例子,我们就不能像高级语言一样直接使用数据,而是先要从相应的寄存器AX、BX中把数据取出。这也就增加了编程的复杂性,因为在高级语言中寻址这部分工作是由编译系统来完成的,而在汇编语言中是由程序员自己来完成的,这无异增加了编程的复杂程度和程序的可读性。1.2基本功能要求由于DOS的9号调用输出的是ASCⅡ码,因此我们在输出到屏幕的时候一定要将其先转换为ASCⅡ码再使用9号调用输出。考虑到ASCⅡ码转化为数字较为麻烦,因此可以定义两个组数据buf、buf1,其中buf用于存放1~99,buf1用于存放1~99的ASCⅡ码。这段程序运用的两次loop循环分别实现把0~99送到buf、将0~99的ASCⅡ码送到buf1。在循环完毕后,采用dos的9号调用将buf1的数据输出到屏幕上,即1~99输出到屏幕上。完成这段程序后,跳到下一个模块,即删除合数保留素数并显示模块。然后跳转到下一模块。求和,最后到求平均数模块。第2章程序设计2.1题目的基本内容设计题目:求100以内的素数具体要求:(1)求出这些素数。(2)在屏幕上显示出求素数的动态过程(在屏幕上先显示出100以内的所有数,再动态地删去不符合要求的数,删除的过程要明显)。(3)计算这些素数的平均值(取整,四舍五入),以十进制形式输出,并让改制以红色显示。(4)数据的输入和结果的输出都要有必要的提示,且提示独占一行。(5)要使用子程序2.2程序流程图图2.1显示素数程序流程图否是是下一个模块dl=0?dl←[bx+3]bx←bx+1si←si+3显示buf1在屏幕上否mov[si+9],0mov[si+10],0将buf1的内容清零是ah=0?divdlal←al+1否al=dl?dl←dl+1al←al-1al←[bx]andal,0dl←1leabx,buf;leasi,buf1cx←0上一个模块否是是下一个模块dl=0?dl←[bx+3]bx←bx+1si←si+3显示buf1在屏幕上否mov[si+9],0mov[si+10],0将buf1的内容清零是ah=0?divdlal←al+1否al=dl?dl←dl+1al←al-1al←[bx]andal,0dl←1leabx,buf;leasi,buf1cx←0上一个模块图2.2删除合数保留素数程序流程图否否是是否上一个模块cx←99si←0leabx,buf1al←[bx]ah←0dh←[bx+1]al=0?dh←dh-30hal←al-30hdl←10muldlal←al+ahsi←ai+axbx←bx+3cx=0?下一个模块图2.3求和程序流程图axax←sibz←diandbx,00ffhdivblal←al+1andax,00ffhbx←10andbx,00ffhdivblal←al+30hah←ah+30h将平均值转化为ASCⅡ码leabx,buf2输出buf2结束上一个模块图2.4求平均数程序流程图2.3课程设计的具体内容说明把0~99送到buf、将0~99的ASCⅡ码送到buf1。在循环完毕后,采用dos的9号调用将buf1的数据输出到屏幕上,即1~99输出到屏幕上。算法描述:(1)开始,输出素数。(2)判断是否q退出,不退出则到(3)。(3)按任意键继续程序。(4)输出0-100全部数据。(5)按任意键,每按一次删除一个非素数。(6)删除完毕,输出平均数。(7)结束,退出程序。2.4课程设计中关键内容的分析设计说明程序:datasegmentinput1 db0ah,0dh,'ifyouwanttoquit,pleasepressQ/q!'db0ah,0dh,'ifyouwanttoprint0~99,pleasepressanyotherkey!',0ah,0dh,'$'input2db0ah,0dh,'ifyouwanttoquit,pleasepressQ/q!'db0ah,0dh,'ifyouwanttofindtheprimenumber,pleasepressanyotherkey!',0ah,0dh,0ah,0dh,'$'input3 db0ah,0dh,'ifyouwanttoquit,pleasepressQ/q!'db0ah,0dh,'ifyouwanttogettheavreageoftheprimenumbers,pleasepressanyotherkey!',0ah,0dh,0ah,0dh,'$'input4 db0ah,0dh,'theavreageoftheprimenumbersis:','$'input5 db0ah,0dh,'pressanykeytoquit!','$'bufdb99dup(?),0 ;用于存0~99buf1db99dup(?,?,','),0dh,0ah,'pressanykeytocontinue!',0dh,0ah,'$' ;用于放1~99的asc码buf2db?,?,0dh,0ah,'$'dataendscodesegment assumeds:data,cs:codestart:movax,data movds,axleadx,input1movah,9int21hmovah,08hint21hcmpal,'Q'jEexitcmpal,'q'jeexit leabx,buf movax,0 moval,1 movcx,99loop1: mov[bx],al incal incbx looploop1movcx,99leasi,buf1leabx,bufloop2:movax,0 moval,[bx] movdl,10 divdl addal,30h ;十位asc码 addah,30h ;个位asc码 mov[si],al mov[si+1],ah addsi,3 addbx,1looploop2leadx,buf1movah,9 int21h movah,08h int21h ;显示0~100jmpbbexit:movax,4c00h int21h ;退出bb:leadx,input2movah,9int21hmovah,08hint21hcmpal,'Q'jEexitcmpal,'q'jeexit movcx,0 leabx,buf leasi,buf1a1: movdl,1 a2: andax,0 moval,[bx+3] decal incdl cmpal,dl jza3 incal divdl cmpah,0 jnza2 mov[si+9],ah mov[si+10],ah jmpa4a3: inccx a4: leadx,buf1 movah,9 int21h movah,08h int21haddsi,3incbxmovdl,[bx+3]cmpdl,0 ;跳出循环jnza1leadx,input3movah,9int21hmovah,08hint21h ;输入提示cmpal,'Q'jEexitcmpal,'q'jeexit movdi,cxadddi,3 ;计数送到dimovcx,99andsi,0leabx,buf1loop3: moval,[bx] ;十位 andax,00ffh movdh,[bx+1] ;个位 cmpal,0 jzc1 subdh,30h subal,30h movdl,10 muldl addal,dh addsi,axc1: addbx,3 looploop3leadx,input4movah,9int21hmovah,08hint21hmovax,si ;和送到axmovbx,di ;个数送到bxandbx,00ffhdivblincalandax,00ffhmovbx,10andbx,00ffhdivbladdal,30haddah,30h ;将平均值转化为asc码,al为十位,ah为个位leabx,buf2mov[bx],almov[bx+1],ahmovah,09·moval,0movbh,00movcx,2movbl,4int10hleadx,buf2movah,9int21hmovah,08hint21hleadx,input5movah,9int21hmovah,08hint21hexit1:movax,4c00h int21h codeends endstart2.5运行结果图2.5初始界面图2.6显示1~99图2.7选择是否继续求素数图2.8动态删除合数保留素数图2.9选择是否求平均值图2.10将素数平均值以红色字输出到屏幕第3章课程设计总结这次的微机原理课程设计,求100以内的素数,在数学的学习中,我们会经常接触到素数这个概念。素数又称质数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数(不包括0)整除的数。因为合数是由若干个质数相乘而得来的,所以,没有质数就没有合数,由此可见素数在数论中有着很重要的地位。比1大但不是素数的数称为合数。1和0既非素数也非合数。这个学期我们刚好学了《微机原理与接口技术》这门课,并且初步的了解了汇编语言知识,并且可以编写简单的代码。因此,我们可以运用汇编语言来编写程序,求取100以内的素数,动态的删除合数,并且以红色的字输出素数的平均值。起初以为这个课题比较简单,通过查书和资料可以很快做出来,结果开始做却发现不是那么回事,发现了很多的问题。首先,课本上的知识还远远不够,需要我借鉴别人的程序来提升自己对汇编语言的认识以及了解,并且很多复杂难懂的程序还无法读懂。其次,在编写的过程中,总会有各种各样的问题出现,即使一个小小的标点符号错误也无法将程序运行出来,这就需要我们的耐心仔细去慢慢的调试并且发现错误在哪里。第三,我们对于汇编语言的认识还远远不够,一学期的简单学习,应用于编程还很吃力,dos调用、bios调用我们接触的非常非常少。总之,费了九牛二虎之力,总算是解决这次的课程设计。这次课程设计给我带来的收获很多。第一,它让我更进一步的了解了汇编语言,并用其来做一些实践性的东西。第二,我在编写和调试程序的时候,也锻炼了我的耐心和细心。第三,这次课程设计也锻炼了我查阅资料的能力。参考文献[1]彭虎,周佩玲,傅忠谦.《微机原理与接口技术(第2版)》.北京:电子工业出版社,2010年[2]李敬兆.《8086/8088和arm核汇编语言程序设计》.合肥:中国科技大学出版社.2000年[3]沈美明,温冬婵.《IBM—PC汇编语言程序设计(第二版)》.北京:清华大学出版社出版.2003年[4]沈美明,温冬婵,张赤红.《IBM—PC汇编语言程序设计实验教程》.北京:清华大学出版社出版.2003年[5]杨立.《微机原理与接口技术》.天津:天津大学出版社,2010年基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发基于Cygnal单片机的μC/OS-Ⅱ的研究基于单片机的一体化智能差示扫描量热仪系统研究基于TCP/IP协议的单片机与Internet互联的研究与实现变频调速液压电梯单片机控制器的研究基于单片机γ-免疫计数器自动换样功能的研究与实现基于单片机的倒立摆控制系统设计与实现单片机嵌入式以太网防盗报警系统基于51单片机的嵌入式Internet系统的设计与实现单片机监测系统在挤压机上的应用MSP430单片机在智能水表系统上的研究与应用基于单片机的嵌入式系统中TCP/IP协议栈的实现与应用单片机在高楼恒压供水系统中的应用基于ATmega16单片机的流量控制器的开发基于MSP430单片机的远程抄表系统及智能网络水表的设计基于MSP430单片机具有数据存储与回放功能的嵌入式电子血压计的设计HYPE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑施工施工现场智能化安装作业防护投入管理总结报告
- 品牌餐饮连锁门店建设项目建筑废弃物运输车辆密闭化改造技术创新总结报告
- 2025年可燃及易燃易爆危险品管理制度例文
- 机场项目主体结构混凝土浇筑施工方案-施工作业指导书
- 2026输血技术相关试题及答案
- 港口码头企业职业卫生管理制度
- 关键工序工艺专项管控细则
- 农药化工企业班组安全活动制度
- 概念性理解语文大单元教学的根本追寻
- 食堂消防安全管理制度范本
- 海洋测绘员作业指导书
- 汽车盲区安全驾驶培训课件
- 工厂供配电基础知识培训课件
- (正式版)DB42∕T 1764-2021 《高速公路服务区(停车区)服务管理规范》
- 研究院建立方案汇报
- 2024版电网典型设计10kV配电站房分册
- 林业局事业单位考试试题及答案
- GM/T 0024-2023SSL VPN 技术规范
- 市委党校管理制度
- ICU应激性溃疡预防
- 国家职业技术技能标准 6-29-03-03 电梯安装维修工 人社厅发2018145号
评论
0/150
提交评论