




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、、课程设计目的用汇编语言独立完成一个程序题 , 以达到熟练运用汇编语言编程实现有比较完 整功能的 程序的目的。(1学习分支、中断、和逻辑表达。(2熟悉汇编语言程序的编译、链接过程。二.课程设计任务设计一个显示日期或时间的汇编程序间且满足以下要求基本功能 :运行可执行程序 systime.exe ,在出现的提示信息中输入大写字母D ”可 ,显示系统当前日期 ;输入大写字母“ T ”可显, 示系统当前时间 ;输入大写字 母“ Q ”可结, 束 程序。三、总体设计方案通过调用 bios 16H 中断的 1号功能 , 读取键盘的状态扫描键盘输入 ,根据键盘 输入的相 关内容,如:若输入 D ,则设计程
2、序代码依次读取系统日期年、月、日 ,并转 换成 BCD 码调用 10号中断予以显示 ; 若在键盘输入 T , 则设计程序代码依次读取 系统时间时、分、秒,并转换成BCD码并调用10号中断予以显示;若输入大写字 母 Q , 则退出当前状态 ; 若不 是相关字符 , 则不于任何响应 , 并不显示任何信息。四、部分程序设计及功能解说1、扫描键盘输入用SCANK:;扫描键盘输入,根据键盘输入调用bios 16H中断的1号功能,读取 键盘的状 态,根据输入的字母,与字母“D进行比较,若值为1则去执行CHKT ,并响应 按键 D , 扫描键盘输入部分程序如下 :XOR AX,AXINT 16H;调用bio
3、s 16H中断的1号功能 , 读取键盘的状态 .CMP AL,'D'JNE CHKT;如果输入的是字母D 则”跳转执行 CHKT 子程序CALL DSPD; 响应按键 'D'JMP SCANK将读取的二进制代码循环右移2、BCD 码转换 4 位 ,相当于将二进制转换成 16 进制 ; 将 AX 寄存 器内 容与 3030进行或运算 ,把 AH 单元传递于 CH 寄存器 ;程序代码如下 :ROR AX,CLSHR AH,CLOR AX,3030HMOV CH,AH3、显示部分调用 10号中断的 0E 功能显示 AL 寄存器的内容 ,即 BCD 码将显示在屏幕上。注
4、意:BL=前景色;AL=字符。BCD码显示代码如下所示:MOV AH,0EHINT 10H;调用10号中断的0E功能显示MOV AL,CHINT 10H五、程序设计流程图六. 程序段功能汇总1、MAIN程序用SCANK:;扫描键盘输入,根据键盘输入调用bios 16H中断的1号功能,读取 键盘的状态,根据输入的字母,与字母“D进行比较疑惑,若异或值为1则去执行CHKT ,并响应按键D 。其他如输入“ T和“ Q时同理。2、DSP BCD P ROC 子程序即日期时间显示程序,以日期显示程序为例,通过读取系统的日期项如 年”由 于读取的日期项是二进制代码,所以调用DSPBCD ,把读取的系统日期
5、项存为 BCD 码,然后将其显示出来,然后再循环以同样方法读取月,日。3、DSPD P ROC 子程序本子程序是当键盘输入字母 “ D 时”所调用执行的子程序 ;首先定义堆栈寄存器 , 按 循环要求读取系统日期项 ,由于读取的日期项是二进制代码 ,因此需调用 DSPBCDP ROC子程序转换为BCD码并予以显示;执行完DSP BCD P ROC子程序后调用10 号中断显示一 个分隔符 ,完成一个日期项的显示 ,然后再循环去读取其他日期项 ;最 后返回主程序执 行主程序。4、DSPT P ROC 子程序本子程序是当键盘输入字母 “ T 时”所调用执行的子程序 ;首先定义堆栈寄存器 , 按 循环要
6、求读取系统时间项 ,由于读取的日期项是二进制代码 ,因此需调用 DSPBCDP ROC子程序转换为BCD码并予以显示;执行完DSP BCD P ROC子程序后调用10 号中断显示一 个分隔符 ,完成一个日期项的显示 ,然后再循环去读取其他日期项 ;最 后返回主程序执行主程序。其执行过程与执行DSPD PROC子程序相似。七 . 程序清单STACK SEGMENT STACK ; 定义堆栈段STACKH DB 20H DUP(?STSIZE EQU $-STACKHSTACK ENDSCODE SEGMENTASSUME CS:CODE,SS:STACK;,DS:DATASTART: ;程序执行
7、的起始地址MOV AX,STACK; 堆栈段经 AX 寄存器转移到 SS 寄存器MOV SS,AXMOV SP,STSIZESCANK:; 扫描键盘输入XOR AX,AXINT 16H;调用bios 16H中断的1号功能,读取键盘的状态.CMP AL,'D' AL=D ?JNE CHKT;如果不相等跳转到子程序CHKTCALL DSPD;响应按键'D'JMP SCANKCHKT:CMP AL,T;与字母“ T进行比较JNE CHKQ;如果不相等跳转到子程序 CHKQ执行CALL DSPT;响应按键 TJMP SCANK;跳转至U SCANKCHKQ:;可以添加代
8、码以响应其他按键;否则,它们将被忽略CMP AL,'Q'JE EXIT;响应按键QJMP SCANK;跳转执行至U子程序SCANKEXIT:MOV AX,4C00H; 退出当前系统INT 21H; 功能 :显示一个压缩 BCD 码;入口 : BH=页号;BL=前景色; AL= 压缩 BCD 码DSPBCD PROCPUSH AXPUSH CXMOV CL,4;串长度为4MOV AH,0;把读取的二进位数转为 BCD 码ROR AX,CLSHR AH,CLOR AX,3030HMOV CH,AH;显示 BCD 码MOV AH,0EHINT 10H;调用10号中断的0E功能显示MO
9、V AL,CHINT 10H微型计算机原理与课程设计课程设计 POP CX;退出当前堆栈段POP AX RETDSP BCD ENDP ;功能:显示系统日期;入口 : BH=页号,BL=前景色;DSPD直接传给DSPBCD DSPD PROC PUSH AX;定义堆栈段地址 PUSH CX MOV AL,9 MOV CX,3;定义循环次数 3 次 GETD: PUSH AX ;读取系统日期项 OUT 70H,AL IN AL,71HCALL DSPBCD ;显示一个日期项 ,如:年 MOV AX,0E2EH ;'.' 的 ASCII 码为 2E INT 10H POP AX D
10、EC AL LOOP GETD; 继续循环 GETD POP CX POP AX RET DSPDENDP ;功能:显示系统时间 入口: BH=页号,BL=前景色;DSPT直接传给DSPBCDDSPT PROC PUSH AX PUSH CX MOV AL,04H; 定义串长度 -5- ;子程序定义 ;显示 一个分隔符 '.'微型计算机原理与课程设计课程设计 MOV CX,3;定义循环次数3次,分别读取 时,分,秒 GETT: OUT 70H,AL IN AL,71H CALL DSPBCD ; 显示一个日期项 ,如:日MOV AX,0E3AH ;':' 的 A
11、SCII 码为 3A INT 10H POP AX SUB AL,2 LOOP GETT; 条 件下继续循环GETT POP CX;退出堆栈段POP AX RET;返回主程序执行DSPTENDP CODE ENDS END START ;程序结束 ;显示一个分隔符 ':' ;子程序 GETT PUSHAX; 读取一个系统时间项 八.试验结果及分析 试验结果及分析 1,实验结果 双击 systime.exe程序初始运行界面:如果按错了键,会出现如下界面,没任何反应,也不显 示任何信息 : -6-微型计算机原理与课程设计课程设计 如果输入正确如 "D" 将出现如
12、下界面 (每 输入一次就显示一次系统日期:如果输入正确如"T"将出现如下界面(每输入一次就 显示一次系统时间:如果输入"Q",则退出以上界面.2,实验结果分析:实验结果分析: 通过以上的结果显示可以看出结果成功完成本次课程设计的目的和任务 , 本次课程 设计严格按照课程设计任务的要求:运行可执行程序systime.exe在出现的提示信息中输入大 写字母"D",可显示系统当前日期;输入大写字母"T",可显示系统当前时间; 输入大写字 -7-微型计算机原理与课程设计课程设计母"Q",可结束程序;若不
13、是相关字符,则不 于任何响应 ,并不显示任何信息 .但还有缺陷 的是不能实时刷新时间 ,由于这点在课程 设计任务中没有相关要求 ,因此这次课程设计可以 认为是成功的 . 九.课程设计总结和体会 1. 在完成课程设计过程中 ,我认识到平时基础知识的重要性,只有能够熟练的 掌握才能在 实验过程中得心应手 ,否则一步错则整个试验都会陷入困境 ,因而,严谨的 态度是试验成功 的重要保障 ! 2. 通过这次课程设计 ,我们对各个函数以及语句有了 进一步的了解 ,对各个语句的功能有 了更深刻的认识和体会 ,平时上课的理论知识只 是停留在理论的层面 ,只有通过了这样的试 验才能更好的体会到 ,做到了理论和实际 的相结合 ,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 六一复古怀旧活动方案
- 六一孩子野餐活动方案
- 六一德育活动方案
- 六一沙滩活动方案
- 六一活动抢答活动方案
- 六一活动游乐场活动方案
- 六一活动钻山洞活动方案
- 六一节活动亲子活动方案
- 六一获奖活动方案
- 六一饭团活动方案
- 广西创业担保贷款培训课件
- 2024届江苏省南京市联合体数学七年级第二学期期末监测试题含解析
- 《现场改善技巧》课件
- 国开电大《人文英语3》一平台机考总题库珍藏版
- 玻璃隔断墙施工方案
- Python GUI设计:tkinter菜鸟编程
- 新家庭如何塑造人
- 2024届新高考数学热点冲刺复习“三新”背景下如何提高成绩+以《数列》为例浅谈教材使用
- 年国家开放大学电大远程教育考试题题库及答案
- 平口钳的结构与工艺设计
- 2020智慧电厂产业洞察白皮书
评论
0/150
提交评论