?? daytime.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 ;設(shè)置顯示方式為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 ;顯示系統(tǒng)日期
49 0040 3C 54 A: CMP AL,54H ;AL='T'?
50 0042 75 03 JNE B
51 0044 E8 0060 CALL TIME ;顯示系統(tǒng)時間
52 0047 3C 51 B: CMP AL,51H ;AL='Q'?
53 0049 75 B5 JNE START
54 004B B4 4C MOV AH,4CH ;返回dos狀態(tài)
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 ;日期數(shù)值轉(zhuǎn)換成相應(yīng)的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 ;設(shè)置光標位置
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 ;讀鍵盤緩沖區(qū)字符到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 ;將時間數(shù)值轉(zhuǎn)換成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 ;時間數(shù)值轉(zhuǎn)換成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 ;日期數(shù)值轉(zhuǎn)換成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
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -