版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上 西安工业大学课程设计用纸 课程名称:汇编语言程序设计课程英文名称:PROGRAMMING BY ASSEMBLE LANGUAGE一设计目的:1. 理解掌握定时/计数器和中断的使用方法。2. 掌握微机常用的输入输出方式及接口技术。3. 掌握一定的汇编语言知识,培养自己的动手操作能力。4.
2、0; 学习程序设计的基本思路和方法。二程序内容:第一部分:定义显示界面。第二部分:调用系统时间,并将调用的用二进制表示的时间数转换成ASCII码,并将时间数存入内存区。第三部分:将存在系统内存区的时间数用显示字符串的形式显示出来。第四部分:获取键盘的按键值,以ESC键退出系统返回DOS。三程序设计原理:首先在数据段开辟一显示缓冲区,用来存储系统时间。调用DOS中断,返回系统时间,并将来返回的二进制时间转换成ASCII码,方便时间显示时的调用。分别将来小时数、分钟数、秒数存入显示缓冲区,并最终存入一结束字符号$。调用DOS字符串显示功能将时间显示 西安工业大学课程设计用纸 出来。并调用屏幕I/O
3、中断,定位光标的开始位置,结合着将时间显示在我们预先定义好的位置上。由于获取了的系统时间不会自动刷新,所以我们要设计成刷新的方式来不断获取系统的时间,这样就形成了会跳动的电子钟了。调用延时TIME延时中断服务程序,累加到存放秒值的寄存器DL中,并进行十进制调整。在累加的过程中,不断地对时、分、秒值进行比较,秒不能等于60,分不能等于60,时不能等于24。秒等于限制值时,则使秒值为0分值加1;分等于限制值时,则使分值为0时值加1;时等于限制值时,则使时值为0;时、分、秒值都不超过限制值时,就转显示屏输出。时间显示的刷新要配合延时程序进行,为了得到良好的显示效果,延时程序要尽量接近1秒,但又不能超
4、过一秒,所以本程序调用了一段较精确的时间延迟程序。 利用BIOSS设计窗口,选择适当的背景和前景等,使屏幕显示更加完美。程序一旦进入运行,就将不间断地在显示屏显示时间,要想程序停止运行,可同时在键盘按下ESC键返回DOS系统。四程序流程图如下:DATA SEGMENT
5、0; ;设置数据段 BUF1 DB 'THE TIME IS NOW: $' BUF5 DB '
6、$' BUF6 DB ' &&&&&& # &&&&&& $' BUF7 DB ' 00 >o o < 00 $' BUF8 DB ' 00
7、 (:) 00 $' BUF9 DB ' 00 00 $' BUF10 DB ' 00 ! 00 $' BUF3 DB 'CLASS: $' BUF4 DB 'NAME:hu ling wei $' BUF2
8、0; DB 10 DB 10 DUP(?) DATA ENDS STACK SEGMENT STACK
9、0; ;设置堆栈段 DB 100 DUP(?) STACK ENDS CODE SEGMENT
10、160; ;设置代码段 ASSUME CS:CODE,DS:DATA,SS:STACK CURSOR MACRO ROW,CLM
11、0; ;设置光标位置 MOV AH,2 MOV BH,0
12、 MOV DH,ROW MOV DL,CLM INT 10H ENDM WIN
13、60; MACRO ROWL,CLML,ROWR,CLMR,COLOR ;设置窗口,位置,颜色 MOV AH,6 MOV AL,0
14、 MOV CH,ROWL MOV CL,CLML MOV DH,ROWR MOV DL,CLMR &
15、#160;MOV BH,COLOR INT 10H ENDM ASCBCD MACRO REG INC BX&
16、#160; INC BX MOV REG,BX MOV CL,4 SHL REG,CL
17、; INC BX MOV AL,BX AND AL,0FH OR REG,AL
18、60; ENDM BCDASC MACRO REG INC BX INC BX MOV
19、 AL,REG MOV CL,4 SHR AL,CL OR AL,30H MOV BX,AL
20、160; INC BX MOV AL,REG AND AL,0FH OR AL,30H
21、 MOV BX,AL ENDM INCBCD MACRO REG,COUNT ;BCD数加1 MOV AL,R
22、EG INC AL DAA MOV REG,AL CMP AL,COUNT
23、 JNZ DISPY MOV REG,0 ENDM STRDSPY MACRO ADRS LEA DX,ADRS
24、; MOV AH,9 INT 21H ENDM CLOCK PROC FAR START: P
25、USH DS ;显示字符串 MOV AX,0 PUSH AX MOV AX,DATA
26、 MOV DS,AX WIN 0,0,24,79,7 WIN 6,9,18,70,B ;设置窗口
27、 CURSOR 6,25 ;设置光标 STRDSPY BUF5 &
28、#160; ;显示字符串 CURSOR 7,25 ;设置光标 STRDSPY BUF6 &
29、#160; CURSOR 8,25 STRDSPY BUF7 CURSOR 9,25 STRDSPY BUF8
30、; CURSOR 10,25 STRDSPY BUF9 CURSOR 11,25 STRDSPY BUF10
31、 CURSOR 6,9 STRDSPY BUF3 CURSOR 7,9 STRDSPY BUF4
32、 CURSOR 14,32 STRDSPY BUF1 CURSOR 15,36 LEA DX,BUF2
33、60; MOV AH,0AH INT 21H ;从键盘接收当前时间 LEA BX,BUF2
34、60; ASCBCD CH ;小时值ASCII到BCD
35、0; ;存CH ASCBCD DH ;分
36、值ASCII到BCD ;存DH
37、0; ASCBCD DL ;秒值ASCII到BCD
38、 ;存DL TIMER: CALL DELY ;延时1秒
39、; INCBCD DL,60H ;(DL)+1,并判
40、; ;大于等于60? INCBCD DH,60H &
41、#160; ;(DH)+1,并判 ;大于等于60? &
42、#160; INCBCD CH,24H ;(CH)+1,并判
43、 ;大于等于60? DISPY: LEA BX,BUF2 BCDASC CH
44、; ;时值BCD转到ASCII BCDASC DH ;分值BCD转到ASCII
45、0; BCDASC DL ;秒值BCD转到ASCII INC BX
46、0; MOV AL,'$' MOV BX,AL PUSH DX CURSOR 15,36 &
47、#160; ;设置光标 STRDSPY BUF2+2 ;显示时,分,秒值
48、160;POP DX MOV AH,01H INT 16H CMP AL,1BH JZ X
49、; XOR AL,AL JMP TIMER X:MOV AH,4CH INT 21H &
50、#160; RET DELY PROC PUSH CX PUSH CX MOVE 4600 X1:
51、DEC CX,0FFFFH X2:DEC CX JNE X2 DEC AX JNE X1 POP AX POP CX RET DELY ENDP CLOCK ENDP CODE ENDP END START
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 渠道规划落地实操
- 2025物业服务管理承包合同
- 2025年中国华为公司集体合同示范文本
- 2025高端公寓住宅区前期物业管理合同
- 2025年全国销售合同范本汇编
- 2025物业服务合同应对管理责任等内容进行约定
- 拓展总监述职报告
- 病理科肿瘤手术标本处理流程
- 2025中式家居装修合同范本
- 学校使用钉钉培训
- 2025年高中英语50篇语法填空记高考3500词(翻译及原文版)
- (完整版)人教版小学英语单词表(带音标)
- 《家乡历史名人》课件
- 《低压电工实操及考证》全套教学课件
- DBJ04-T 312-2024 湿陷性黄土场地勘察及地基处理技术标准
- JJF1033-2023计量标准考核规范
- 用火用电安全管理制度
- 颈椎病课件完整版
- 中远海运集团笔试题库2025
- DGJ 08-107-2015 公共建筑节能设计标准
- 员工规章制度范文(2篇)
评论
0/150
提交评论