




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、汇编语言课程设计报告显示 系统时间忙鶴语言锦程殺针報告题 目:院(系丄班 级:姓 名:学 号:指导教师:1设计主要任务这个程序主要是用来显示系统时间的程序。在这个程序中,主程序首先 设置显示方式,取系统时间后将时间保存,继续设置显示方式,利用bios 的int 1ah的2号系统功能调用,将计算机系统的时间参数(bcd码)送入 寄存器,将用bcd码表示的时、分、秒转换成ascii码并进行显示。读字符 串到al中进行判断是否为结束,然后进行显示时间。后又重新取系统时间。然 后进行一系列的判断是否有进位。有则进行进位操作,否则重新取系统时间。设计任务与目标任务:对学生掌握知识的深度、运用理论去处理问
2、题的能力、实验能力、 课程设计能力、书面及口头表达能力进行考核。汇编语言程序设计课程设计是在教学实践基础上进行的一次大型实验, 也是对该课程所学理论知识的深化和提高。因此,要求学生能综合应用所学 知识,设计与制造出具有较复杂功能的应用系统,并且在实验的基本技能方 面上进行一次全面的训练。培养学生综合运用所学知识独立完成汇编程序课题的能力。使学生能够 较全面地巩固和应用课堂中所学的基本理论和程序设计方法,能够较熟练地 完成汇编语言程序的设计和调试。提高学生对工作认真负责、一丝不苟,对同学团结友爱,协作攻关的基 本素质。培养学生从资料文献、科学实验中获得知识的能力,提高学生从别 人经验中找到解决问
3、题的新途径的悟性,初步培养工程意识和创新能力。培 养学生勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全 方位考虑问题等科学技术人员应具有的素质。目标:用“时:分:秒”(均为两位)的形式连续显示系统时间。利用bios 的int 1ah的2号系统功能调用,将计算机系统的时间参数(bcd码)送入 寄存器,将用bcd码表示的时、分、秒转换成ascii码并进行显示。2设计方案(1) 在dos环境下完成,先利用bios功能调用中显示器驱动程序的 00h类型调用,设置显示器的显示模式为80*25彩色。(2) 在屏幕中央显示提示信息(提示用户输入“d”或“t”或“q”)。(3) 然后对用户输入的
4、字母进行判断,利用分支程序分别调用不同的子 程序。两个子程序的功能分别是显示当前日期(用2ah的dos功能调用来 取日期),显示当前时间(用2ch的dos功能调用来取时间)。必须用到的dos功能调用:取当前系统日期:功能号为2ah,返回值送入cx,dx寄存器中。取当前系统时间:功能号为2ch,返回值送入cx,dx寄存器中。 例如:2009年5月31日运行的程序中,使用2ah的dos功能调用后,得到cx=07d9h, dx=051fh 其中,cx中的数据为2009d,即年份。dx中的数据中可分析得:dh=05h=05d,即月份。dl=1fh=31d,即日期号。最后应将数据转换为其字符对应的asc
5、ii码,即 32h,30h,30h,39h, 2dh,30h,35h,2dh,33h,31h 再显示在屏幕上。 即显示出:2009-5-313主程序设计其中主要对主程序和宏清屏命令进行了设计和编码,下面将分别对它们 进行简要说明。主程序:code segment;代码段assume cs:code,ds:data,ss:stackmain proc farbegin:mov ah,0mov al,3int 10h;设置40*25图形显示clear_screen 00h,00hj9h,50hmov ax,datamov ds,axmov ax,stackmov ss,ax*show macro
6、blea dx,bmov ah,9int21hendmshow welcomeshow inf01show inf02show inf03show inf04show infosshow inf06input: mov ah,01int21hcmpal,44hjnel1call datedisplaydatadisplayjmpexit1;显示数据段的内容;键盘输入并回写;与。比较;不相等转l1;相等调用li:cmpal,54hjne l2l2call timedisplay timedisplayjmpexit1l2:cmpal,51hje exitshow inputershow info
7、sjmp inputexit 1: show inf06jmp inputexit: mov ah,4chint21h;与丁比较;不相等转;相等调用;与(2比较 湘等转exit;显示输入错误;显示输入提示;显示输入提示;结束main endp主程序主要实现与用户的交互,首先程序会提示用户想要进行什么操 作。是显示date,time还是退出。这里对应的给用户提供的选项是“d”、 “t”和“q”。当用户输入他们的选项之后,主程序要判断用户的输入调用 相应的功能模块来满足用户的要求。我们假设用户输入字符为x,那么首先 我们将x与“d”比较。如果相同则程序调用date_display模块为用户显 示日
8、期。若不为“d”则要继续与“t”想比较。相等则调用time_display 模块,不等则继续与“q”相比较。相等则正常退出,不等则说明用户输入非 法字符主程序返回到选择界面用户可以继续选择。特别说明:汇编语言的选择结构不同于c语言的选择结构,程序设计过 程中要特别小心。避免将造成潜在的bug3. 1主程序流程图开始4子程序设计4.2 time子程序流程5调试(1) 、运行环境(软、硬件环境):硬件:8086以上cpu,内存256m以上。软件:windows操作系统,masm, link汇编编译链接软件。(2) 、程序界面:1.提示界面如图612显示日期如图62劭 l:£itrjie3
9、.t or q to show dfitfi time or exit? date; tine;char:d 06 - 28 - 2012welcome vou to come here! this is a displav progame? please input ,ed d:display system t:display system q:quitplease input theq:quit.in图623.显示时间如图63chfir:d 06 - 28 - 2012date; time;q:quit.t 10 : 06:18welcome vou to come here!this i
10、s fi display progfime?please input “ t or v to show data time or ekit? d:display svstemt:display svstemq:quitplease input theq:quit_in图6-34错误输入如图6-4劭 l:£itrjie3.char:d 06 - 28 - 2012date; time;welcome vou to come here!this is a displav progame?please input or “q" to show dfitfi time or exi
11、t! d:display svstem t:display systemq:quit.please input theq:quit.t 10 : 06:18q:quit.rinput error? q:qutt in图6-41)编译源文件,命名为jie3.asm ; 2)采用命令格式。masmjie3asm 将生成一个obj文件,检査源程序中的错误,并改正。3)键入连接命令: link jie3.obj,再次键入jie3回车,即可显示结果。4)时间在运行中出现 了不准确性,对程序的循环次调整后,时间能正常运行。6设计总结通过对这一闹钟程序的制作,使我对汇编语言的基本知识的使用更加熟 练,同时也
12、增加了我对汇编语言的一些认识,在作业完成过程中通过和同学 的交流,也增加了合作的技巧。通过査阅以下资料也学到了一些课本上没有 的东西,拓宽了自己的知识面,增加了学好汇编语言的信心。这不是第一次用汇编语言来设计一个小程序,平时做了很多实验,写 了很多小程序。但这次是一个综合的程序,平时的很多程序都用到了,例如 在程序中用到了不少的子程序,宏,这些子程序的设计是固定的,因此可以 直接从指导资料中调用,大多只需要修改几个参数就可以,这大大方便了我 们的设计,为我们节省了很多的时间。在这次课程设计中,我真正体会到了合作的重要性,遇到很多问题时, 当我看书査资料不能解决时,这是去找同学讨论一下,收获很大
13、,可以使很 多问题迎刃而解,直到问题最终解决。从资料中,我们可以看出这个时钟程 序的基本流程,修改一些程序就可以实现这个时钟的基本功能,添加一些程 序就可以实现这个时钟的附加功能。不可否认,本程序存在不少缺点和不足, 但通过这次作业的却找出了自己在学习上的不足,对以后的工作也有指导作 用。我相信在以后的学习中会克服这些不足,达到熟练掌握汇编语言的目的!7程序清单程序代码:*;2;3;4;5;6;7;8;9;10;12;13;14;15;16定义堆栈段clear_screen macro op1,op2,op3,op4mov ah,06hmov al,oohmov bh,79hmov ch,op
14、1mov cl,op2mov dh,op3mov dl,op4int 10hmov ah,02hmov bh,00hmov dh,00hmov dl,00hint 10hendmstack segment stack;17main proc farbegin:mov ah,0mov al,3;32;33;34设置40*25图形显示db 200 dup(o)stack endsdata segment;19定义数据段welcome db 'welcome you to come here!$* ;20 提示 界面inf01 db 0dh,0ah, this is a display pr
15、ogame!$*;21inf02 db 0dh,0ah, please input ,d,* "t" or ”q” to show data time or exit!$finf03 db 0dh,0ah, d:display system date;$*;22inf04 db 0dh,0ah,'t:display system time;$*;23infos db 0dh,0ah/q:quit$;24inf06 db 0dh,0ah, please input the char:$*;25inputer db 0dh,0ah, input error!$*;26d
16、atedis db * 00 - 00 - 0000',0ah,$;27 显示 datetimedis db ' 00 ,3ah; 00 ,3ah; 00;28 显示 timedata ends;29code segment;30 代码段assume cs:code,ds:data,ss:stack;31丄 上丄 上 j*j*9zneni/jint 10h;36clear_screen 00h,00h,19h,50hmov ax,datamov ds,axmov ax,stackmov ss,ax;37;38;39;40;41* b立 *show macro blea dx,b
17、mov ah,9int21hendmshow welcomeshow inf01show inf02show inf03show inf04show infosshow inf06input: mov ah,01 写int21hcmpal,44hjnel1call datedisplaydatadisplayjmpexit1li:cmpal,54hjne l2;42;43;44;45;46;47显示数据段的内容;48;49;50;51;52;53;53键盘输入并回;54;55与d比较;56不相等转li;57相等调用;58;59与t比较;60不相等转l2call timedisplay time
18、displayjmpexit1l2:cmpal,51hje exitshow inputershow inf05jmp inputexit1: show inf05示jmp inputexit: mov ah,4chint21hmain endp;61相等调用;62;63与q比较;64相等转exit;65显示输入错误;66显示输入提示;67;68显示输入提;69;70结束;71;72* 日 期显示子程序 *datedisplay proc nearmov ah,2ahint21hmov ax, cxmov bx, 10lea si, datedis + 14mov cx, 4push dxtab: xor dx, dxdiv bxadd dl, 30h码mov si, dl;73;74取当前系统日期;75;76送年份入ax;77 (bx)=10;78使si指向年的最后一位;79(cx)=4;80保存月日 ;81dx清零;82(dx,ax)/bx,商送 ax,余数送 dx ;83余数与30h相加变为字符的ascii;84余数送入si所指向的字节区dec si;85si 减一looptabpopdxmov al, dlxorah,ahdiv bladd a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 项目管理执行能力试题及答案
- 2025年国内外投资环境的比较研究试题及答案
- 注会考生考前心理疏导技巧试题及答案
- 2024年项目管理资格考试考前准备的全景分析试题及答案
- 注册会计师考试内容更新与变化分析试题及答案
- 橡皮坝河道清淤施工方案
- 贴心指导证券从业资格试题及答案
- 注册会计师理论与实践试题及答案
- 生物技术在生态修复工程中的应用考核试卷
- 2024年项目管理协作机制试题及答案
- 适用于新高考新教材备战2025届高考历史一轮总复习第8单元中华人民共和国成立与社会主义革命和建设第25讲改革开放与社会主义现代化建设新时期课件
- 2024中考化学总复习必刷80题(第1-80题)(含解析)
- 人力资源管理测试题答案
- 《新青岛版(六三制)五年级下册科学检测试题(含答案)》期中检测
- DL∕T 1901-2018 水电站大坝运行安全应急预案编制导则
- 2023-2024学年贵州省黔南州八年级(下)期末数学试卷(含答案)
- 临床重点学科验收课件
- 企业保密意识培训课件
- JBT 11735-2014 铝合金锌合金压铸生产安全技术要求
- 2023年江苏省南京市联合体八年级(下)期中生物试卷(含解析)
- 2024年山东省烟台市开发区中考数学一模试卷
评论
0/150
提交评论