微机原理课程设计-显示时间日期

微机原理课程设计-显示时间日期

ID:15422463

大小:161.00 KB

页数:9页

时间:2018-08-03

微机原理课程设计-显示时间日期_第1页
微机原理课程设计-显示时间日期_第2页
微机原理课程设计-显示时间日期_第3页
微机原理课程设计-显示时间日期_第4页
微机原理课程设计-显示时间日期_第5页
资源描述:

《微机原理课程设计-显示时间日期》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、微型计算机原理与课程设计课程设计一、-8-微型计算机原理与课程设计课程设计一、课程设计目的用汇编语言独立完成一个程序题,以达到熟练运用汇编语言编程实现有比较完整功能的程序的目的。(1)学习分支、中断、和逻辑表达。(2)熟悉汇编语言程序的编译、链接过程。二.课程设计任务设计一个显示日期或时间的汇编程序间且满足以下要求:基本功能:运行可执行程序systime.exe,在出现的提示信息中输入大写字母“D”,可显示系统当前日期;输入大写字母“T”,可显示系统当前时间;输入大写字母“Q”,可结束程序。三、总体设计方案通过调用bios16

2、H中断的1号功能,读取键盘的状态扫描键盘输入,根据键盘输入的相关内容,如:若输入D,则设计程序代码依次读取系统日期年、月、日,并转换成BCD码调用10号中断予以显示;若在键盘输入T,则设计程序代码依次读取系统时间时、分、秒,并转换成BCD码并调用10号中断予以显示;若输入大写字母Q,则退出当前状态;若不是相关字符,则不于任何响应,并不显示任何信息。四、部分程序设计及功能解说1、扫描键盘输入用SCANK:;扫描键盘输入,根据键盘输入调用bios16H中断的1号功能,读取键盘的状态,根据输入的字母,与字母“D"进行比较,若值为1则

3、去执行CHKT,并响应按键D……扫描键盘输入部分程序如下:XORAX,AXINT16H;调用bios16H中断的1号功能,读取键盘的状态.CMPAL,'D'JNECHKT;如果输入的是字母“D”则跳转执行CHKT子程序CALLDSPD;响应按键'D'JMPSCANK2、BCD码转换将读取的二进制代码循环右移4位,相当于将二进制转换成16进制;将AX寄存器内容与3030进行或运算,把AH单元传递于CH寄存器;程序代码如下:RORAX,CLSHRAH,CL-8-微型计算机原理与课程设计课程设计ORAX,3030HMOVCH,AH1

4、、显示部分调用10号中断的0E功能显示AL寄存器的内容,即BCD码将显示在屏幕上。注意:BL=前景色;AL=字符。BCD码显示代码如下所示:MOVAH,0EHINT10H;调用10号中断的0E功能显示MOVAL,CHINT10H五、程序设计流程图开始扫描键盘输入输入字母是D、T、Q?读取系统时间读取系统时间退出当前文件结  束输入“D”输入“T”输入Q转换为BCD码显示转换为BCD码显示六.程序段功能汇总1、MAIN程序用SCANK:;扫描键盘输入,根据键盘输入调用bios16H中断的1号功能,读取键盘的状态,根据输入的字母,

5、与字母“-8-微型计算机原理与课程设计课程设计D"进行比较疑惑,若异或值为1则去执行CHKT,并响应按键D。其他如输入“T”和“Q”时同理。2、DSPBCDPROC子程序即日期时间显示程序,以日期显示程序为例,通过读取系统的日期项如“年”,由于读取的日期项是二进制代码,所以调用DSPBCD,把读取的系统日期项存为BCD码,然后将其显示出来,然后再循环以同样方法读取月,日。3、DSPDPROC子程序本子程序是当键盘输入字母“D”时所调用执行的子程序;首先定义堆栈寄存器,按循环要求读取系统日期项,由于读取的日期项是二进制代码,因此

6、需调用DSPBCDPROC子程序转换为BCD码并予以显示;执行完DSPBCDPROC子程序后调用10号中断显示一个分隔符,完成一个日期项的显示,然后再循环去读取其他日期项;最后返回主程序执行主程序。4、DSPTPROC子程序本子程序是当键盘输入字母“T”时所调用执行的子程序;首先定义堆栈寄存器,按循环要求读取系统时间项,由于读取的日期项是二进制代码,因此需调用DSPBCDPROC子程序转换为BCD码并予以显示;执行完DSPBCDPROC子程序后调用10号中断显示一个分隔符,完成一个日期项的显示,然后再循环去读取其他日期项;最后

7、返回主程序执行主程序。其执行过程与执行DSPDPROC子程序相似。七.程序清单STACKSEGMENTSTACK;定义堆栈段STACKHDB20HDUP(?)STSIZEEQU$-STACKHSTACKENDSCODESEGMENTASSUMECS:CODE,SS:STACK;,DS:DATASTART:;程序执行的起始地址MOVAX,STACK;堆栈段经AX寄存器转移到SS寄存器MOVSS,AXMOVSP,STSIZESCANK:;扫描键盘输入XORAX,AXINT16H;调用bios16H中断的1号功能,读取键盘的状态.C

8、MPAL,'D';AL=D?JNECHKT;如果不相等跳转到子程序CHKT-8-微型计算机原理与课程设计课程设计CALLDSPD;响应按键'D'JMPSCANKCHKT:CMPAL,'T';与字母“T”进行比较JNECHKQ;如果不相等跳转到子程序CHKQ执行CALLDSPT

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。