汇编大作业(四则运算器含代码).doc

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编大作业(四则运算器含代码)

汇 编 程 序 大 作 业 云南大学软件学院实验报告 姓名 年级 班级 学号 专业 序号 实验 名称 实验八 汇编程序综合设计实验(四则运算器) 成绩 指导教师 (签名): 实验内容: 1.设计一个功能完善的四则运算器: ①程序有友好的运行界面; ②可以方便的输入输出2,10,16进制数据(要求可以处理4位的数据); ③可以方便的对数据进行四则运算; ④要求程序能够处理基本的错误信息; ⑤程序要求菜单控制; ⑥其他 程序简介: 该程序采用了主程序、子程序、宏相结合的编写方式,通过主程序调用了加、减、乘、除的子程序,在这四个子程序中有分别调用了二、十、十六进制输入输出、进制间转化的子程序。在数值转化为ASCII码的部分,定义了宏进行调整输出。 程序实现了16位的二进制、4位的十进制、4位的十六进制的加、减、乘、除运算,并可以通过用户的选择将其转化为其他相应的进制。其中乘法运算的进制转化功能尚不完善,当运算结果超过4位时不能正确的将结果进行输出并进行进制转化。 子过程: addition:加法部分 subtraction:减法部分 multiplication:乘法部分 division:除法部分 b_in:二进制输入 hd_in:十六进制、十进制输入 b_out:二进制输出 btod:二进制转化十进制并输出 both:二进制转化十六进制并输出 宏: btth:将数值转化为ASCII码保存 算法说明: 二进制计算时,要求输入0和1,从高到低为输入,将先输进的数*2+后输入的数,保存到寄存器中,如 1011则按((1*2+0)*2+1)*2+1 十进制计算时,要求输入0-9的整数,从高到低输入,将先输进的数*10+后输进的数,保存到寄存器中,如9817 则按((9*10+8)*10+1)*10+7 十进制计算时,要求输入0-F的整数,从高到低输入,将先输进的数*10H+后输进的数,保存到寄存器中,如AD17 则按((A*10H+D)*10H+1)*10H+7 通过add、sub、mul、div等汇编指令进行计算。 二进制输出,从高位到低位按位依次保存到dl中,加30h后输出 十进制输出,将结果分别除以10000、(上一步余数除)1000、(上一步余数除)100、(上一步余数除)10将商分别加30h后输出,将最后的余数加上30h后输出 十六进制输出,从高到低每四位依次输出与9比较,大于9加37h调整,小于9加30h调整 程序流程及实验结果: 主程序部分: 提示用户进行运算符号的选择,并进行子程序部分的调用 四则运算部分流程: 四则运算的加、减、乘、除四部分子程序的流程大致相同,此处采用同一个流程图表示,该部分提示用户进行进制选择,跳转的相应位置并进行相应的运算,调用输入输出子程序,对结果进行进制转化 二进制输入流程: 该部分进行二进制数的输入,通过移位将先输入的数保存到高位,后输入的数保存到低位,将最终结果保存到bx中 二进制输出: 该部分将运算结果以2进制的形式输出,通过加30h将数值转化为ASCII码输出 十、十六进制数的输入 该部分实现十及十六进制数的输入,将最终结果保存到bx中; 二进制转十进制并输出 该部分通过将得到的二进制数求商取余的方式将最高位的取到商中并输出; 二进制转十六进制: 该部分通过移位的方式将二进制数转化为16进制输出,其中判断了所输出值与9的大小关系,大于9则加37h调整,小于9则加30h调整 加法部分: 二进制加法,并将结果转化为10进制 二进制加法,并将结果转化为16进制: 十进制加法,并将结果转化为二进制: 十进制加法,并将结果转化为16进制: 十六进制加法,并将结果转化为二进制: 十六进制加法,并将结果转化为十进制 减法部分: 二进制减法,并将结果转化为十进制输出: 二进制减法并将结果转化为十六进制输出: 十进制减法,并将结果转化为二进制输出: 十进制减法,并将结果转化为十六进制输出: 十六进制减法,并将结果转化为二进制输出: 十六进制减法,并将结果转化为10进制输出: 乘法部分: 二进制乘法,并结果转化为10进制输出: 二进制乘法并将结果转化为16进制输出: 十进制乘法并将结果转化为二进制输出 十进制乘法,并将结果转化为16进制输出: 十六进制乘法,并将结果转化为二进制输出: 十六进制乘法,并将结果转化为十进制输出: 除法部分: 二进制除法,并将结果转化为十进制输出: 二进制除法,并将结果转化为16进制输出: 十进制除法,并将结果转化为二进制输出: 十进制除法,并将结果转化为16进制输出: 十六进制除法,并将结果转化为二进制输出: 十六进制除法,并将结果转化为10进制输出: 代码: d

文档评论(0)

wyjy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档