




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计 报 告课程名称 汇编语言程序设计 课题名称 编写一个时钟程序 专 业 班 级 学 号 姓 名 指导教师 2011年 3 月 6 日课 程 设 计 任 务 书课程名称 汇编语言程序设计 课 题 编写一个时钟程序 专业班级 学生姓名 学 号 指导老师 审 批 任务书下达日期 2011年 2 月 28 日任务完成日期 2011年 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号系统功能调用(int 21h)课题4编写一个时钟程序 要求:a、驻留内存。b、不影响其它程序运行。c、把时钟信号显示在屏幕固定位置(最好为右上角)。 思路:先从系统实时钟取得当前时间,每隔约0.05秒定时器向发出一次号中断请求,是一个硬中断。窃取 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画脉冲波图形 要求:用户以十进制数形式从键盘输入脉冲高度、脉冲宽度和颜色参数(格式同上)后,以屏幕中间行为脉冲中间行,从左到右、满屏画出相应的脉冲波图形。课题7测量任意程序的运行时间 要求:该程序驻留内存 思路:dos操作系统中,程序的调入运行及程序的终止均是通过相应的软中断来实现的。若窃取相应软中断,记录下程序开始调入运行的时间及程序终止的时间,则可测量出该程序运行的时间。 提示要点:与之相关的软中断分别为: 程序开始执行:4bh号系统功能调用(int 21h) 程序结束: int 20h int 27h 00h、3lh、4ch号系统功能调用(int 21h)课题8计算比赛成绩要求:a、7个评委,每个评委给分范围为010分(整数)。b、7个评委的给分中,去掉一个最高分和一个最低分,余下5位评委的平均分即为参加者的得分(精确到小数点后一位)。c、将分数在屏幕中间位置处用红色显示出来。目 录1.题目12.程序总体设计方案、思路13.程序设计框图14.源程序清单35.程序调试结果及分析66.设计总结87.课程设计评分表9viii1. 题目用int 1ch中断编写一个时钟程序,完成以下要求:汇编语言编写一个时钟程序。a、驻留内存。b、不影响其它程序运行。c、把时钟信号显示在屏幕固定位置(最好为右上角)。2. 程序总体设计方案、思路总体思路:如果要将一个程序驻留内存,且不允许被其他程序执行时覆盖,用dos中断int 27h来完成,事先将驻留程序的长度放入dx中,程序只有一段,程序段的段基址放入cs中,程序从100h单元开始,sp则指向当前段的尾部。先从系统实时钟取得当前时间,每隔约0.05秒定时器向发出一次号中断请求,是一个硬中断。窃取 int 1ch中断服务程序。本程序主要采取直接写屏的方式。把系统时钟取出来后,分别将时、分、秒存入定义的变量当中,移至寄存器ax中进行直接写屏。由于获取的都是系统的瞬时时刻,所以要将要求的时钟信号进行屏幕显示,还要进行加1操作。并判断当秒数加到等于60时,秒钟数清零,分钟数加1;同理,当分钟数加到等于60时,分钟数清零,秒钟数加1。注意,由于计算机默认寄存器存入的数据时二进制,所以要先将其转化为ascii码字符才能正确显示。3. 程序设计框图本课题主程序设计框图如下图一:中断程序入口直接写屏,显示分数开 始调用系统时间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 ;取时间 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,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 char1,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,ah pop ax pop bx retbcdasc endpprog_len equ $-startcode ends end start5. 程序调试结果及分析由于本程序是中端驻留,不能直接运行。将程序保存好,再进行如下操作,方可得到理想的结果: 点击桌面的“开始”,然后“运行”,输入“cmd”,出现如下图二界面: 图二 操作界面显示在光标位置输入:”cd c:cmasmw”,回车,再输入:”noname1.exe”,再回车,就可出现希望中的时钟显示(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025企业外包合同
- 2025企业间借贷合同应包含的要素
- 管理学中的知识管理试题及答案
- 2025年行政管理考试重点概念试题及答案
- 2025年个体土地赠与合同样本
- 行政管理与社会舆论试题及答案
- 2025电子书赠与的合同范本
- 尝试2025年公文写作与处理试题及答案
- 现代管理技能应用试题及答案
- 管理心理学对情商培养的作用试题及答案
- 解除实习协议书(2篇)
- 治安案件办理流程
- 2025年部编版新教材语文一年级下册第七单元复习课教案
- 个人阅兵申请书
- 颈椎病课件完整版
- 2025年国家药监局医疗器械技术审评检查大湾区分中心事业编制人员招聘5人历年高频重点提升(共500题)附带答案详解
- 巡逻盘查培训课件
- GB/T 39733-2024再生钢铁原料
- 《工业机器人现场编程》课件-任务3.涂胶机器人工作站
- 程序设计高级应用(Java程序设计)知到智慧树章节测试课后答案2024年秋山东劳动职业技术学院
- 2025年教师资格考试高级中学学科知识与教学能力物理试题与参考答案
评论
0/150
提交评论