ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:428.77KB ,
资源ID:5671282      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5671282.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(求100以内的素数 微机原理与汇编技术课程设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

求100以内的素数 微机原理与汇编技术课程设计.docx

1、求100以内的素数 微机原理与汇编技术课程设计微机原理与汇编技术课程设计(论文)求100以内素数(2) 院(系)名称 专业班级 学号 学生姓名 指导教师起 止 时 间: 2015.12.212015.12.31课程设计(论文)任务及评语院(系):电子与信息工程学院 教研室:计算机科学与技术学 号学生姓名专业班级课程设计(论文)题目求100以内的素数(2)课程设计(论文)任务设计内容编制程序,按要求求出100以内的素数和其它结果。技术要求1、求出这些素数。2、在屏幕上显示出求素数的动态过程(在屏幕上先显示出100以内的所有数,再动态地删去不符合要求的数,删除的过程要明显)。3、计算这些素数的平均

2、值(取整,四舍五入),以十进制形式输出,并让改制以红色显示。4、数据的输入和结果的输出都要有必要的提示,且提示独占一行。5、要用到子程序。指导教师评语及成绩平时成绩: 答辩成绩: 论文成绩: 总成绩: 指导教师签字: 年 月 日注:平时成绩占20%,答辩成绩占40%,论文成绩占40%。第1章 前言1.1背景汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址。在不同的设备中,汇编语言对

3、应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。许多汇编程序为程序开发、汇编控制、辅助调试提供了额外的支持机制。有的汇编语言编程工具经常会提供宏,它们也被称为宏汇编器。汇编语言不像其他大多数的程序设计语言一样被广泛用于程序设计。在今天的实际应用中,它通常被应用在底层,硬件操作和高要求的程序优化的场合。驱动程序、嵌入式操作系统和实时运行程序都需要汇编语言。汇编语言的另一个特点就是它所操作的对象不是具体的数据,而是寄存器或者存储器,也就是说它是直接和寄存器和存储器打交道,这也是为什么汇编语言的执行速度要比其

4、它语言快,但同时这也使编程更加复杂,因为既然数据是存放在寄存器或存储器中,那么必然就存在着寻址方式,也就是用什么方法找到所需要的数据。例如上面的例子,我们就不能像高级语言一样直接使用数据,而是先要从相应的寄存器AX、BX 中把数据取出。这也就增加了编程的复杂性,因为在高级语言中寻址这部分工作是由编译系统来完成的,而在汇编语言中是由程序员自己来完成的,这无异增加了编程的复杂程度和程序的可读性。1.2基本功能要求由于DOS的9号调用输出的是ASC码,因此我们在输出到屏幕的时候一定要将其先转换为ASC码再使用9号调用输出。考虑到ASC码转化为数字较为麻烦,因此可以定义两个组数据buf、buf1,其中

5、buf用于存放199,buf1用于存放199的ASC码。这段程序运用的两次loop循环分别实现把099送到buf、将099的ASC码送到buf1。在循环完毕后,采用dos的9号调用将buf1的数据输出到屏幕上,即199输出到屏幕上。完成这段程序后,跳到下一个模块,即删除合数保留素数并显示模块。然后跳转到下一模块。求和,最后到求平均数模块。 第2章 程序设计2.1题目的基本内容设计题目:求100以内的素数具体要求:(1)求出这些素数。(2)在屏幕上显示出求素数的动态过程(在屏幕上先显示出100以内的所有数,再动态地删去不符合要求的数,删除的过程要明显)。(3)计算这些素数的平均值(取整,四舍五入

6、),以十进制形式输出,并让改制以红色显示。(4)数据的输入和结果的输出都要有必要的提示,且提示独占一行。(5)要使用子程序2.2 程序流程图图2.1 显示素数程序流程图图2.2 删除合数保留素数程序流程图图2.3 求和程序流程图图2.4 求平均数程序流程图2.3课程设计的具体内容说明把099送到buf、将099的ASC码送到buf1。在循环完毕后,采用dos的9号调用将buf1的数据输出到屏幕上,即199输出到屏幕上。算法描述:(1)开始,输出素数。(2)判断是否q退出,不退出则到(3)。(3)按任意键继续程序。(4)输出0-100全部数据。(5)按任意键,每按一次删除一个非素数。(6)删除完

7、毕,输出平均数。(7)结束,退出程序。2.4课程设计中关键内容的分析设计说明程序:data segmentinput1 db 0ah,0dh,if you want to quit,please press Q/q! db 0ah,0dh,if you want to print 099,please press any other key!,0ah,0dh, $input2 db 0ah,0dh,if you want to quit,please press Q/q! db 0ah,0dh,if you want to find the prime number ,please press

8、 any other key!,0ah,0dh,0ah,0dh,$input3 db 0ah,0dh,if you want to quit,please press Q/q! db 0ah,0dh,if you want to get the avreage of the prime numbers ,please press any other key!,0ah,0dh,0ah,0dh,$input4 db 0ah,0dh,the avreage of the prime numbers is:,$input5 db 0ah,0dh,press any key to quit!,$buf

9、db 99 dup(?),0 ;用于存099buf1 db 99 dup(?,?,),0dh,0ah,press any key to continue!,0dh,0ah,$ ;用于放199的asc码buf2 db ?,?,0dh,0ah,$data endscode segment assume ds:data,cs:codestart:mov ax,data mov ds,axlea dx,input1mov ah,9int 21hmov ah,08hint 21h cmp al,Q jE exit cmp al,q je exit lea bx,buf mov ax,0 mov al,1

10、 mov cx,99loop1: mov bx,al inc al inc bx loop loop1mov cx,99lea si,buf1lea bx,bufloop2:mov ax,0 mov al,bx mov dl,10 div dl add al,30h ;十位asc码 add ah,30h ;个位asc码 mov si,al mov si+1,ah add si,3 add bx,1loop loop2lea dx,buf1mov ah,9 int 21h mov ah,08h int 21h ;显示0100jmp bbexit:mov ax,4c00h int 21h ;退出b

11、b:lea dx,input2mov ah,9int 21hmov ah,08hint 21h cmp al,Q jE exit cmp al,q je exit mov cx,0 lea bx,buf lea si,buf1a1: mov dl,1 a2: and ax,0 mov al,bx+3 dec al inc dl cmp al,dl jz a3 inc al div dl cmp ah,0 jnz a2 mov si+9,ah mov si+10,ah jmp a4a3: inc cx a4: lea dx,buf1 mov ah,9 int 21h mov ah,08h int

12、 21hadd si,3inc bxmov dl,bx+3cmp dl,0 ;跳出循环jnz a1lea dx,input3mov ah,9int 21hmov ah,08hint 21h ;输入提示 cmp al,Q jE exit cmp al,q je exit mov di,cxadd di,3 ;计数送到dimov cx,99and si,0lea bx,buf1loop3: mov al,bx ;十位 and ax,00ffh mov dh,bx+1 ;个位 cmp al,0 jz c1 sub dh,30h sub al,30h mov dl,10 mul dl add al,d

13、h add si,axc1: add bx,3 loop loop3lea dx,input4mov ah,9int 21hmov ah,08hint 21hmov ax,si ;和送到axmov bx,di ;个数送到bxand bx,00ffhdiv blinc aland ax,00ffhmov bx,10and bx,00ffhdiv bladd al,30hadd ah,30h ;将平均值转化为asc码,al为十位,ah为个位lea bx,buf2mov bx,almov bx+1,ahmov ah,09mov al,0mov bh,00mov cx,2mov bl,4int 10h

14、lea dx,buf2mov ah,9int 21hmov ah,08hint 21hlea dx,input5mov ah,9int 21hmov ah,08hint 21h exit1:mov ax,4c00h int 21h code ends end start2.5运行结果图2.5 初始界面图2.6 显示199图2.7 选择是否继续求素数图2.8 动态删除合数保留素数图2.9 选择是否求平均值图2.10 将素数平均值以红色字输出到屏幕第3章 课程设计总结这次的微机原理课程设计,求100以内的素数,在数学的学习中,我们会经常接触到素数这个概念。素数又称质数。指在一个大于1的自然数中,除

15、了1和此整数自身外,不能被其他自然数(不包括0)整除的数。因为合数是由若干个质数相乘而得来的,所以,没有质数就没有合数,由此可见素数在数论中有着很重要的地位。比1大但不是素数的数称为合数。1和0既非素数也非合数。这个学期我们刚好学了微机原理与接口技术这门课,并且初步的了解了汇编语言知识,并且可以编写简单的代码。因此,我们可以运用汇编语言来编写程序,求取100以内的素数,动态的删除合数,并且以红色的字输出素数的平均值。起初以为这个课题比较简单,通过查书和资料可以很快做出来,结果开始做却发现不是那么回事,发现了很多的问题。首先,课本上的知识还远远不够,需要我借鉴别人的程序来提升自己对汇编语言的认识

16、以及了解,并且很多复杂难懂的程序还无法读懂。其次,在编写的过程中,总会有各种各样的问题出现,即使一个小小的标点符号错误也无法将程序运行出来,这就需要我们的耐心仔细去慢慢的调试并且发现错误在哪里。第三,我们对于汇编语言的认识还远远不够,一学期的简单学习,应用于编程还很吃力,dos调用、bios调用我们接触的非常非常少。总之,费了九牛二虎之力,总算是解决这次的课程设计。这次课程设计给我带来的收获很多。第一,它让我更进一步的了解了汇编语言,并用其来做一些实践性的东西。第二,我在编写和调试程序的时候,也锻炼了我的耐心和细心。第三,这次课程设计也锻炼了我查阅资料的能力。参考文献1 彭虎,周佩玲,傅忠谦.微机原理与接口技术(第2版). 北京:电子工业出版社,2010年2 李敬兆.8086/8088和arm核汇编语言程序设计.合肥:中国科技大学出版社.2000年3 沈美明,温冬婵.IBMPC汇编语言程序设计(第二版).北京:清华大学出版社出版.2003年4 沈美明,温冬婵,张赤红.IBMPC 汇编语言程序设计实验教程.北京:清华大学出版社出版.2003年 5 杨立.微机原理与接口技术. 天津:天津大学出版社,2010年

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1