汇编语言程序设计课程设计编写一个时钟程序

上传人:仙*** 文档编号:28475876 上传时间:2021-08-28 格式:DOC 页数:17 大小:131.02KB
收藏 版权申诉 举报 下载
汇编语言程序设计课程设计编写一个时钟程序_第1页
第1页 / 共17页
汇编语言程序设计课程设计编写一个时钟程序_第2页
第2页 / 共17页
汇编语言程序设计课程设计编写一个时钟程序_第3页
第3页 / 共17页
资源描述:

《汇编语言程序设计课程设计编写一个时钟程序》由会员分享,可在线阅读,更多相关《汇编语言程序设计课程设计编写一个时钟程序(17页珍藏版)》请在装配图网上搜索。

1、课 程 设 计 报 告课程名称 汇编语言程序设计 课题名称 编写一个时钟程序 专 业 班 级 学 号 姓 名 指导教师 2011年 3 月 6 日课 程 设 计 任 务 书课程名称 汇编语言程序设计 课 题 编写一个时钟程序 专业班级 学生姓名 学 号 指导老师 审 批 任务书下达日期 2011年 2 月 28 日任务完成日期 2011年 3 月6 日一、设计内容与设计要求1.课程设计目的:汇编语言程序设计是计算机专业的重要的专业基础课,通过本课程设计使学生进一步巩固课堂所学,全面熟悉、掌握8088宏汇编语言程序设计的基本方法和技巧,进一步提高编写程序、阅读分析程序及上机操作、调试程序的能力。

2、2.课题题目1)用“*”画菱形框2)读入一个文本文件并以DEBUG中的D命令格式显示。3)文件加密程序4)编写一个时钟程序5)画网格线6)画脉冲波图形7)测量任意程序的运行时间8)计算比赛成绩3设计要求:1)在一周内学生须上机16小时以上,程序调试完后,须由指导老师在机器上检查运行结果,经教师认可后的源程序可通过打印机输出。2)分组及安排A.每组同学必须完成所指定的题目,每个同学须自己完成设计,应有不同的思路。B.按学号分组,第一组为1、9、17、25、33号同学,第二组为2、10、18、26、34号,第三组为3、11、19、27、35号,依次类推,其中第一组做第一题,第二组做第二题,依次类推

3、。3)按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。4)不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计,成绩的考核按上机表现、答辩成绩及课程设计说明书来综合评定。成绩分为优、良、中、及格、不及格五级分评定。二、进度安排第2 周 星期一 8时:00分12时:00分 星期二 8时:00分12时:00分星期三 8时:00分12时:00分星期四 8时:00分12时:00分课题1用“*”画菱形框要求:A、背景为蓝色、“*”为红色,菱形框画在屏幕中间,菱形中间为空格。B、用户以十进制数形式输入菱形宽度和高度(格式同上)。课题2读入一个文本文件并以DEBUG中的D命令格式显示。

4、 要求:A、以DEBUG中的D命令格式显示一个文本文件。 B、文件名从键盘键入。 思路:A、打开相应文件,读内容至程序缓冲区。 B、按要求显示。课题3文件加密程序 要求:A、文件名从键盘输入。 B、加密密钥从键盘输入。 思路:从原文件读取内容至缓冲区,对其加密后,重新写回文件原来的地方。 提示要点:A、加密可使用“异或”操作。 B、相关中断为3DH,3EH,3FH,40H,42H号系统功能调用(INT 21H)课题4编写一个时钟程序 要求:A、驻留内存。B、不影响其它程序运行。C、把时钟信号显示在屏幕固定位置(最好为右上角)。 思路:先从系统实时钟取得当前时间,每隔约0.05秒定时器向发出一次

5、号中断请求,是一个硬中断。窃取 INT 1CH中断服务程序。课题5画网格线要求:A、背景为蓝色、横线为红色、直线为黄色。B、按用户输入的起点和终点坐标、列距和行距的大小画出任意条横竖线。C、参数以十进制数形式输入,格式如下: Please enter starting point (x1,y1):XX, XX Please enter ending point (x2,y2):XX, XX Please enter distance (row,col):XX, XX课题6画脉冲波图形 要求:用户以十进制数形式从键盘输入脉冲高度、脉冲宽度和颜色参数(格式同上)后,以屏幕中间行为脉冲中间行,从左到

6、右、满屏画出相应的脉冲波图形。课题7测量任意程序的运行时间 要求:该程序驻留内存 思路:DOS操作系统中,程序的调入运行及程序的终止均是通过相应的软中断来实现的。若窃取相应软中断,记录下程序开始调入运行的时间及程序终止的时间,则可测量出该程序运行的时间。 提示要点:与之相关的软中断分别为: 程序开始执行:4BH号系统功能调用(INT 21H) 程序结束: INT 20H INT 27H 00H、3lH、4CH号系统功能调用(INT 21H)课题8计算比赛成绩要求:A、7个评委,每个评委给分范围为010分(整数)。B、7个评委的给分中,去掉一个最高分和一个最低分,余下5位评委的平均分即为参加者的

7、得分(精确到小数点后一位)。C、将分数在屏幕中间位置处用红色显示出来。目 录1.题目12.程序总体设计方案、思路13.程序设计框图14.源程序清单35.程序调试结果及分析66.设计总结87.课程设计评分表9viii1. 题目用INT 1CH中断编写一个时钟程序,完成以下要求:汇编语言编写一个时钟程序。A、驻留内存。B、不影响其它程序运行。C、把时钟信号显示在屏幕固定位置(最好为右上角)。2. 程序总体设计方案、思路总体思路:如果要将一个程序驻留内存,且不允许被其他程序执行时覆盖,用DOS中断INT 27H来完成,事先将驻留程序的长度放入DX中,程序只有一段,程序段的段基址放入CS中,程序从10

8、0H单元开始,SP则指向当前段的尾部。先从系统实时钟取得当前时间,每隔约0.05秒定时器向发出一次号中断请求,是一个硬中断。窃取 INT 1CH中断服务程序。本程序主要采取直接写屏的方式。把系统时钟取出来后,分别将时、分、秒存入定义的变量当中,移至寄存器AX中进行直接写屏。由于获取的都是系统的瞬时时刻,所以要将要求的时钟信号进行屏幕显示,还要进行加1操作。并判断当秒数加到等于60时,秒钟数清零,分钟数加1;同理,当分钟数加到等于60时,分钟数清零,秒钟数加1。注意,由于计算机默认寄存器存入的数据时二进制,所以要先将其转化为ASCII码字符才能正确显示。3. 程序设计框图本课题主程序设计框图如下

9、图一:中断程序入口直接写屏,显示分数开 始调用系统时间MOV AH,2CH INT 21H CH 小时CL 分钟DH 秒数直接写屏,显示秒数调用将时钟数字转换成相应的ASCII码字符的子程序结束驻留内存调用将时钟数字转换成相应的ASCII码字符的子程序直接写屏,显示时数调用将时钟数字转换成相应的ASCII码字符的子程序 图一 程序设计框图4. 源程序清单CODE SEGMENT ORG 100H ASSUME CS:CODE,DS:CODESTART: LEA DX,INTIC MOV AX,SEG INTIC MOV DS,AX MOV AX,251CH INT 21HMOV AH,2CH

10、;取时间 INT 21H MOV CHAR,DH MOV CHAR1,CL MOV CHAR2,CH MOV AX,3100H MOV DX,(PROG_LEN+5)/16+16 INT 21HINTIC PROC FAR PUSH AX PUSH DS MOV AX,CS MOV DS,AX DEC COUNT JNE EXIT MOV COUNT,18 PUSH BX PUSH CX PUSH DX PUSH ES MOV AX,0B800H ;直接写屏 MOV ES,AX MOV AL,CHAR CALL BCDASC MOV AH,SAVE1 MOV ES:158,AH MOV AL,

11、SAVE MOV ES:156,AL MOV BL,: MOV ES:154,BL MOV AL,CHAR1 CALL BCDASC MOV AH,SAVE1 MOV ES:152,AH MOV AL,SAVE MOV ES:150,AL MOV BYTE PTR ES:148,: MOV AL,CHAR2 CALL BCDASC MOV AH,SAVE1 MOV AL,SAVE MOV ES:146,AH MOV ES:144,AL INC CHAR CMP CHAR,3CH JB DISP MOV CHAR,0 INC CHAR1 CMP CHAR1,3CH JB DISP MOV CHA

12、R1,0 INC CHAR2 CMP CHAR2,18H JB DISP MOV CHAR2,0 DISP: POP ES POP DX POP CX POP BXEXIT: POP DS POP AX IRETINTIC ENDPCOUNT DB 18SAVE DB ?SAVE1 DB ?CHAR DB ?CHAR1 DB ?CHAR2 DB ?BCDASC PROC NEAR ;时间数值转换成ASCII码字符子程序 PUSH BX PUSH AX XOR AH,AH CBW MOV BL,10 DIV BL ADD AL,0 MOV SAVE,AL ADD AH,0 MOV SAVE1,A

13、H POP AX POP BX RETBCDASC ENDPPROG_LEN EQU $-STARTCODE ENDS END START5. 程序调试结果及分析由于本程序是中端驻留,不能直接运行。将程序保存好,再进行如下操作,方可得到理想的结果: 点击桌面的“开始”,然后“运行”,输入“CMD”,出现如下图二界面: 图二 操作界面显示在光标位置输入:”CD C:CMASMW”,回车,再输入:”NONAME1.EXE”,再回车,就可出现希望中的时钟显示(屏幕右上角),如下图三所示: 图三 时钟结果显示上图时钟从左到右分别为时、分、秒。在获取系统时钟之后,显示系统当前时刻,然后每隔1秒秒钟加1,加到60秒秒钟清零同时分钟加1。一次类推,实现课题要求的时钟功能显示。6. 课程设计评分表课程名称: 汇编语言程序设计 项 目评 价设计方案的合理性与创造性设计与调试结果设计说明书的质量答辩陈述与回答问题情况课程设计周表现情况综合成绩 教师签名: 日 期: 9

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!