社区
汇编语言
帖子详情
求电子时钟源码
deansroom
2006-03-05 08:56:30
自己不懂汇编 现需要一个电子时钟的源代码 望哪位仁兄给一份 谢过先
...全文
283
9
打赏
收藏
求电子时钟源码
自己不懂汇编 现需要一个电子时钟的源代码 望哪位仁兄给一份 谢过先
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rockefeller8
2006-03-10
打赏
举报
回复
网上搜索一下,有很多的
D0X0F4
2006-03-07
打赏
举报
回复
S
TVPD4
2006-03-07
打赏
举报
回复
D
V2NBZ
2006-03-07
打赏
举报
回复
C
deansroom
2006-03-06
打赏
举报
回复
多谢 我先找找看
Leomaxking
2006-03-06
打赏
举报
回复
COUNT_VAL =18 ;间隔“滴答”数
DPAGE =0 ;显示页号
ROW =23 ;显示时钟的行号
COLUMN =80-BUFF_LEN ;显示时钟的开始列号
COLOR =07H ;显示时钟的属性值
;代码
CSEG SEGMENT
ASSUME CS:CSEG,DS:CSEG
;1CH号中断处理程序使用的变量
COUNT DW COUNT_VAL;“滴答”计数
HHHH DB ?,?,':' ;时
MMMM DB ?,?,':' ;分
SSSS DB ?,? ;秒
BUFF_LEN = $-OFFSET HHHH ;BUFF_LEN为显示信息长度
CURSOR DW ?
OLD1CH DD ?
OLD53 DW ?
;1CH号中断处理程序代码
NEW1CH: CMP CS:COUNT,0 ;是否已到显示时候?
JZ NEXT ;是,转
DEC CS:COUNT ;否
JMP DWORD PTR CS:OLD1CH
;
NEXT:
MOV CS:COUNT,COUNT_VAL ;重置间隔数的初值
STI
PUSH DS
PUSH ES
PUSH AX
PUSH BX
PUSH CX
PUSH DX
PUSH SI
PUSH DI
PUSH CS
POP DS ;置数据段寄存器
PUSH DS
POP ES ;置代码段寄存器
CALL GET_T ;取时间
; MOV BH,DPAGE
; MOV AH,3 ;取原光标位置
; INT 10H
; MOV CURSOR,DX ;保存原光标位置
MOV CX,BUFF_LEN
MOV SI,OFFSET HHHH
MOV AX,0B800H
MOV ES,AX
MOV DI,1992*2
MOV Ah,7
SHOW: MOV Al,[SI]
MOV ES:[DI],AX
INC SI
INC DI
INC DI
LOOP SHOW
; MOV BH,DPAGE ;恢复原光标
; MOV DX,CURSOR
; MOV AH,2
; INT 10H
; MOV BP,OFFSET HHHH
; MOV BH,DPAGE
; MOV DH,ROW
; MOV DL,COLUMN
; MOV BL,COLOR
; MOV CX,BUFF_LEN
; MOV AL,0
; MOV AH,13H ;显示时钟
; INT 10H
POP DI ;恢复现场
POP SI
POP DX
POP CX
POP BX
POP AX
POP ES
POP DS
; IRET ;中断返回
JMP DWORD PTR CS:OLD1CH
;
;子程序说明信息略
GET_T PROC
MOV AH,2 ;取时间信息
INT 1AH
MOV AL,CH ;把时数转为可显示形式
CALL TTASC
XCHG AH,AL
MOV WORD PTR HHHH,AX ;保存
MOV AL,CL ;把分数转为可显示形式
CALL TTASC
XCHG AH,AL
MOV WORD PTR MMMM,AX ;保存
MOV AL,DH ;把秒数转为可显示形式
CALL TTASC
XCHG AH,AL
MOV WORD PTR SSSS,AX ;保存
RET
GET_T ENDP
;
;子程序名:TTASC
;功能:把两位压缩的BCD码转换为对应的ASCII码
;入口参数:AL=压缩BCD码
;出口参数:AH=高位BCD码所对应的ASCII码
; AL=低位BCD码所对应的ASCII码
TTASC PROC
MOV AH,AL
AND AL,0FH
SHR AH,1
SHR AH,1
SHR AH,1
SHR AH,1
ADD AX,3030H
RET
TTASC ENDP
;===========================
;初始化部分代码和变量
;OLD1CH DD ? ;原中断向量保存单元
;EXIT: LDS DX,OLD1CH ;取保存的原1CH号中断向量
; MOV AX,251CH
; INT 21H ;恢复原1CH号中断向量
; MOV AL,35H
; OUT 43H,AL
; MOV AX,OLD53
; OUT 43H,AL
; MOV AL,AH
; OUT 43H,AL
; MOV AX,4C00H
; INT 21H
START:
MOV AL,0
OUT 43H,AL
IN AL,40H
MOV AH,AL
IN AL,40H
XCHG AL,AH
MOV OLD53,AX
MOV AL,34H
OUT 43H,AL
MOV BX,11932
MOV AL,BL
OUT 40H,AL
MOV AL,BH
OUT 40H,AL
PUSH CS
POP DS
MOV AX,351CH ;取1CH号中断向量
INT 21H
MOV WORD PTR OLD1CH,BX;保存
MOV WORD PTR OLD1CH+2,ES
MOV DX,OFFSET NEW1CH
MOV AX,251CH ;置新的1CH号中断向量
INT 21H
MOV DX,OFFSET START
ADD DX,15
MOV CL,4
SHR DX,CL
ADD DX,10H
MOV AH,31H
; MOV AH,0BH
; INT 21H
; CMP AL,00H
; JNZ EXIT
; MOV AH,0 ;假设其他工作是等待按键
; INT 16H
; MOV AH,4CH ;结束
INT 21H
CSEG ENDS
END START
fhb13
2006-03-06
打赏
举报
回复
一楼说的网站我也去看看
一般我是用www.google.com找的
大熊猫侯佩
2006-03-05
打赏
举报
回复
是 www.aogosoft.com
大熊猫侯佩
2006-03-05
打赏
举报
回复
到 www.aofosoft.com 找找看
LeetCode——Word Ladder II
链接:http://leetcode.com/onlinejudge#question_126 原题: Given two words (start and end), and a dictionary, find all shortest transformation sequence(s) from start to end, such that: Only one
leetcode之word-ladder
leetcode之word-ladder 题目 Given two words (start and end), and a dictionary, find the length of shortest transformation sequence from start to end, such that: Only one letter can be changed at a time Ea...
LeetCode127—Word Ladder
LeetCode127—Word Ladder
图解LeetCode:Word Ladder
文章目录思考过程建立索引代码实现总结 这是LeetCode的第127号题目Word Ladder,也就是单词梯子,那这个题目是什么意思呢? 给定两个单词,一个为开头单词beginWord,一个为结尾单词endWord,并且给定一个单词列表,找出从开头单词到结尾单词的最短转换路径,转换规则是这样的: 一次只能转换单词中的一个字符 每次转换后的单词必须存在于单词列表中 比如给定开头单词“hit”,...
LeetCode126—Word Ladder II
LeetCode126—Word Ladder II
汇编语言
21,500
社区成员
41,619
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章