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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

微机原理课设.docx

1、微机原理课设河北科技大学课程设计报告 学生姓名 学号: 专业班级:电子信息工程3班 课程名称:微型计算机原理及应用技术 学年学期:2 0 14 2 0 15 学年第 1 学期 同组人员: 指导教师: 2014年12月课程设计成绩评定表学生姓名学 号成绩专业班级起止时间2014-12-1 至 2015-1-1设计题目加法练习程序 指导教师评语指导教师: 年 月 日目录一、设计目的-1二、设计任务与要求-1三、设计内容-2四、实施效果-11五、设计体会-11六、参考资料-12一、设计目的:1、掌握汇编语言,会利用汇编语言编写一定功能的程序;2、熟悉DOS环境以及在DOS下会调试编写好的汇编程序;3

2、、熟悉常用的DOS功能;4、小组合作完成设计题目。二、设计任务与要求:1、设计加法练习程序演示程序。2、程序设计基本要求: 1)菜单内容包括:随机输入两个百位数内相加;输入结果能判断显示结果是否正确;退出。 2)两个加数显示按照课程设计要求,两个加数是自由输入的,随机的。 3)结果显示当输入两个加数的和时:正确输入提示正确,按R进行下一题;错误输入提示错误,并输出正确,按R进行下一题。4)按Q退出程序。3、完成软件的技术要求。4、程序设计的流程图。5、你自己对小组完成设计题目所做的贡献。在课程设计中我负责输入随机数字显示这部分程序的编写三、设计内容:1、使用的DOS功能:1) 显示字符串MOV

3、 AH,09H INT 21H ;入口参数DS:DX=缓冲区2) 键盘输入一个字符MOV AH,01H INT 21H ; AL=输入的字符3)终止当前程序并返回调用程序MOV AH,4CH INT 21H ;AL=退出码4)输入字符串MOV AH,0AH INT 21H ;入口参数DS:DX=缓冲区2、使用的BIOS功能:1)设置光标位置,出口参数DH=当前字符行号、DL=当前字符列号、CH=光标起始栅线: MOV AX,03H;INT 10H2)MOV AL,0AH;在光标位置显示字符 INT 10H3)MOV AH,0;从键盘读字符 INT 16H3、使用工具和软件: 计算机和MASM汇

4、编软件 4、流程图:5、程序与分析:DATA SEGMENTSUM DB 20 DB 20 DUP(0)SUM1 DB 20;定义人为计算的空间 DB ? DB 20 DUP(?)SUM2 DB 20 DB 20 DUP(0);定义和的存储空间BUF DB YOU ARE TURE$BUF1 DB YOU ARE wrong$BUF2 DB tips:dang chulaiyige shuhou qing ansui yijan chu xiayige shu,good you luck$DATA ENDSSTACK SEGMENT DB 30 DUP(0) STACK ENDS;%堆栈定义空

5、间CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV DX,OFFSET BUF2;%buf2存于dx中 MOV AH,9 INT 21H;%调用九号功能;Prot1:MOV DI,OFFSET SUM CALL HUANHANG; CALL suixian;%调用子程序 MOV DL,+ MOV AH,2;%调用2好功能显示字符串 INT 21H MOV AH,8 INT 21H ;%可以利用键盘输入的空隙来改变随机数 AND AH,00H;%清

6、零 MOV AX,9999yanshi:ADC AX,1 ;%带进位相加 JNZ yanshi CALL suixian ;HUIXIANSHI TONGYANG DE SHU MOV DL,= MOV AH,2;%显示字符串 INT 21H MOV DX,OFFSET SUM1 ;开始接受键盘的字符 MOV AH,0AH%调用十号功能,将键盘输入的字符串写到内存缓冲区; INT 21H AND AH,00H;%清零 DEC DI;%减一 DEC DI;%减一 MOV AL,DI INC DI;%加一 ADD AL,DI ;%取加 DAA ;%加法调整 ADC AH,00H;%带进位相加 IN

7、C DI ;下一个单元 MOV DI,AL ;AL放的是低位 INC DI ;更高字节的数 MOV DI,AH ;结果存起来,用于比较高位放的是DI比较高的zijie CALL HUANHANG;%换行 MOV SI,OFFSET SUM1 ;开始比较 INC SI INC SI;%SI加2 MOV AL,DI ;最高位的DI CMP AL,01H; JNZ LIANGWEI;%两位 ADD AL,30H ;%变为ASCII MOV BL,SI ;首个放在SUM1+2中 DEC DI ;回到低位 CMP AL,BL JNZ KAISHI:%开始 INC SI LIANGWEI: %两位 DEC

8、 DI JMP XIA;%跳转A: JMP Prot1 XIA: MOV AL,DI MOV CL,4 SHR AL,CL ADD AL,30H;%高四位dl值转ascii MOV BL,SI ; CMP AL,BL JNZ KAISHI;%开始 INC SI MOV AL,DI AND AL,0FH;%取dl低四位 ADD AL,30H;%转ascii MOV BL,SI CMP AL,BL JNZ KAISHI;%开始 MOV DX,OFFSET BUF;%dx取buf MOV AH,9;%调用九号功能缓冲区字符串显示 INT 21H JIAN: MOV AH,8 ;调用键盘 INT 21

9、H CMP AL,Q JZ STOP1 CMP AL,q JZ STOP1 CMP AL,R JZ A CMP AL,r JZ A KAISHI:%开始 CALL HUANHANG ;换行显示错的 MOV DX,OFFSET BUF1 MOV AH,9 INT 21H POP DX CALL HUANHANG ;%换行 CALL JIEGUO ;%结果 JMP JIAN;键盘STOP1:JMP STOPsuixian PROC ;随机显示函数 CALL RAND ;开始调用随机数 MOV DI,BL ;随机数放到sum单元 MOV AL,BL INC DI ;%DI知道减一 MOV CL,4

10、SHR BL,CL ;显示随机数最高位 AND BL,0FH OR BL,30H PUSH AX MOV DL,BL MOV AH,2;%调用2号功能将dl里字符串显示出来 INT 21H POP AX AND AL,0FH ;%显示随机数最低位 OR AL,30H MOV DL,AL MOV AH,2 INT 21H RET suixian ENDP JIE GUO PROC ;%显示结果 INC DI ;显示高字节的数 MOV AH,DI;高字节的给AH CMP AH,01H;%与一比较 JNZ Prot2 MOV AH,DI ADD AH,30H MOV DL,AH MOV AH,2 I

11、NT 21H Prot2:%不等 DEC DI MOV BL,DI MOV AL,DI PUSH BX MOV CL,4 SHR AL,CL ADD AL,30H MOV DL,AL MOV AH,2 INT 21H POP BX AND BL,0FH ADD BL,30H MOV DL,BL MOV AH,2 INT 21H RET JIEGUO ENDP RAND PROC PUSH CX PUSH DX PUSH AX MOV AH,0 INT 1AH;%时钟入口当前值为0 MOV AX,DX ; AND AH,3 MOV DL,100 DIV DL MOV CL,8 SHR AX,CL

12、 MOV CH,10 DIV CH MOV CL,4 SHL AL,CL OR AH,AL MOV BL,AH ;组合BCD码已经产生,放在BL当中,AH改成了AL POP AX POP DX POP CX RETRAND ENDPHUANHANG PROC MOV DL,0DH MOV AH,2 ;换行输出 INT 21H MOV DL,0AH MOV AH,2 INT 21H RET HUANHANG ENDP STOP: MOV AH,4CH;%结束 INT 21H CODE ENDS END START四、实施效果(1)当程序运行时,随机两个数相加。(2)输入错误结果时显示界面。(3)

13、输入正确时显示界面。 (4)当按住R进行下一题的显示。(5)输入正确结果显示。(6)按Q退出时界面。五、设计体会通过对这程序的制作,使我对汇编语言的基本知识的使用更加熟练,同时也增加了我对汇编语言的一些认识,在作业完成过程中通过和同学的交流,也增加了合作的技巧。通过查阅资料也学到了一些课本上没有的东西,拓宽了自己的知识面,增加了学好汇编语言的信心。 在这次课程设计中,我真正体会到了合作的重要性,遇到很多问题时,当我看书查资料不能解决时,这是去找同学讨论一下,收获很大,可以使很多问题迎刃而解,直到问题最终解决。 不可否认,本程序存在不少缺点和不足,但通过这次课程设计的却找出了自己在学习上的不足,对以后的工作也有指导作用。我相信在以后的学习中会克服这些不足,达到熟练掌握汇编语言的目的。 这次课程设计受益非浅,学到了不少知识,同时也认识到自身的不足,需要加强自身训练,学以致用,学会自我总结,吸取教训,积累经验,在学习和实践中来不断的提升自己。 六、参考资料张雪兰、谭毓安、李元章:汇编语言程序设计从DOS到windows朱金钧、麻新旗:微型计算机原理及应用技术 机械工业出版社

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

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