微机原理课设_加法练习程序

上传人:yh****1 文档编号:125940658 上传时间:2020-03-21 格式:DOC 页数:17 大小:266.50KB
返回 下载 相关 举报
微机原理课设_加法练习程序_第1页
第1页 / 共17页
微机原理课设_加法练习程序_第2页
第2页 / 共17页
微机原理课设_加法练习程序_第3页
第3页 / 共17页
微机原理课设_加法练习程序_第4页
第4页 / 共17页
微机原理课设_加法练习程序_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《微机原理课设_加法练习程序》由会员分享,可在线阅读,更多相关《微机原理课设_加法练习程序(17页珍藏版)》请在金锄头文库上搜索。

1、 .课 程 设 计课程设计名称: 微机应用系统课程设计 专 业 班 级 : 计科1204班 学 生 姓 名 : 张婷婷 学 号 : 201216010433 指 导 教 师 : 王 锋 课程设计时间: 2014.12.22-2015.1.3 计算机科学与技术 专业课程设计任务书学生姓名张婷婷专业班级计科1204班学号201216010433题 目加法练习程序设计课题性质A.工程设计课题来源自拟课题指导教师王 锋同组姓名无主要内容随机给出百位数以内的加法算式,并提示输入答案,若正确给出正确提示,若错误给出错误提示,并提示输入答案;按 R 键继续下一题,按 Q 键返回 DOS.任务要求一切以设计内

2、容为前提进行课程设计实验:1.设计一个菜单,选项为加法和减法的练习。2.以获取系统中的秒和百分秒作为两个随机数进行加减运算。3.将输入的答案和运行结果比较,若相等给出正确提示,若错误给出错误提示,并继续输入答案直到正确为止。4.提示是否继续下一题,按R键继续下一题,按Q键返回 DOS。参考文献1.16/32位微机原理、汇编语言及接口技术(第2版)-(北京电子工业出版社 2003)钱晓捷,陈涛 编著2.32位微型计算机原理与接口技术-(北京清华大学出版社 2000)仇玉章等 编著审查意见指导教师签字:教研室主任签字: 2015年 1 月 10日 一 课程设计实验的目的 课程设计的目的在于更好的锻

3、炼我们的实践能力和考验平时学习的成果。我们是计算机专业,离不开编写代码。平时上课所学的知识来自于课本,上机实验相对比较少,所能锻炼的操作能力机会不多。而课程设计是让我们综合平时课本和实验的知识及经验,自己设计和构造,编写一个相对完整的程序。这不仅仅是对以前知识的巩固,更是锻炼我们的思维,我们的设计与编写程序的能力。对于我们以后将会从事的计算机类工作,这能很好的为我们打下坚实的基础,所谓积少成多,每学期都做课程设计,到毕业时我们对于编写一个应用软件或许就能较容易驾驭了。本次微机应用系统课程设计我的题目是加法练习程序设计,虽然只要求加法运算,但我在该程序里添加了减法运算,使得程序相对不会太单调。虽

4、然给的编程题目可能会与别人一样,但每个人的想法不一样,在设计时添加自己的想法或许就能使程序更加完善了,这也是课程设计对我们的一种锻炼。二 实验设计的任务与要求 加法练习设计程序的内容是:随机给出百位数以内的加法算式,并提示输入答案,若正确给出正确提示,若错误给出错误提示,并提示输入答案;按 R 键继续下一题,按 Q 键返回 DOS。按照内容要求,在所学知识内容的基础上设计程序,具体的内容设计要求任务如下:1.设计一个菜单,选项为加法和减法的练习。2.以获取系统中的秒和百分秒作为两个随机数进行加减运算。3.将输入的答案和运行结果比较,若相等给出正确提示,若错误给出错误提示,并继续输入答案直到正确

5、为止。4.提示是否继续下一题,按R键继续下一题,按Q键返回 DOS。这次课程设计是在完成设计要求的基础上,添加了减法练习运算,以仔细、认真、规范的态度完成自己课程设计。三 实验设计的思想加法练习程序设计,主要工作是产生两个两位数的随机数进行加运算,而怎么产生随机数是该程序的难点。在搜集了一些资料后发现很多程序用的随机数是伪随机,是一个比较复杂算法,而不使用算法获得随机数的方法就是获取系统的时间。在翻阅课本后得知mov ah,2ch int 21h语句可以得到系统时间,在考虑后认为秒和百分秒比较适合,因为在短时间内这两个时间变化的多一些,比较适合用于随机数。Dh所存的数对应的是秒,Dl所存的数对

6、应的是百分秒。加法直接将两个随机数相加即可,但减法就相对麻烦些,因为会出现第一个随机数比第二个随机数小得到结果为负数。为了解决这一问题,在数据段定义了两个变量,用来存放减数和被减数。在获取随机数时先不显示运算式,先将随机数的值给变量num1和变量mum2,如果相减结果小于0则转回去继续取随机数,直到取得随机数相减记过大于0,则显示运算式继续后面的程序运行。相对较难的部分解决后则是将整个程序流程串起来,先是显示选择加或减运算,产生的随机数并显示相应的运算式;再是输入结果,对结果进行判断给出对或错的提示,错误时提示继续输入结果,对则继续下一步;最后选择是否继续下一题,R返回最初加减运算选择,Q则退

7、出。四 实验环境 4.1运行环境(1)软件环境 操作系统:Windows 7(2)硬件环境 处理器:Inter Core i5 内存:4.00GB 硬盘空间:500GB4.2开发工具与编程语言 (1)开发工具:Masm for Windows集成实验环境 V2012 (2)编程语言:汇编五 实验方案 先是设计了一个菜单,用于选择进行加法运算还是减法运算,菜单显示来自数据段的字符串。选择后变转到jiafa或jianfa程序段中,调用产生随机数的random1(秒)和random2(百分秒)程序段中并显示运算式。将输入的答案通过show程序段将其转换成ASCII码显示出来,再由get程序段将输入的

8、答案转换成对应的数,最后转换成数的答案与计算机运算结果比较,如果相减为0则对,提示correct,否则输入的答案是错的,提示error并让其继续输入答案直到正确为止。在答案正确后,提示“Continue(R) or Exit(Q)?”是否继续下一题,按R继续下一题,按Q则返回DOS。开始六 实验流程图显示菜单选择加法练习算式减法练习算式输入结果判断结果对错?否是继续下一题?是 否退出七 实验源代码DATAS SEGMENT msg db *,0dh,0ah,$addp db * 1. Addition to practice *: ,0dh,0ah,$subp db * 2. Subtract

9、ion to practice *: ,0dh,0ah,$sele db Input your chioce: ,$corr db 20h,20h,Correct!,0dh,0ah,$erro db 20h,20h,Error!,0dh,0ah,$rorq db Continue(R) or Exit(Q)?,0dh,0ah,$exit db 0dh,0ah, Press any key to quit.,0dh,0ah,$sum dw 0 num1 dw 0 num2 dw 0DATAS ENDSSTACKS SEGMENTSTACKS ENDSCODES SEGMENT ASSUME CS

10、:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AXagain: mov dx,offset msgmov ah,09hint 21hmov dx,offset addpmov ah,09hint 21h mov dx,offset subpmov ah,09hint 21h mov dx,offset msgmov ah,09hint 21hselect:call huanmov dx,offset selemov ah,09hint 21hmov ah,1int 21hcmp al,31hjz jiafa cmp al,32hcall

11、 huanjz jianfa gono: mov dx,offset rorqmov ah,09hint 21hkey:mov ah,1int 21hcmp al,72hjz selectcmp al,71hjnz keycall huanmov dx,offset exitmov ah,09hint 21hmov ah,4chint 21hjiafa:call huancall random1mov sum,axcall showmov dl,+mov ah,2int 21hcall random2add sum,axcall showjmp nextjianfa:call random1m

12、ov sum,axmov num1,axcall random2sbb sum,axmov num2,axcmp sum,0jl jianfamov ax,num1call showmov dl,-mov ah,2int 21hmov ax,num2call showjmp nextnext:mov dl,=mov ah,2int 21hcall inputcmp bp,sumjz donemov dx,offset erromov ah,09hint 21hjmp nextdone:mov dx,offset corrmov ah,9int 21hjmp gonorandom1:mov ah

13、,2chint 21hmov al,dhmov ah,0retrandom2:mov ah,2chint 21hmov al,dlmov ah,0retshow:mov ax,axaam or ax,3030h xchg ah,almov dx,axmov ah,2int 21hmov dl,dhint 21hretinput:mov bp,0mov cx,3get: mov ah,0int 16hcmp al,0dhjz okcmp al,0jb getcmp al,9ja getmov ah,0eh int 10hand ax,0fhxchg bp,axmov bx,10mul bxadd bp,axloop getok:cmp cx,3rethuan: mov dl,0dh mov ah,2int 21hmov dl,0ahmov ah,2int 21hret MOV AH,4CHINT 21HCODES ENDS END START八 实验结果图1 菜单图

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 设计及方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号