📄 test.lst
字号:
Turbo Assembler Version 4.1 06/01/11 20:26:46 Page 1
F:\工程文件\Fasm\交通灯\test.ASM
1 0000 DATA SEGMENT
2 0000 00 INTFLAG DB 0
3 0001 12 COUNT DB 18
4 0002 00 SECOND DB 0
5 0003 00 MINUTE DB 0
6 0004 00 HOUR DB 0
7 0005 ???? OLD_SEG DW ?
8 0007 ???? OLD_OFF DW ?
9 0009 ?? OLD_MSK DB ?
10 000A DATA ENDS
11
12 0000 STACK SEGMENT STACK
*Warning* F:\工程文件\Fasm\交通灯\test.ASM(12) Reserved word used as symbol: STACK
13 0000 C8*(????) DW 200 DUP(?)
14 0190 STACK ENDS
15
16 0000 CODE SEGMENT
17 ASSUME CS:CODE,DS:DATA
18
19 0000 1E START: PUSH DS
20 0001 33 C0 XOR AX,AX
21 0003 50 PUSH AX
22 0004 B8 0000s MOV AX,DATA
23 0007 8E D8 MOV DS,AX
24
25 0009 B4 35 MOV AH,35H
26 000B B0 08 MOV AL,08H
27 000D CD 21 INT 21H
28 000F 89 1E 0007r MOV OLD_OFF,BX
29 0013 8C 06 0005r MOV OLD_SEG,ES
30 0017 E4 21 IN AL,21H
31 0019 A2 0009r MOV OLD_MSK,AL
32
33 001C FA CLI
34 001D 1E PUSH DS
35 001E B4 25 MOV AH,25H
36 0020 B0 08 MOV AL,08H
37 0022 BA 0000s MOV DX,SEG INTERRUPT
38 0025 8E DA MOV DS,DX
39 0027 BA 0133r MOV DX,OFFSET INTERRUPT
40 002A CD 21 INT 21H
41 002C 1F POP DS
42 002D A0 0009r MOV AL,OLD_MSK
43 0030 24 FE AND AL,11111110B
44 0032 FB STI
45
46 0033 MAINLOOP:
47 0033 B4 0B MOV AH,0BH ;test keyboard
48 0035 CD 21 INT 21H
49 0037 3C 00 CMP AL,00H
50 0039 74 2D JE CHK_INT
51 003B B4 08 MOV AH,08H ;get key
52 003D CD 21 INT 21H
53 003F 3C 1B CMP AL,1BH ;'ESC'
54 0041 75 25 JNE CHK_INT
55
56 0043 FA CLI
Turbo Assembler Version 4.1 06/01/11 20:26:46 Page 2
F:\工程文件\Fasm\交通灯\test.ASM
57 0044 1E PUSH DS
58 0045 06 PUSH ES
59 0046 8C D8 MOV AX,DS
60 0048 8E C0 MOV ES,AX
61 004A B4 25 MOV AH,25H
62 004C B0 08 MOV AL,08H
63 004E 26: 8B 16 0005r MOV DX,ES:OLD_SEG
64 0053 8E DA MOV DS,DX
65 0055 26: 8B 16 0007r MOV DX,ES:OLD_OFF
66 005A CD 21 INT 21H
67 005C 07 POP ES
68 005D 1F POP DS
69 005E A0 0009r MOV AL,OLD_MSK
70 0061 E6 21 OUT 21H,AL
71 0063 FB STI
72 0064 B4 4C MOV AH,4CH ;exit
73 0066 CD 21 INT 21H
74
75 0068 CHK_INT:
76 0068 80 3E 0000r 00 CMP INTFLAG,0
77 006D 74 C4 JE MAINLOOP
78 006F C6 06 0000r 00 MOV INTFLAG,0
79
80 0074 FE 0E 0001r DEC COUNT
81 0078 75 B9 JNE MAINLOOP
82
83 007A C6 06 0001r 12 MOV COUNT,18
84 007F A0 0002r MOV AL,SECOND
85 0082 FE C0 INC AL
86 0084 27 DAA
87 0085 A2 0002r MOV SECOND,AL
88
89 0088 80 3E 0002r 60 CMP SECOND,60H
90 008D 72 2F JNAE REFRESH
91
92 008F C6 06 0002r 00 MOV SECOND,00H
93
94 0094 A0 0003r MOV AL,MINUTE
95 0097 FE C0 INC AL
96 0099 27 DAA
97 009A A2 0003r MOV MINUTE,AL
98
99 009D 80 3E 0003r 60 CMP MINUTE,60H
100 00A2 72 1A JNAE REFRESH
101
102 00A4 C6 06 0003r 00 MOV MINUTE,00H
103
104 00A9 A0 0004r MOV AL,HOUR
105 00AC FE C0 INC AL
106 00AE 27 DAA
107 00AF A2 0004r MOV HOUR,AL
108
109 00B2 80 3E 0004r 24 CMP HOUR,24H
110 00B7 72 05 JNAE REFRESH
111
112 00B9 C6 06 0004r 00 MOV HOUR,00H
113
Turbo Assembler Version 4.1 06/01/11 20:26:46 Page 3
F:\工程文件\Fasm\交通灯\test.ASM
114 00BE REFRESH:
115 00BE B4 02 MOV AH,02H
116 00C0 B2 0D MOV DL,0DH ;'cr'
117 00C2 CD 21 INT 21H
118 00C4 8A 36 0004r MOV DH,HOUR
119 00C8 8A D6 MOV DL,DH
120 00CA 80 E2 F0 AND DL,11110000B
121 00CD B1 04 MOV CL,04
122 00CF D2 EA SHR DL,CL
123 00D1 80 CA 30 OR DL,30H
124 00D4 B4 02 MOV AH,02H
125 00D6 CD 21 INT 21H
126 00D8 8A D6 MOV DL,DH
127 00DA 80 E2 0F AND DL,00001111B
128 00DD 80 CA 30 OR DL,30H
129 00E0 B4 02 MOV AH,02H
130 00E2 CD 21 INT 21H
131 00E4 B4 02 MOV AH,02H
132 00E6 B2 3A MOV DL,':'
133 00E8 CD 21 INT 21H
134
135 00EA 8A 36 0003r MOV DH,MINUTE
136 00EE 8A D6 MOV DL,DH
137 00F0 80 E2 F0 AND DL,11110000B
138 00F3 B1 04 MOV CL,04
139 00F5 D2 EA SHR DL,CL
140 00F7 80 CA 30 OR DL,30H
141 00FA B4 02 MOV AH,02H
142 00FC CD 21 INT 21H
143 00FE 8A D6 MOV DL,DH
144 0100 80 E2 0F AND DL,00001111B
145 0103 80 CA 30 OR DL,30H
146 0106 B4 02 MOV AH,02H
147 0108 CD 21 INT 21H
148 010A B4 02 MOV AH,02H
149 010C B2 3A MOV DL,':'
150 010E CD 21 INT 21H
151
152 0110 8A 36 0002r MOV DH,SECOND
153 0114 8A D6 MOV DL,DH
154 0116 80 E2 F0 AND DL,11110000B
155 0119 B1 04 MOV CL,04
156 011B D2 EA SHR DL,CL
157 011D 80 CA 30 OR DL,30H
158 0120 B4 02 MOV AH,02H
159 0122 CD 21 INT 21H
160 0124 8A D6 MOV DL,DH
161 0126 80 E2 0F AND DL,00001111B
162 0129 80 CA 30 OR DL,30H
163 012C B4 02 MOV AH,02H
164 012E CD 21 INT 21H
165 0130 E9 FF00 JMP MAINLOOP
166 0133 INTERRUPT PROC FAR
167 0133 9C PUSHF
168 0134 50 PUSH AX
169 0135 1E PUSH DS
170 0136 B8 0000s MOV AX,DATA
Turbo Assembler Version 4.1 06/01/11 20:26:46 Page 4
F:\工程文件\Fasm\交通灯\test.ASM
171 0139 8E D8 MOV DS,AX
172
173 013B C6 06 0000r 01 MOV INTFLAG,1
174
175 0140 B0 20 MOV AL,00100000B ;EOI
176 0142 E6 21 OUT 21H,AL
177 0144 1F POP DS
178 0145 58 POP AX
179 0146 9D POPF
180 0147 CF IRET
181 0148 INTERRUPT ENDP
182 0148 CODE ENDS
183 END START
Turbo Assembler Version 4.1 06/01/11 20:26:46 Page 5
Symbol Table
Symbol Name Type Value Cref (defined at #)
??DATE Text "06/01/11"
??FILENAME Text "test "
??TIME Text "20:26:46"
??VERSION Number 040A
@CPU Text 0101H
@CURSEG Text CODE #1 #12 #16
@FILENAME Text TEST
@WORDSIZE Text 2 #1 #12 #16
CHK_INT Near CODE:0068 50 54 #75
COUNT Byte DATA:0001 #3 80 83
HOUR Byte DATA:0004 #6 104 107 109 112 118
INTERRUPT Far CODE:0133 37 39 #166
INTFLAG Byte DATA:0000 #2 76 78 173
MAINLOOP Near CODE:0033 #46 77 81 165
MINUTE Byte DATA:0003 #5 94 97 99 102 135
OLD_MSK Byte DATA:0009 #9 31 42 69
OLD_OFF Word DATA:0007 #8 28 65
OLD_SEG Word DATA:0005 #7 29 63
REFRESH Near CODE:00BE 90 100 110 #114
SECOND Byte DATA:0002 #4 84 87 89 92 152
START Near CODE:0000 #19 183
Groups & Segments Bit Size Align Combine Class Cref (defined at #)
CODE 16 0148 Para none #16 17
DATA 16 000A Para none #1 17 22 170
STACK 16 0190 Para Stack #12
Turbo Assembler Version 4.1 06/01/11 20:26:46 Page 6
Error Summary
*Warning* F:\工程文件\Fasm\交通灯\test.ASM(12) Reserved word used as symbol: STACK
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -