版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、万方科技学院微机原理与接口技术课程设 计院 系:万方科技学院专 业:通信工程年级班级:07通信2班I 1 学 号:目录一、课程设计名标2 1 - ;f«二、课程设计任务2二、总设设计期案2四、部分程序设计及功能解说24.1扫描键盘输入 242BCD码转换 34-3显示部分3五、程序设计流程图 4Xj r-_ _j六、程序段功能汇总561、 MAIN程序 562、DSPBCD PRO子程序 663、 DSPD PRO子程序 664、 DSPT PRO子程序 6七、 程序设计流程图6八、课程设计总结和体会 7九、参考文献8十、附录9.课程设计目的用汇编语言独立完成一个程序题,以达到熟练运
2、用汇编语言编程实现有比较完整功能的程序的目的。(1)学习分支、中断、和逻辑表达。(2熟悉汇编语言程序的编译、链接过程。二. 课程设计任务设计一个显示日期或时间的汇编程序间且满足以下要求:基本功能:运行可执行程序systime.exe,在出现的提示信息中输入大写字母“ D” ,可显示系统当前日期;输入大写字母“ T” ,可显示系统当前时间;输入大写字母“ Q',可结束程序。三、总体设计方案通过调用bios 16H中断的1号功能,读取键盘的状态扫描键盘输入,根据键盘输入的相关内容,如:若输入D,则设计程序代码依次读取系统日期年、月、日,并转换成BCD码调用10号中断予以显示;若在键盘输入T
3、,则设计程序代码依次读取系统时间时、分、秒,并转换成BCD码并调用10号中断予以显示;若输入大写字母Q,则退出当前状态;若不是相关字符,则不于任何响应,并不显示任何信息。四、部分程序设计及功能解说1、扫描键盘输入用SCANK:扫描键盘输入,根据键盘输入调用 bios 16H中断的1号功能,读取键盘的状 态,根据输入的字母,与字母“D"进行比较,若值为1则去执行CHKT并响应按键D扫描键盘输入部分程序如下:XOR AX,AXINT 16H;调用bios 16H中断的1号功能,读取键盘的状态.CMP AL,'D'I r - JNE CHKT如果输入的是字母“ D”则跳转执
4、行CHKT子程序CALL DSPDtj向应按键'D'JMP SCANK2、BCD码转换将读取的二进制代码循环右移4位,相当于将二进制转换成16进制;将AX寄存器内容与3 0 3 0进行或运算,把AH单元传递于CH寄存器;程序代码如下:ROR AX,CLSHR AH,CLOR AX,3030HMOV CH,AH3、显示部分调用10号中断的0E功能显示AL寄存器的内容,即BCD码将显示在屏幕上。注意:BL=前景色;人1=字符。BCD码显示代码如下所示:MOV AH,0EHINT 10H;调用10号中断的0E功能显示MOV AL,CHINT 10H五、程序设计流程图D、T、Q?*读取
5、系统时间输入“D”输入“T”结 束扫描键盘输入输入字母1r1 F转换为BCD码显退出当前文转换为BCD码显读取系统时间输 入Q六. 程序段功能汇总1、MAIN程序用SCANK:扫描键盘输入,根据键盘输入调用 bios 16H中断的1号功能,读取键盘的状态,根据输入的字母,与字母“D"进行比较疑惑,若异或值为1则去执行CHKT并响应按键D。其他如输入“ T”和“ Q”时同理。2、DSPBCD PROC程序即日期时间显示程序,以日期显示程序为例,通过读取系统的日期项如“年”,由于读取的日期项是二进制代码,所以调用 DSPBCJD把读取的系统日期项存为 BCD码,然后将其显示出来,然后再循
6、环以同样方法读取月,日。3、DSPD PRO子程序本子程序是当键盘输入字母“ D”时所调用执行的子程序;首先定义堆栈寄存器,按循环要求读取系统日期项,由于读取的日期项是二进制代码,因此需调用DSPBCD PROC子程序转换为BCD码并予以显示;执行完DSPBCD PROC程序后调用10号中断显示一 个分隔符,完成一个日期项的显示,然后再循环去读取其他日期项;最后返回主程序执行主程序。4、DSPT PRO子程序本子程序是当键盘输入字母“ T”时所调用执行的子程序;首先定义堆栈寄存器,按循环要求读取系统时间项,由于读取的日期项是二进制代码,因此需调用DSPBCD PROC子程序转换为BCD码并予以
7、显示;执行完DSPBCD PROC程序后调用10号中断显示一-个分隔符,完成一个日期项的显示,然后再循环去读取其他日期项;最后返回主程序执行主程序。其执行过程与执行 DSPD PRO子程序相似。七试验结果及分析1、实验结果双击systime.exe,程序初始运行界面:如果按错了键,会出现如下界面,没任何反应,也不显示任何信息:如果输入正确如“ D”将出现如下界面(每输入一次就显示一次系统日期):如果输入正确如“ T”将出现如下界面(每输入一次就显示一次系统时间):如果输入“Q',则退出以上界面。2、实验结果分析:通过以上的结果显示可以看出结果成功完成本次课程设计的目的和任务,本次课程设
8、计严格按照课程设计任务的要求:运行可执行程序 systime.exe,在出现的提示信息中输入大 写字母“D” ,可显示系统当前日期;输入大写字母“ T” ,可显示系统当前时间;输入大写字 母“Q',可结束程序;若不是相关字符,则不于任何响应,并不显示任何信息。但还有缺 陷的是不能实时刷新时间,由于这点在课程设计任务中没有相关要求,因此这次课程设计可 以认为是成功的。八.课程设计总结和体会1. 在完成课程设计过程中,我认识到平时基础知识的重要性,只有能够熟练的掌握才能在实验过程中得心应手,否则一步错则整个试验都会陷入困境,因而,严谨的态度是试验成功的重要保障!2. 通过这次课程设计,我们
9、对各个函数以及语句有了进一步的了解,对各个语句的功 能有了更深刻的认识和体会,平时上课的理论知识只是停留在理论的层面, 只有通过了这样 的试验才能更好的体会到,做到了理论和实际的相结合,使理论知识真正运用到了实践中去。在团体在此表示在课程设计过程中,同组人员之间相互合作,共同研究使我更加坚信了团体的力量 的共同协作和努力下,任何的难题都可以被解决!3. 在本次课程设计过程中,李宝平老师以及相关同学给予我相当大的支持和帮助, 诚挚的感谢!九参考文献1、微型计算机原理与接口技术中国矿业大学出版社李长青2、汇编语言程序设计科学出版社卢中华等3、微型计算机汇编语言程序设计电子科学技术出版社龙尚福4、微
10、机原理与汇编语言实用教程清华大学出版社王富荣5、.微机原理与接口技术课程设计中南大学出版社王南兰1 I 16、微机原理及应用西南交通大学出版社冃、R晏寄人7、«32位微机原理与接口技术化学工业出版社马兴录&微机原理与接口技术电子科技大学出版社倪继烈9、微处理器与微型计算机清华大学出版社李三立10、微机原理与接口实验指导国防工业出版社.1附录黄海萍 I'主编主编主编主编主编主编主编主编主编主编程序清单STACK SEGMENT STACK定义堆栈段STACKH DB 20H DUPSTSIZE EQU $-STACKHSTACK ENDSCODE SEGMENTASSU
11、ME CS:CODE,SS:STACK;,DS:DATASTART:;程序执行的起始地址MOV AX,STACKf栈段经AX寄存器转移到SS寄存器MOV SS,AXMOV SP,STSIZESCANK:扫描键盘输入XOR AX,AXINT 16H;调用bios 16H中断的1号功能,读取键盘的状态.CMP AL,'D' ; AL=D ?JNE CHKT如果不相等跳转到子程序CHKTCALL DSPD响向应按键 DJMP SCANKCHKT:CMP AL,'T'与字母“T”进行比较JNE CHKQ如果不相等跳转到子程序CHKQ执行CALL DSPT;卩向应按键TJ
12、MP SCANK 跳转到 SCANKCHKQ:;可以添加代码以响应其他按键;否则,它们将被忽略CMP AL,QJE EXIT;响应按键QJMP SCANK跳转执行到子程序SCANK i ii IEXIT:MOV AX,4C00H退出当前系统INT 21H;功能:显示一个压缩BCD码;入口: BH=M号;BL=前景色;AL=压缩BCD码I1DSPBCD PROCPUSH AXPUSH CXMOV CL,4;串长度为4MOV AH,0;把读取的二进位数转为BCD码IROR AX,CLSHR AH,CLOR AX,3030HMOV CH,AH;显示BCD码MOV AH,0EHINT 10H ;调用1
13、0号中断的0E功能显示MOV AL,CHINT 10HPOP CX退出当前堆栈段POP AXRETDSPBCD ENDP;功能:显示系统日期;入口: BH=M号,BL=t景色;DSPD直接传给DSPBCDDSPD PROCPUSH AX定义堆栈段地址PUSH CXMOV AL,9MOV CX,3;定义循环次数3次GETD:;子程序定义I J I IPUSH AX;:、i, :/ '读取系统日期项OUT 70H,ALIN AL,71HCALL DSPBCD显示一个日期项口:年MOV AX,0E2EH ;'.'的 ASCII 码为 2EINT 10H ;显示一个分隔符'.'POP AXDEC ALLOOP GETD继续循环GETDPOP CXPOP AXX J|RETDSPD ENDP;功能:显示系统时间;入口: BH=M号,BL=t景色;DSPT直接传给DSPBCDDSPT PROCPUSH AXPUSH CXMOV AL,04H;定义串长度MOV CX,3;定义循环次数3次,分别读取时、分、秒GETT:;子程序 GETTP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年中共西双版纳州委宣传部公开招聘编外聘用人员备考题库及1套参考答案详解
- 2026年电信设备技术支持面试题及答案参考
- 2026年医院管理副经理面试问题集
- 2026年建筑工程师资格考核含答案
- 2026年金融风险管理工程师面试题详解
- 2026年交通运输局招考面试题及答案
- 2026年零售业销售总监招聘面试题集
- 《EJT 20178.2-2018核行业安全生产标准化考核评级规范 第2部分:铀矿采冶》专题研究报告
- 2026年远洋海运轮机长轮机员考试题库与答案
- 2026年咨询公司市场顾问岗位答案与解析
- 昆山钞票纸业有限公司2026年度招聘备考题库附答案详解
- 2025年巴楚县辅警招聘考试备考题库附答案
- GB/T 46793.1-2025突发事件应急预案编制导则第1部分:通则
- 老人再婚协议书
- 2025年九江理工职业学院单招职业适应性测试模拟测试卷附答案解析
- 广东省深圳市盐田高级中学2025-2026学年高三上学期12月末测试数学试题(含答案)
- 2025辽宁沈阳盛京资产管理集团有限公司所属子公司沈阳华海锟泰投资有限公司所属子公司招聘5人考试参考题库附答案
- 22为中华之崛起而读书 教学课件
- 2026年安全员之C证(专职安全员)考试题库500道附完整答案【网校专用】
- 2025山东劳动职业技术学院(山东劳动技师学院)招聘8人备考考试试题及答案解析
- 2020年云南省中考英语试卷真题及答案详解(含作文范文)
评论
0/150
提交评论