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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

微机原理课程设计报告文档格式.docx

1、八系统模块详细设计与调试 5一)系统模块详细设计 51、设置屏幕显示方式 52、显示主菜单 63、从键盘接收一个数字 64、接收键入用于计算的数 65、显示结果 66、子程序A2 67、A3程序段 7二)程序编译、运行与调试 7九运行结果 71.进入系统 82.加法运算 83.减法运算 94.乘法运算 95.除法运算 106.退出系统 10十设计总结 10十一参考文献 11十二附件材料 11一设计题目简易计算器二主要内容编制一个程序,利用BIOS和DOS的中断来设计一个计算器,要求在屏幕上显示一个主菜单,提示用户输入相应的数字键,分别执行加、减、乘、除四种计算功能和结束程序的功能。利用BIOS

2、中断的10号功能调用来设置显示方式。利用DOS中断的01号和02号子功能来完成键盘接收,结果显示。三具体要求编写一个程序,能从键盘上读入数据,并完成加、减、乘、除的计算。四进度安排周一周二周三周四周五讲课设内容,安排任务查资料,确定硬件电路方案编程调试写总结报告五成绩评定考核方法:现场验收(占50%),课程设计报告(占50%)。考核内容:学习态度(出勤情况,平时表现等)、方案合理性、程序编制质量、演示效果、设计报告质量。成绩评定:优,良,中,及格,不及格。特别说明:如发现抄袭,按照不及格处理。六总体方案利用DOS中断的01号、02号子功能来完成键盘接受、结果显示。设置屏幕显示方式。MOV AH

3、,00HMOV AL,NUM (NUM为显示方式属性字)INT 10H接着从键盘上接受键值,并判别后转到相应的子模块进行运算,并显示结果。MOV AH,01HINT 21H ;AL=键入字符的ASCII码从键盘上接收一串字符串命令:MOV AH,0AHMOV DX,OFFSET BUF ;BUF为数据段中定义的数据缓冲区INT 21H显示单个字符命令:MOV AH,02H显示一串字符串的命令:MOV AH,09HBUF为被显示字符串的首地址十进制数显示过程:将十进制数送到BX中,BX除以1000,余数送BX中,商在AL中,范围为09,显示AL中的内容。BX除以100,余数送BX中,商在AL中,

4、显示AL中的内容,依次类推,直到分出个位数字。如最高位为0,则不应显示,而非最高位的0则显示。可利用设标志位并结合商的方法来决定是否显示0。七原理框图a)主程序 b)计算子程序八系统模块详细设计与调试一)系统模块详细设计1、设置屏幕显示方式:MOV AH,00H MOV AL,2通过调用BOIS的OOH号功能来设置屏幕显示方式。此处AL=2,即设置屏幕显示方式为80*25黑白文本。2、显示主菜单:MOV AH,09H MOV DX,OFFSET TOP先在数据段中定义主菜单中要显示的字符串,再通过调用DOS系统的09H号功能显示字符串(串尾字符为,但不显示)来完成。3、从键盘接收一个数字:MO

5、V AH,01H 通过调用DOS系统的01H号功能键入字符并回车来实现,其出口参数为键入字符的ASCII码,存在AL中。4、接收键入用于计算的数:MOV AH,0AH MOV DX,OFFSET BUF1通过调用DOS系统的0AH号功能键入字符串至内存缓冲区来实现,其入口参数如下:DS:DX=存放键入字符串的缓冲区的首地址;(DS:DX)=用户规定的缓冲区;DX+1)=实际键入的字符数;从(DS:DX+2)开始放键入的字符串。因此,在下面的程序中运用所键入的数字时要注意字符串的首地址。5、显示结果:MOV DX,OFFSET BUF3将结果存入数据段中定义的缓冲区BUF3中,再通过调用DOS系

6、统的09H号功能显示字符串(串尾字符为,但不显示)来完成。6、子程序A2将数的ASCII码转为二进制数:A2 PROC NEAR MOV CL,BUF1+1 ; 把BUF1+1中的实际键入的字符数放入CL MOV CH,0 ; CH清零 MOV BX,OFFSET BUF1+2 ; 把第一个数字的地址放在BX PUSH BX ; 保护BX PUSH CX ; 保护CXL1: MOV AL,BX AND AL,0FH ; 把ASCII码转换为十进制 MOV BX,AL ; 存放十进制 INC BX ; 下一个数字的地址 LOOP L1 POP CX ; 恢复CX POP BX ; 恢复BX MO

7、V AX,0 ; 将累加和赋零 MOV SI,10L2: MUL SI ADD AL,BX ADC AH,0 INC BX LOOP L2 ; 累加乘10L3: RET A2 ENDP入口:十进制数的ASCII在BUF1内;出口:转换后的二进制数在AX内。算法:先将其转换为十进制,再用累加和乘10加X的方法变为二进制,如将163转换为二进制数,可先将累加和赋0,再计算(0*10+1)*10+6)*10+3)结果为二进制数。7、将计算结果的二进制数转换为对应的十进制数ASCII码并输出显示(A3程序段):该模块的程序设计详见附件材料程序清单及说明中A3、BB程序段二进制数在AX内;转换后的ASC

8、II码在BUF内。AX内的数范围在+32767到-32768之间,先检查AX符号位,决定输出+还是-,若为负,先求补码得到原码后可与正数统一处理。方法:把将被转换的二进制数先除以10000,商为万位数,再将余数除以1000,商为千位数,以此类推,求出百十位数,剩下的为个位数。最后各个数加上30H,即为对应字符。二)程序编译、运行与调试在DOS环境下,键入EDIT。启动全屏幕编辑软件EDIT,输入源程序。输入完毕,按alt+F选择SAVE保存程序(规定扩展名为*.ASM),按alt+X退出EDIT状态。退出EDIT环境后,输入ASM或MASM 文件名(省略扩展名,系统默认为.ASM),对源程序进

9、行汇编。源程序经汇编后产生三个输出文件:第一个是OBJ文件,即二进制目标文件,这是汇编的主要目的;第二个是LST文件,即列表文件;第三个是CRF文件,对于一般的程序可以不建立后两个文件。汇编时,计算机会询问汇编后生成的OBJ文件名、LST文件名和CRF文件名,问句的右侧是示范回答,如果不想生成LST文件和CRF文件,则按回车键回答。汇编过程中,如果源程序中有语法错误,则汇编过程结束后,汇编程序会指出源程序中的错误,这时,可以再用编辑程序来修改源程序中的错误,最后,得到没有语法错误的OBJ文件。汇编程序产生的二进制目标文件不是可执行文件,还必须用连接程序(LINK)把OBJ文件转换成可执行的EX

10、E文件。LINK程序有两个输入文件OBJ和LIB,两个输出文件EXE和MAP。连接时,输入LINK 文件名,对汇编生成的*.OBJ文件进行连接,计算时会询问生成的EXE文件名、MAP文件名以及参与连接的库文件名,如果不想生成MAP文件,没有库文件参与连接,则按回车键作答。最后,生成相应的*.EXE文件。从LINK过程的提示信息中,可看到最后给出了一个“无堆栈段”的警告性错误,这并不影响程序的执行。至此,产生了一个EXE文件,在DOS环境下可以直接运行该文件。在程序得到正确的结果之前,会产生一些错误,只有经过调试阶段才能纠正程序中的错误,从而的到正确的结果。在程序编译过程中会提示语法错误,可再用

11、编辑程序来修改源程序中的错误。当没有语法错误而得不到正确结果时,可用调试程序DEBUG来调试。它通过单步、设置断点等方式为汇编语言程序员提供了非常有效的调试手段。九运行结果1.进入系统2.加法运算3.减法运算4.乘法运算5.除法运算6.退出系统十设计总结此次课程设计,我根据以往的一些经验教训,一步一步进行设计制作,首先根据题目及设计要求,去图书馆或上网搜集相关资料。接着根据资料设计合适的方案,调试。最终在努力下成功完成了这次设计任务。这次课程设计不仅锻炼了我最基本的微机原理方面的设计能力,更重要的是让我更深刻的认识了微机原理这门课程在实际中的应用,检验了我的学习情况,加深了对书本中理论知识的认

12、识,也更有利于我们对这门课程的理解。在此次设计时我们也遇到了不少的困难和问题,如ASCII码的二进制转换但在共同努力下,最终还是克服了这些困难,使问题得到了解决。其中遇到的问题很多都是在书上不能找到的,需要自身的一次次实践。也正是在这个过程中,使我初步学会了如何解决实际问题。本次的课程设计要感谢老师在课程设计过程中给予的指导和宿舍的同学的帮助,这是我们团结协作一起努力的结果,这次的课程设计后,我们会将这次过程中锻炼的出的动手能力和理解能力运用到以后的学习中,使以后的学习更上一层楼。十一参考文献微机原理实验与课程设计指导书,陆红伟编,中国电力出版社,2006年8086微型计算机组成、原理及接口,

13、顾滨,机械工业出版社,2001年微型计算机原理及应用,吕淑萍等,哈尔滨工程大学出版社,2004年微型计算机技术及应用,戴梅萼,清华大学出版社,2005年微机原理及应用,徐晨等编,高等教育出版社,2004年微机原理、汇编与接口技术实验教程,朱定华编,清华大学出版社,2007年十二附件材料程序清单及说明:DATA SEGMENT N=15TOP DB 5 DUP(0AH) DB N DUP( ), Please input a number to choose the arithmetic operation, 0DH,0AH DB N DUP( DB N DUP(1add 2subtract 3multiply4divide qreturn to DOS Choice (1.2.3.4.q):$MESG1 DB 0DH,0AH,Please press number 1.2.3.4.q !MESG2 DB 0DH,0AH,Please input the first number :MESG3 DB 0DH,0AH,Please input the second number :MESG4 DB 0DH,0AH,Play Add :$

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

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