- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机原理课程设计--打字计时练习
打字计时练习
1设计目的
通过课程设计,主要达到以下目的:1.使学生增进对汇编语言的认识,加强用汇编语言编程的能力。2.使学生掌握汇编语言的中断调用功能的应用,可以用汇编语言调用各种中断调用功能,并由此实现对硬件的控制等。3.使学生了解和掌握汇编语言程序设计过程、方法及实现,微机原理课程4.通过课程设计可以使我们更加了解书上的知识,了解书上的语句并且能够应用自己的程序中.5.进一步掌握屏幕输出显示的设计方法.用汇编语言实现打字程序的思想,首先用,接着用DOS的21H中断类型的09H功能显示字符串来显示主界面;调用DOS的21H的0H功能,接受从键盘输入的字符,调用DOS的21H的H功能调用DOS的21H的H功能通过DOS的21H的02H功能调用显示字母字母的个数,DOS的21H中断类型的0H,当接下来输入如果是”q”就退出,是其他字符就清空错误的数目还有30个字符的指针,开始新一轮的打字计时。
3软件流程图
否
是
否
是
4程序
DATA segment
TIPdb0DH,0AH,-----------now begin-----------,0DH,0AH,$
TIMEBUFF1 db 0 ;保存考试输入时的分钟数
TIMEBUFF2 db 0 ;保存开始输入时的秒
STR1 db abcdefghijklmnopqrstuvwxyzabcd,0DH,0AH,$ ;30个字符
ERRORFLAG db 0 ;保存30个字符的指针
ERROR db 0 ;保存错误的数目
TIMEIS db 0DH,0AH,the time is ,$
ERRORIS db 0DH,0AH,the error is ,$
RESTART db 0DH,0AH,press q to exit or others to restart,$
DATA ends
ACK segment
dw 20 dup(0)
ACK ends
CODE segment
assume cs:CODE,ds:DATA,ss:ACK
start:
mov ax, ACK
mov ss, ax
mov sp, 40
mov ax, DATA ;屏幕初始显示
mov ds, ax
mov dx, offset TIP
mov ah, 9
int 21H
mov dx, offset STR1 ;显示30个字符
mov ah, 9
int 21H
mov ah, 1 ;调用1号中断接受第一个字符
int 21h
call Compare
mov ah, 2CH ;调用2CH号中断,获取系统时间
int 21H
mov TIMEBUFF1, cl ;将系统时间存入TIMEBUFF中
mov TIMEBUFF2, dh
mov cx, 29 ;剩余的29个字符放在循环中
loops:mov ah,1
int 21H
call Compare
loop loops
mov ah, 2CH ;输入完毕,再次获取系统时间
int 21H
mov al, cl ;将此次的时间运算后放入dx中
mov cl, 60
mul cl
mov cl, 8
shr dx, cl
add ax, dx
mov dx, ax
mov al, TIMEBUFF1 ;将开始输入的时间放入ax中
mov cl, 60
mul cl
xor cx, cx
mov cl, TIMEBUFF2
add ax, cx
sub dx, ax ;将两次的时间差放入cx中,其中ch放秒钟十位,cl放个位
mov ax, dx
mov cl, 10
div cl
mov
原创力文档


文档评论(0)