微机原理与汇编语言程序设计汇编实验报告.docVIP

微机原理与汇编语言程序设计汇编实验报告.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(此文档为word格式,下载后您可任意编辑修改!) 昆明学院课程设计(大作业) 姓 名:陈娟 院(系):信息技术 专 业:计算机应用技术 学 号: 任务起止日期:2014.6.23——2014.6.27 课程设计题目:简单计算器程序设计 课程设计要求: 在屏幕上显示一个窗口,将光标定位在窗口内 在窗口内输入一个表达式(单项运算) 程序根据表达式计算结果,并在表达式的后面显示一个“=”和运算结果 工作计划及安排: 第1次绘制程序流程图。 第2次用编写程序。 第3次用调试运行程序。 第4次编写课程设计说明书 指导教师签字 年 月 日 课程设计(大作业)成绩 学号: 姓名:陈娟 指导教师:周曦 课程设计题目:简单计算器程序设计 总结:经过一个星期的努力,这次课程设计终于成功完成了。我的心里是满满的喜悦,虽然在设计的过程中遇到了很多的困难,例如BIOS调用INT 16H子程序完成清屏、设置显示方式、设置窗口等操作,还有就是由于自己的粗心总是把程序中部分的单词打错,也给程序设计的编译运行带来麻烦,浪费了许多的时间与精力。另外就是程序的编写十分复杂,工作量很大,所以编写程序就变成了一项十分困难的事。但在不断的查阅资料,询问学长学姐逐渐做出这份课程设计的过程中,我觉得这些付出很值得,也对微机原理与汇编语言程序设计有了更深入的了解,。编写程序的时间里也顺便复习了在这一学期中所学的微机原理与汇编语言,为后一星期的期末考试做了一些复习。 通过本次课程设计我学到了不少新的东西,也发现了大量的问题,有些在设计过程中已经解决,有些还有待今后慢慢学习。总的来说,做完一个简单计算器程序设计的收获不仅仅是分数上的,对以后的学习方式方法很同学的学习合作也有了更深的看法。 指导教师评语: 成绩: 填表时间: 指导教师签名: 目录 1题目分析 5 2基本理论 5 3 总体设计 6 3.1 本程序的功能结构图 6 3.2字符输入及存储设计 8 3.3加、 减、乘、除法运算的判断设计 8 3.4加、 减、乘、除法运算的设计 9 4实验器材 10 5方法步骤 11 6成效分析 11 6.1运行界面分析 11 6.2调试过程及分析 13 7心得体会 14 8参考文献 14 9附录 14 课程设计(大作业)报告 题目分析 本次设计的简单计算器,主要是为了解决数学中的加、减、乘、除四则运算的问题。重点和难点主要包括以下几个方面: 利用BIOS调用中INT 16H调用中的子程序完成清屏、设置显示方式、设置窗口等操作。 利用INT 21H DOS系统功能调用中的键盘输入接收十进制操作数和运算符由程序完成字符转换为二进制数,并存储起来。 根据运算符完成运算,由程序在屏幕上显示运算结果。 十进制数转换为二进制数过程如下: 将BX清0. 从键盘接收一个按键的ASCII送AL中,并判断是否为0到9之间的字符,若不是转退出;否则将AL中内容减30H,转换为相应数字的二进制数,并扩展到AX中,然后将BX中内容乘以10后,再加上AX中的内容。 转(2)继续执行 因此程序退出后,BX中的内容即为所输入十进制数的二进制值。 例如:首先将BX清0后,先输入数字“5”,则(AL)=35H,属于0到9之间的数字,减30H后,(AL)=05H,扩展后,(AX)=0005H,BX乘以10后,加上AX中的内容,(BX)=0005H。 然后输入数字“8”,则(AL)=38H,属于0到9 之间的数字,减30H后,(AL)=38H,扩展后,(AX)=0008H,(BX)乘以10后,加上AX中的内容,(BX)=0037H,为十进制数“58”的二进制值。 十进制数显示过程如下(被显示的数据9999): (1)将被显示的内容送入BX中; (2)BX除以1000,余数送BX,商在AL中,范围为0~9; (3)显示AL中的内容; (4)(BX)除以100,余数送BX,商在AL中,范围为0~9; (5)显示AL中的内容。以此类推,直到分离出个位数字为止。 在这里有一个特殊问题需要讨论:例如“53”这个十进制数,除以1000除以100的商都为0,不应显示。为了能够实现高位的“0”不显示,程序中设置一个标志M,初始值都设置为1。若M=1且商为0,则这个0不现实;若M=1且商不为0,则说明这是第一个非0数字,开始显示,并将M设置为0;若M=0,则商值都显示。如果结果本身就是0,则个位的0显示。 基本理论 本次汇编语言课程设计的最终目的是要实现一个简单计算器,要求编写一个程序,每运行一次可执行程序,可以实现数的加减乘除四则运算。比如,十进制数的加减乘除四则运算。我们曾经学习过两个具体数字进行加减法运算,但是对

文档评论(0)

jhfengxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档