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

上传人:b****1 文档编号:1068941 上传时间:2022-10-16 格式:DOCX 页数:5 大小:17.13KB
下载 相关 举报
汇编语言程序设计课程设计编写一个时钟程序.docx_第1页
第1页 / 共5页
汇编语言程序设计课程设计编写一个时钟程序.docx_第2页
第2页 / 共5页
汇编语言程序设计课程设计编写一个时钟程序.docx_第3页
第3页 / 共5页
汇编语言程序设计课程设计编写一个时钟程序.docx_第4页
第4页 / 共5页
汇编语言程序设计课程设计编写一个时钟程序.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

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

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

课程设计报告

课程名称汇编语言程序设计

课题名称编写一个时钟程序

专业

班级

学号

姓名

指导教师

2022年3月6日

课程设计任务书

课程名称汇编语言程序设计

课题编写一个时钟程序

专业班级

学生姓名

学号

指导老师

审批

任务书下达日期2022年2月28日

任务完成日期2022年3月6日

一、设计内容与设计要求

1.课程设计目的:

《汇编语言程序设计》是计算机专业的重要的专业基础课,通过本课程设计使学生进一步巩固课堂所学,全面熟悉、掌握8088宏汇编语言程序设计的基本方法和技巧,进一步提高编写程序、阅读分析程序及上机操作、调试程序的能力。

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)按规定格式完成课程设计报告,将其打印稿(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命令格式显示。

要求:

A、以DEBUG中的D命令格式显示一个文本文件。

B、文件名从键盘键入。

思路:

A、打开相应文件,读内容至程序缓冲区。

B、按要求显示。

课题3.文件加密程序

要求:

A、文件名从键盘输入。

B、加密密钥从键盘输入。

思路:

从原文件读取内容至缓冲区,对其加密后,重新写回文件原来的地方。

提示要点:

A、加密可使用“异或”操作。

B、相关中断为3DH,3EH,3FH,40H,42H号系统功能调用(INT21H)课题4.编写一个时钟程序

要求:

A、驻留内存。

B、不影响其它程序运行。

C、把时钟信号显示在屏幕固定位置(最好为右上角)。

思路:

先从系统实时钟取得当前时间,每隔约0.05秒定时器向CPU发出一次8号中断请求,是一个硬中断。

窃取INT1CH中断服务程序。

课题5.画网格线

要求:

A、背景为蓝色、横线为红色、直线为黄色。

B、按用户输入的起点和终点坐标、列距和行距的大小画出任意条横竖线。

C、参数以十进制数形式输入,格式如下:

Pleaseenterstartingpoint(x1,y1):

XX,XX

Pleaseenterendingpoint(x2,y2):

XX,XX

Pleaseenterdistance(row,col):

XX,XX

课题6.画脉冲波图形

要求:

用户以十进制数形式从键盘输入脉冲高度、脉冲宽度和颜色参数(格式同

课题7.测量任意程序的运行时间

要求:

该程序驻留内存

思路:

DOS操作系统中,程序的调入运行及程序的终止均是通过相应的软中断来实现的。

若窃取相应软中断,记录下程序开始调入运行的时间及程序终止的时间,则可测量出该程序运行的时间。

提示要点:

与之相关的软中断分别为:

程序开始执行:

4BH号系统功能调用(INT21H)

程序结束:

INT20H

INT27H

00H、3lH、4CH号系统功能调用(INT21H)

课题8.计算比赛成绩

要求:

A、7个评委,每个评委给分范围为0~10分(整数)。

B、7个评委的给分中,去掉一个最高分和一个最低分,余下5位评委的平

均分即为参加者的得分(精确到小数点后一位)。

C、将分数在屏幕中间位置处用红色显示出来。

目录

1.题目

(1)

2.程序总体设计方案、思路

(1)

3.程序设计框图

(1)

4.源程序清单(3)

5.程序调试结果及分析(6)

6.设计总结.................................................................................错误!

未定义书签。

7.课程设计评分表(8)

1.题目

用INT1CH中断编写一个时钟程序,完成以下要求:

汇编语言编写一个时钟程序。

A、驻留内存。

B、不影响其它程序运行。

C、把时钟信号显示在屏幕固定位置(最好为右上角)。

2.程序总体设计方案、思路

总体思路:

如果要将一个程序驻留内存,且不允许被其他程序执行时覆盖,用DOS中断INT27H来完成,事先将驻留程序的长度放入DX中,程序只有一段,程序段的段基址放入CS中,程序从100H单元开始,SP则指向当前段的尾部。

先从系统实时钟取得当前时间,每隔约0.05秒定时器向CPU发出一次8号中断请求,是一个硬中断。

窃取INT1CH中断服务程序。

本程序主要采取直接写屏的方式。

把系统时钟取出来后,分别将时、分、秒存入定义的变量当中,移至寄存器AX中进行直接写屏。

由于获取的都是系统的瞬时时刻,所以要将要求的时钟信号进行屏幕显示,还要进行加1操作。

并判断当秒数加到等于60时,秒钟数清零,分钟数加1;同理,当分钟数加到等于60时,分钟数清零,秒钟数加1。

注意,由于计算机默认寄存器存入的数据时二进制,所以要先将其转化为ASCII码字符才能正确显示。

3.程序设计框图

本课题主程序设计框图如下图一:

图一程序设计框图

4.源程序清单

CODESEGMENT

ORG100H

ASSUMECS:

CODE,DS:

CODESTART:

LEADX,INTIC

MOVAX,SEGINTIC

MOVDS,AX

MOVAX,251CH

INT21H

MOVAH,2CH;取时间

INT21H

MOVCHAR,DH

MOVCHAR1,CL

MOVCHAR2,CH

MOVAX,3100H

MOVDX,(PROG_LEN+5)/16+16

INT21H

INTICPROCFAR

PUSHAX

PUSHDS

MOVAX,CS

MOVDS,AX

DECCOUNT

JNEEXIT

MOVCOUNT,18

PUSHBX

PUSHCX

PUSHDX

PUSHES

MOVAX,0B800H;直接写屏MOVES,AX

MOVAL,CHAR

CALLBCDASC

MOVAH,SAVE1

MOVES:

[158],AH

MOVAL,SAVE

MOVES:

[156],AL

MOVBL,':

'

MOVES:

[154],BL

MOVAL,CHAR1

CALLBCDASC

MOVAH,SAVE1

MOVES:

[152],AH

MOVAL,SAVE

MOVES:

[150],AL

MOVBYTEPTRES:

[148],':

'

MOVAL,CHAR2

CALLBCDASC

MOVAH,SAVE1

MOVAL,SAVE

MOVES:

[146],AH

MOVES:

[144],AL

INCCHAR

CMPCHAR,3CH

JBDISP

MOVCHAR,0

INCCHAR1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

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

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