⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 daytime.lst

📁 很详系的介绍了时钟的设定与调整
💻 LST
字号:
Turbo Assembler	 Version 4.1	    07/01/18 23:35:24	    Page 1
F:\邵晨\显示日~1\daytime.ASM



      1	0000				   ASTACK  SEGMENT   STACK
      2	0000  C8*(????)				   DW	     200 DUP (?)
      3	0190				   ASTACK  ENDS
      4	0000				     DATA  SEGMENT
      5	0000  03E8*(20)			    SPACE  DB	     1000 DUP (' ')
      6	03E8  06*(20) C9 1A*(CD)  +	  PATTERN  DB	     6 DUP (' '),0C9H,26 DUP (0CDH),0BBH,6 DUP (' ')
      7	      BB 06*(20)
      8	0410  06*(20) BA 1A*(20)  +		   DB	     6 DUP (' '),0BAH,26 DUP (20H),0BAH,6 DUP (' ')
      9	      BA 06*(20)
     10	0438  06*(20) C8 1A*(CD)  +		   DB	     6 DUP (' '),0C8H,26 DUP (0CDH),0BCH,6 DUP (' ')
     11	      BC 06*(20)
     12	0460  08*(3A) 0C*(20)		  DBUFFER  DB	     8 DUP (':'),12 DUP	(' ')
     13	0474  14*(20)			 DBUFFER1  DB	     20	DUP (' ')
     14	0488  0D 0A 50 4C 45 41	53+		   STR	     DB	0DH,0AH, 'PLEASE INPUT DATE(D) OR TIME(T) OR QUIT(Q): $'
     15	      45 20 49 4E 50 55	54+
     16	      20 44 41 54 45 28	44+
     17	      29 20 4F 52 20 54	49+
     18	      4D 45 28 54 29 20	4F+
     19	      52 20 51 55 49 54	28+
     20	      51 29 3A 20 24
*Warning* F:\邵晨\显示日~1\daytime.ASM(11) Reserved word used as symbol: STR
     21	04B7				     DATA  ENDS
     22	0000				     CODE  SEGMENT
     23						   ASSUME    CS:CODE,DS:DATA,ES:DATA,SS:ASTACK
     24	0000  B8 0001			   START:  MOV	     AX,0001H	 ;设置显示方式为40*25彩色文本方式
     25	0003  CD 10				   INT	     10H
     26	0005  B8 0000s				   MOV	     AX,DATA
     27	0008  8E D8				   MOV	     DS,AX
     28	000A  8E C0				   MOV	     ES,AX
     29	000C  BD 0000r				   MOV	     BP,OFFSET SPACE
     30	000F  BA 0B00				   MOV	     DX,0B00H
     31	0012  B9 03E8				   MOV	     CX,1000
     32	0015  BB 0040				   MOV	     BX,0040H
     33	0018  B8 1300				   MOV	     AX,1300H
     34	001B  CD 10				   INT	     10H
     35	001D  BD 03E8r				   MOV	     BP,OFFSET PATTERN	     ;显示矩形条
     36	0020  BA 0B00				   MOV	     DX,0B00H
     37	0023  B9 0078				   MOV	     CX,120
     38	0026  BB 004E				   MOV	     BX,004EH
     39	0029  B8 1301				   MOV	     AX,1301H
     40	002C  CD 10				   INT	     10H
     41	002E  BA 0488r				   LEA	     DX,STR	 ;显示提示信息
     42	0031  B4 09				   MOV	     AH,9
     43	0033  CD 21				   INT	     21H
     44	0035  B4 01				   MOV	     AH,1	 ;从键盘输入单个字符
     45	0037  CD 21				   INT	     21H
     46	0039  3C 44				   CMP	     AL,44H	 ;AL='D'?
     47	003B  75 03				   JNE	     A
     48	003D  E8 000F				   CALL	     DATE	 ;显示系统日期
     49	0040  3C 54			       A:  CMP	     AL,54H	 ;AL='T'?
     50	0042  75 03				   JNE	     B
     51	0044  E8 0060				   CALL	     TIME	 ;显示系统时间
     52	0047  3C 51			       B:  CMP	     AL,51H	 ;AL='Q'?
     53	0049  75 B5				   JNE	     START
     54	004B  B4 4C				   MOV	     AH,4CH	 ;返回dos状态
     55	004D  CD 21				   INT	     21H
     56
Turbo Assembler	 Version 4.1	    07/01/18 23:35:24	    Page 2
F:\邵晨\显示日~1\daytime.ASM



     57	004F				     DATE  PROC	     NEAR	 ;显示日期子程序
     58	004F  B4 2A			 DISPLAY:  MOV	     AH,2AH	 ;取日期
*Warning* F:\邵晨\显示日~1\daytime.ASM(49) Reserved word used as symbol: DISPLAY
     59	0051  CD 21				   INT	     21H
     60	0053  BE 0000				   MOV	     SI,0
     61	0056  8B C1				   MOV	     AX,CX
     62	0058  BB 0064				   MOV	     BX,100
     63	005B  F6 F3				   DIV	     BL
     64	005D  8A DC				   MOV	     BL,AH
     65	005F  E8 00AD				   CALL	     BCDASC1	 ;日期数值转换成相应的ASCII码字符
     66	0062  8A C3				   MOV	     AL,BL
     67	0064  E8 00A8				   CALL	     BCDASC1
     68	0067  46				   INC	     SI
     69	0068  8A C6				   MOV	     AL,DH
     70	006A  E8 00A2				   CALL	     BCDASC1
     71	006D  46				   INC	     SI
     72	006E  8A C2				   MOV	     AL,DL
     73	0070  E8 009C				   CALL	     BCDASC1
     74	0073  BD 0474r				   MOV	     BP,OFFSET DBUFFER1
     75	0076  BA 0C0D				   MOV	     DX,0C0DH
     76	0079  B9 0014				   MOV	     CX,20
     77	007C  BB 004E				   MOV	     BX,004EH
     78	007F  B8 1301				   MOV	     AX,1301H
     79	0082  CD 10				   INT	     10H
     80	0084  B4 02				   MOV	     AH,02H	 ;设置光标位置
     81	0086  BA 0300				   MOV	     DX,0300H
     82	0089  B7 00				   MOV	     BH,0
     83	008B  CD 10				   INT	     10H
     84	008D  BB 0018				   MOV	     BX,0018H
     85	0090  B9 FFFF			   REPEA:  MOV	     CX,0FFFFH	 ;延时
     86	0093  E2 FE			  REPEAT:  LOOP	     REPEAT
     87	0095  4B				   DEC	     BX
     88	0096  75 F8				   JNZ	     REPEA
     89	0098  B4 01				   MOV	     AH,01H	 ;读键盘缓冲区字符到AL寄存器
     90	009A  CD 16				   INT	     16H
     91	009C  74 B1				   JE	     DISPLAY
     92	009E  E9 FF5F				   JMP	     START
     93	00A1  B8 4C00				   MOV	     AX,4C00H
     94	00A4  CD 21				   INT	     21H
     95	00A6  C3				   RET
     96	00A7				     DATE  ENDP
     97
     98	00A7				     TIME  PROC	     NEAR	 ;显示时间子程序
     99	00A7  BE 0000			DISPLAY1:  MOV	     SI,0
    100	00AA  BB 0064				   MOV	     BX,100
    101	00AD  F6 F3				   DIV	     BL
    102	00AF  B4 2C				   MOV	     AH,2CH	 ;取时间
    103	00B1  CD 21				   INT	     21H
    104	00B3  8A C5				   MOV	     AL,CH
    105	00B5  E8 0040				   CALL	     BCDASC	 ;将时间数值转换成ASCII码字符
    106	00B8  46				   INC	     SI
    107	00B9  8A C1				   MOV	     AL,CL
    108	00BB  E8 003A				   CALL	     BCDASC
    109	00BE  46				   INC	     SI
    110	00BF  8A C6				   MOV	     AL,DH
    111	00C1  E8 0034				   CALL	     BCDASC
    112	00C4  BD 0460r				   MOV	     BP,OFFSET DBUFFER
Turbo Assembler	 Version 4.1	    07/01/18 23:35:24	    Page 3
F:\邵晨\显示日~1\daytime.ASM



    113	00C7  BA 0C0D				   MOV	     DX,0C0DH
    114	00CA  B9 0014				   MOV	     CX,20
    115	00CD  BB 004E				   MOV	     BX,004EH
    116	00D0  B8 1301				   MOV	     AX,1301H
    117	00D3  CD 10				   INT	     10H
    118	00D5  B4 02				   MOV	     AH,02H
    119	00D7  BA 0300				   MOV	     DX,0300H
    120	00DA  B7 00				   MOV	     BH,0
    121	00DC  CD 10				   INT	     10H
    122	00DE  BB 0018				   MOV	     BX,0018H
    123	00E1  B9 FFFF			      RE:  MOV	     CX,0FFFFH
    124	00E4  E2 FE			     REA:  LOOP	     REA
    125	00E6  4B				   DEC	     BX
    126	00E7  75 F8				   JNZ	     RE
    127	00E9  B4 01				   MOV	     AH,01H
    128	00EB  CD 16				   INT	     16H
    129	00ED  74 B8				   JE	     DISPLAY1
    130	00EF  E9 FF0E				   JMP	     START
    131	00F2  B8 4C00				   MOV	     AX,4C00H
    132	00F5  CD 21				   INT	     21H
    133	00F7  C3				   RET
    134	00F8				     TIME  ENDP
    135
    136	00F8				   BCDASC  PROC	     NEAR	 ;时间数值转换成ASCII码字符子程序
    137	00F8  53				   PUSH	     BX
    138	00F9  98				   CBW
    139	00FA  B3 0A				   MOV	     BL,10
    140	00FC  F6 F3				   DIV	     BL
    141	00FE  04 30				   ADD	     AL,'0'
    142	0100  88 84 0460r			   MOV	     DBUFFER[SI],AL
    143	0104  46				   INC	     SI
    144	0105  80 C4 30				   ADD	     AH,'0'
    145	0108  88 A4 0460r			   MOV	     DBUFFER[SI],AH
    146	010C  46				   INC	     SI
    147	010D  5B				   POP	     BX
    148	010E  C3				   RET
    149	010F				   BCDASC  ENDP
    150
    151	010F				  BCDASC1  PROC	     NEAR	 ;日期数值转换成ASCII码字符子程序
    152	010F  53				   PUSH	     BX
    153	0110  98				   CBW
    154	0111  B3 0A				   MOV	     BL,10
    155	0113  F6 F3				   DIV	     BL
    156	0115  04 30				   ADD	     AL,'0'
    157	0117  88 84 0474r			   MOV	     DBUFFER1[SI],AL
    158	011B  46				   INC	     SI
    159	011C  80 C4 30				   ADD	     AH,'0'
    160	011F  88 A4 0474r			   MOV	     DBUFFER1[SI],AH
    161	0123  46				   INC	     SI
    162	0124  5B				   POP	     BX
    163	0125  C3				   RET
    164	0126				  BCDASC1  ENDP
    165	0126				     CODE  ENDS
    166						   END	     START
Turbo Assembler	 Version 4.1	    07/01/18 23:35:24	    Page 4
Symbol Table




Symbol Name		Type   Value			   Cref	(defined at #)

??DATE			Text   "07/01/18"
??FILENAME		Text   "daytime	"
??TIME			Text   "23:35:24"
??VERSION		Number 040A
@CPU			Text   0101H
@CURSEG			Text   CODE			   #1  #4  #22
@FILENAME		Text   DAYTIME
@WORDSIZE		Text   2			   #1  #4  #22
A			Near   CODE:0040		   47  #49
B			Near   CODE:0047		   50  #52
BCDASC			Near   CODE:00F8		   105	108  111  #136
BCDASC1			Near   CODE:010F		   65  67  70  73  #151
DATE			Near   CODE:004F		   48  #57
DBUFFER			Byte   DATA:0460		   #12	112  142  145
DBUFFER1		Byte   DATA:0474		   #13	74  157	 160
DISPLAY			Near   CODE:004F		   #58	91
DISPLAY1		Near   CODE:00A7		   #99	129
PATTERN			Byte   DATA:03E8		   #6  35
RE			Near   CODE:00E1		   #123	 126
REA			Near   CODE:00E4		   #124	 124
REPEA			Near   CODE:0090		   #85	88
REPEAT			Near   CODE:0093		   #86	86
SPACE			Byte   DATA:0000		   #5  29
START			Near   CODE:0000		   #24	53  92	130  166
STR			Byte   DATA:0488		   #14	41
TIME			Near   CODE:00A7		   51  #98

Groups & Segments	Bit Size Align	Combine	Class	   Cref	(defined at #)

ASTACK			16  0190 Para	Stack		   #1  23
CODE			16  0126 Para	none		   #22	23
DATA			16  04B7 Para	none		   #4  23  23  26
Turbo Assembler	 Version 4.1	    07/01/18 23:35:24	    Page 5
Error Summary



*Warning* F:\邵晨\显示日~1\daytime.ASM(11) Reserved word used as symbol: STR
*Warning* F:\邵晨\显示日~1\daytime.ASM(49) Reserved word used as symbol: DISPLAY


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -