汇编基于PC机的8254日时钟中断的字符串动态显示——时:分:秒
来源:互联网 发布:java 双引号转义 编辑:程序博客网 时间:2024/06/01 08:10
汇编基于PC机的8254日时钟中断的字符串动态显示——时:分:秒
效果图如下:
如何实现这种效果呢?很简单,只需要把以下代码复制一遍运行就可以了
.486DATA SEGMENT USE16 OLD1C DD ? ; SAVE THE OLD 1C INT ICOUNT DB 18 ;18*55MS = 990MS <==> 1S COUNT DB 1 ;CIRCLE ALLTIME TIME DB 0,0,0 ; HOUR,MINUTE,SECONDDATA ENDSCODE SEGMENT USE16 ASSUME CS:CODE,DS:DATABEG: MOV AX,DATA MOV DS,AX CLI ; CLOSE INT CALL READ1C CALL WRITE1C STI ;OPEN INTSCAN: CMP COUNT,0 JNZ SCAN ; CIRCLE ALLTIME <==> WHILE 1 CALL RESET ;QUIT MOV AH,4CH INT 21H;-------------------------------SERVICE PROC PUSHA PUSH DS MOV AX,DATA MOV DS,AX DEC ICOUNT JNZ EXIT MOV ICOUNT,18 ;=========================== ;============================= ;CLS MOV AX,0003H INT 10H ;SHOW TIME CALL SHOW ;INC SECOND INC TIME+2 CMP TIME+2,60 ;JUDGE IF SECOND = 60 JNZ EXIT MOV TIME+2,0 INC TIME+1 CMP TIME+1,60 ; JUDGE IF MINUTE = 60 JNZ EXIT MOV TIME+1,0 INC TIME CMP TIME,24 ;JUDGE IF HOUR = 24 JNZ EXIT MOV TIME,0 MOV TIME+1,0 MOV TIME+2,0 ;============================== ;==============================EXIT: POP DS POPA IRETSERVICE ENDP;--------------------SHOW PROC PUSHA PUSH AX PUSH BX PUSH CX LEA BX,TIME ;FROM BX TO BX+3, CONVERT TO DEMICAL AND SHOW MOV SI,0AGA1: MOV DL,0 MOV DH,BYTE PTR[BX+SI]AGA2: ; HOW MANY 10 IN [BX+SI] CMP DH,10 JC NEXT1 INC DL SUB DH,10 JMP AGA2NEXT1: ADD DL,30H MOV AH,2 INT 21H ; SHOW THE 10 POS MOV DL,DH ADD DL,30H INT 21H ; SHOW THEN 1 POS CMP SI,2 JZ NEXT2 MOV DL,':' INT 21H ; SHOW A ":" BWTWEEN HOUR,MINUTE,SECONDNEXT2: ;IF NEXT TIME POS CMP SI,2 JZ EXITSHOW INC SI JMP AGA1EXITSHOW: POP CX POP BX POP AX POPASHOW ENDP;---------------------;READ AND SAVE THE OLD 1C INTREAD1C PROC MOV AX,351CH INT 21H MOV WORD PTR OLD1C,BX MOV WORD PTR OLD1C+2,ES RETREAD1C ENDP;--------------------------;WRITE SERVICE TO THE 1C INTWRITE1C PROC PUSH DS MOV AX,CODE MOV DS,AX LEA DX,SERVICE MOV AX,251CH INT 21H POP DS RETWRITE1C ENDP;-------------------------;RESET OLD1C INTRESET PROC MOV DX,WORD PTR OLD1C MOV DS,WORD PTR OLD1C+2 MOV AX,251CH INT 21H RETRESET ENDP;--------------------------CODE ENDS END BEG
0 0
- 汇编基于PC机的8254日时钟中断的字符串动态显示——时:分:秒
- 实现加一秒后,年、月、日、时、分、秒的显示
- NJUPT 微机 中断系统 日时钟中断之替换1CH实现字符串动态显示
- 用汇编写的在PC机上显示的模拟数字时钟
- 汇编语言:以“年/月/日 时:分:秒”的格式,显示当前的日期、时间。
- UIDatePicke获取当前时间的年、月、日、时、分、秒, //显示成中文格式的
- 一个很好很强大的js时间控件:显示年,月,日,时,分,秒
- 一个很好很强大的js时间控件:显示年,月,日,时,分,秒
- 在winform中动态显示当前时间年-月-日 时:分:秒
- 单独获取当前的年,月,日,时,分,秒
- 当前年、月、日、时、分、秒的获取
- 获取当前时间的年、月、日、时、分、秒
- 获取当前时间的年、月、日、时、分、秒
- 一个简单的时间显示(当天时/分/秒,隔天年/月/日)
- 南邮微机实验(基于中断的动态显示)
- 汇编实现年月日时分秒的显示
- iOS倒计时的实现,显示剩余天、时、分、秒
- 世纪秒:2000年1月1日0时0分0秒到现在的秒数
- Oracle创建用户及授权
- Android自定义View中的常用方法(距离、位置、点击事件)
- jQuery 事件 - keyup() 方法及文本框只输入数字
- 关于LitePal使用时出现的常见问题与解决办法
- android system property
- 汇编基于PC机的8254日时钟中断的字符串动态显示——时:分:秒
- jquery 表单 清空
- cblib实现JDK动态代理的简单实例
- LESS使用实例总结
- printf打印
- “破锣摇滚”乐队
- 给Linux系统/网络管理员准备的Nmap命令的29个实用范例
- centos 查看文件大小
- 使用Bootstrap Switch插件的滑动checkbox