📄 电子时钟的设计.htm
字号:
REG<BR> INC
BX<BR> INC
BX<BR> MOV
AL,REG<BR> MOV
CL,4<BR> SHR
AL,CL<BR> OR
AL,30H<BR> MOV
[BX],AL<BR>
INC BX<BR> MOV
AL,REG<BR> AND
AL,0FH<BR> OR
AL,30H<BR> MOV
[BX],AL<BR> ENDM<BR>
INCBCD MACRO
REG,COUNT
;BCD数加1<BR>
MOV AL,REG<BR>
INC AL<BR>
DAA<BR> MOV
REG,AL<BR> CMP
AL,COUNT<BR>
JNZ DISPY<BR>
MOV REG,0<BR>
ENDM<BR> STRDSPY MACRO
ADRS<BR> LEA
DX,ADRS<BR>
MOV AH,9 <BR>
INT 21H<BR>
ENDM<BR> CLOCK
PROC FAR<BR> START: PUSH
DS
;显示字符串<BR> MOV
AX,0<BR> PUSH
AX<BR> MOV
AX,DATA<BR> MOV
DS,AX <BR> WIN
0,0,24,79,7<BR>
WIN 6,9,18,70,01000001B
;设置窗口<BR>
CURSOR
6,25 ;设置光标<BR> STRDSPY
BUF5 ;显示字符串<BR>
CURSOR
7,25 ;设置光标<BR>
STRDSPY
BUF6<BR>
CURSOR
8,25<BR>
STRDSPY
BUF7<BR>
CURSOR
9,25<BR>
STRDSPY
BUF8<BR>
CURSOR
10,25<BR>
STRDSPY
BUF9<BR>
CURSOR
11,25<BR>
STRDSPY
BUF10<BR>
CURSOR 6,9<BR>
STRDSPY
BUF3<BR>
CURSOR 7,9<BR>
STRDSPY
BUF4<BR>
CURSOR
14,32<BR>
STRDSPY
BUF1<BR>
CURSOR
15,36<BR> LEA
DX,BUF2<BR>
MOV AH,0AH<BR>
INT
21H
;从键盘接收当前时间<BR></FONT></P></FONT></SPAN></o:p></SPAN>
<DIV
style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 12pt; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; mso-element: para-border-div; mso-border-bottom-alt: solid windowtext .5pt">
<P class=MsoNormal
style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-border-bottom-alt: solid windowtext .5pt; mso-padding-alt: 0cm 0cm 12.0pt 0cm">
LEA
BX,BUF2<BR>
ASCBCD
CH ;小时值ASCII到BCD</P>
<P> ;存CH<BR>
ASCBCD
DH ;分值ASCII到BCD</P>
<P> ;存DH<BR>
ASCBCD
DL ;秒值ASCII到BCD</P>
<P> ;存DL<BR> TIMER:
CALL
DELY ;延时1秒<BR>
INCBCD
DL,60H ;(DL)+1,并判 <BR> ;大于等于60?</P>
<P> INCBCD
DH,60H ;(DH)+1,并判 <BR> ;大于等于60?<BR>
INCBCD
CH,24H
;(CH)+1,并判 <BR> ;大于等于60?<BR> DISPY:
LEA BX,BUF2
<BR> BCDASC
CH ;时值BCD转到ASCII<BR>
BCDASC
DH
;分值BCD转到ASCII<BR>
BCDASC
DL ;秒值BCD转到ASCII<BR>
INC BX<BR> MOV
AL,'$'<BR> MOV
[BX],AL<BR>
PUSH DX <BR>
CURSOR
15,36
;设置光标<BR> STRDSPY
BUF2+2 ;显示时,分,秒值<BR> POP
DX<BR> MOV
AH,01H<BR> INT
16H<BR> CMP
AL,1BH<BR> JZ
X<BR> XOR
AL,AL<BR> JMP
TIMER<BR> X:MOV
AH,4CH<BR> INT
21H<BR>
RET<BR></P>
<P class=MsoNormal
style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-border-bottom-alt: solid windowtext .5pt; mso-padding-alt: 0cm 0cm 12.0pt 0cm"> DELY
PROC</P>
<P class=MsoNormal
style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-border-bottom-alt: solid windowtext .5pt; mso-padding-alt: 0cm 0cm 12.0pt 0cm">
PUSH CX</P>
<P class=MsoNormal
style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-border-bottom-alt: solid windowtext .5pt; mso-padding-alt: 0cm 0cm 12.0pt 0cm">
PUSH CX</P>
<P class=MsoNormal
style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-border-bottom-alt: solid windowtext .5pt; mso-padding-alt: 0cm 0cm 12.0pt 0cm">
MOVE 4600</P>
<P class=MsoNormal
style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-border-bottom-alt: solid windowtext .5pt; mso-padding-alt: 0cm 0cm 12.0pt 0cm">
X1:DEC CX,0FFFFH</P>
<P class=MsoNormal
style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-border-bottom-alt: solid windowtext .5pt; mso-padding-alt: 0cm 0cm 12.0pt 0cm"> </P>
<P class=MsoNormal
style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-border-bottom-alt: solid windowtext .5pt; mso-padding-alt: 0cm 0cm 12.0pt 0cm">
X2:DEC CX</P>
<P class=MsoNormal
style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-border-bottom-alt: solid windowtext .5pt; mso-padding-alt: 0cm 0cm 12.0pt 0cm">
JNE X2</P>
<P class=MsoNormal
style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-border-bottom-alt: solid windowtext .5pt; mso-padding-alt: 0cm 0cm 12.0pt 0cm">
DEC AX</P>
<P class=MsoNormal
style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-border-bottom-alt: solid windowtext .5pt; mso-padding-alt: 0cm 0cm 12.0pt 0cm">
JNE X1</P>
<P class=MsoNormal
style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-border-bottom-alt: solid windowtext .5pt; mso-padding-alt: 0cm 0cm 12.0pt 0cm">
POP AX</P>
<P class=MsoNormal
style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-border-bottom-alt: solid windowtext .5pt; mso-padding-alt: 0cm 0cm 12.0pt 0cm">
POP CX </P>
<P class=MsoNormal
style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-border-bottom-alt: solid windowtext .5pt; mso-padding-alt: 0cm 0cm 12.0pt 0cm">
RET</P>
<P class=MsoNormal
style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0cm; BORDER-TOP: medium none; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; MARGIN: 0cm 0cm 0pt; BORDER-LEFT: medium none; PADDING-TOP: 0cm; BORDER-BOTTOM: medium none; mso-border-bottom-alt: solid windowtext .5pt; mso-padding-alt: 0cm 0cm 12.0pt 0cm">
DELY ENDP</P>
<P class=MsoNormal
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -