📄 test.lst
字号:
GAS LISTING C:\DOCUME~1\捞悼荐\LOCALS~1\Temp/cccXaaaa.s page 1
1 .file "test.c"
2 .arch atmega128
3 __SREG__ = 0x3f
4 __SP_H__ = 0x3e
5 __SP_L__ = 0x3d
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
10 .global KeyLevel
11 .global KeyLevel
12 .section .bss
13 .type KeyLevel, @object
14 .size KeyLevel, 1
15 KeyLevel:
16 0000 00 .skip 1,0
17 .global MaxFallTime
18 .data
19 .type MaxFallTime, @object
20 .size MaxFallTime, 2
21 MaxFallTime:
22 0000 0100 .word 1
23 .global FallTime
24 .global FallTime
25 .section .bss
26 .type FallTime, @object
27 .size FallTime, 2
28 FallTime:
29 0001 0000 .skip 2,0
30 .global NextBlock
31 .global NextBlock
32 .type NextBlock, @object
33 .size NextBlock, 8
34 NextBlock:
35 0003 0000 0000 .skip 8,0
35 0000 0000
36 .data
37 .LC0:
38 0002 7543 2F4F .string "uC/OS-II"
38 532D 4949
38 00
39 .LC1:
40 000b 7632 2E35 .string "v2.52"
40 3200
41 .LC2:
42 0011 5052 4553 .string "PRESS"
42 5300
43 .LC3:
44 0017 414E 5920 .string "ANY KEY!"
44 4B45 5921
44 00
45 .text
46 .global TaskStart
47 .type TaskStart, @function
48 TaskStart:
49 /* prologue: frame size=0 */
50 /* prologue end (size=0) */
GAS LISTING C:\DOCUME~1\捞悼荐\LOCALS~1\Temp/cccXaaaa.s page 2
51 0000 0E94 0000 call OSStatInit
52 0004 29E0 ldi r18,lo8(9)
53 0006 40E0 ldi r20,lo8(TaskKeyStk+99)
54 0008 50E0 ldi r21,hi8(TaskKeyStk+99)
55 000a 60E0 ldi r22,lo8(0)
56 000c 70E0 ldi r23,hi8(0)
57 000e 80E0 ldi r24,lo8(pm(TaskKey))
58 0010 90E0 ldi r25,hi8(pm(TaskKey))
59 0012 0E94 0000 call OSTaskCreate
60 0016 6FE3 ldi r22,lo8(63)
61 0018 80E3 ldi r24,lo8(48)
62 001a 0E94 0000 call WriteInstruct
63 001e 6FE3 ldi r22,lo8(63)
64 0020 81E3 ldi r24,lo8(49)
65 0022 0E94 0000 call WriteInstruct
66 0026 60E0 ldi r22,lo8(0)
67 0028 80E3 ldi r24,lo8(48)
68 002a 0E94 0000 call WriteCom
69 002e 60E0 ldi r22,lo8(0)
70 0030 81E3 ldi r24,lo8(49)
71 0032 0E94 0000 call WriteCom
72 0036 40E0 ldi r20,lo8(.LC0)
73 0038 50E0 ldi r21,hi8(.LC0)
74 003a 69E0 ldi r22,lo8(9)
75 003c 80E0 ldi r24,lo8(0)
76 003e 0E94 0000 call GLCDString
77 0042 40E0 ldi r20,lo8(.LC1)
78 0044 50E0 ldi r21,hi8(.LC1)
79 0046 68E0 ldi r22,lo8(8)
80 0048 81E0 ldi r24,lo8(1)
81 004a 0E94 0000 call GLCDString
82 004e 40E0 ldi r20,lo8(.LC2)
83 0050 50E0 ldi r21,hi8(.LC2)
84 0052 61E0 ldi r22,lo8(1)
85 0054 862F mov r24,r22
86 0056 0E94 0000 call GLCDString
87 005a 40E0 ldi r20,lo8(.LC3)
88 005c 50E0 ldi r21,hi8(.LC3)
89 005e 60E0 ldi r22,lo8(0)
90 0060 862F mov r24,r22
91 0062 0E94 0000 call GLCDString
92 .L2:
93 0066 20E0 ldi r18,lo8(0)
94 0068 30E0 ldi r19,hi8(0)
95 006a 41E0 ldi r20,lo8(1)
96 006c 60E0 ldi r22,lo8(0)
97 006e 862F mov r24,r22
98 0070 0E94 0000 call OSTimeDlyHMSM
99 0074 F8CF rjmp .L2
100 /* epilogue: frame size=0 */
101 /* epilogue: noreturn */
102 /* epilogue end (size=0) */
103 /* function TaskStart size 59 (59) */
104 .size TaskStart, .-TaskStart
105 .data
106 .LC4:
107 0020 5354 4152 .string "START!"
GAS LISTING C:\DOCUME~1\捞悼荐\LOCALS~1\Temp/cccXaaaa.s page 3
107 5421 00
108 .text
109 .global StartTetris
110 .type StartTetris, @function
111 StartTetris:
112 /* prologue: frame size=0 */
113 /* prologue end (size=0) */
114 0076 6FE3 ldi r22,lo8(63)
115 0078 80E3 ldi r24,lo8(48)
116 007a 0E94 0000 call WriteInstruct
117 007e 6FE3 ldi r22,lo8(63)
118 0080 81E3 ldi r24,lo8(49)
119 0082 0E94 0000 call WriteInstruct
120 0086 6FEF ldi r22,lo8(-1)
121 0088 80E3 ldi r24,lo8(48)
122 008a 0E94 0000 call WriteCom
123 008e 20E0 ldi r18,lo8(0)
124 0090 30E0 ldi r19,hi8(0)
125 0092 41E0 ldi r20,lo8(1)
126 0094 60E0 ldi r22,lo8(0)
127 0096 862F mov r24,r22
128 0098 0E94 0000 call OSTimeDlyHMSM
129 009c 60E0 ldi r22,lo8(0)
130 009e 80E3 ldi r24,lo8(48)
131 00a0 0E94 0000 call WriteCom
132 00a4 20E0 ldi r18,lo8(0)
133 00a6 30E0 ldi r19,hi8(0)
134 00a8 41E0 ldi r20,lo8(1)
135 00aa 60E0 ldi r22,lo8(0)
136 00ac 862F mov r24,r22
137 00ae 0E94 0000 call OSTimeDlyHMSM
138 00b2 6FEF ldi r22,lo8(-1)
139 00b4 81E3 ldi r24,lo8(49)
140 00b6 0E94 0000 call WriteCom
141 00ba 20E0 ldi r18,lo8(0)
142 00bc 30E0 ldi r19,hi8(0)
143 00be 41E0 ldi r20,lo8(1)
144 00c0 60E0 ldi r22,lo8(0)
145 00c2 862F mov r24,r22
146 00c4 0E94 0000 call OSTimeDlyHMSM
147 00c8 60E0 ldi r22,lo8(0)
148 00ca 81E3 ldi r24,lo8(49)
149 00cc 0E94 0000 call WriteCom
150 00d0 20E0 ldi r18,lo8(0)
151 00d2 30E0 ldi r19,hi8(0)
152 00d4 41E0 ldi r20,lo8(1)
153 00d6 60E0 ldi r22,lo8(0)
154 00d8 862F mov r24,r22
155 00da 0E94 0000 call OSTimeDlyHMSM
156 00de 40E0 ldi r20,lo8(.LC4)
157 00e0 50E0 ldi r21,hi8(.LC4)
158 00e2 60E0 ldi r22,lo8(0)
159 00e4 81E0 ldi r24,lo8(1)
160 00e6 0E94 0000 call GLCDString
161 00ea 20E0 ldi r18,lo8(0)
162 00ec 30E0 ldi r19,hi8(0)
163 00ee 41E0 ldi r20,lo8(1)
GAS LISTING C:\DOCUME~1\捞悼荐\LOCALS~1\Temp/cccXaaaa.s page 4
164 00f0 60E0 ldi r22,lo8(0)
165 00f2 862F mov r24,r22
166 00f4 0E94 0000 call OSTimeDlyHMSM
167 00f8 60E0 ldi r22,lo8(0)
168 00fa 80E3 ldi r24,lo8(48)
169 00fc 0E94 0000 call WriteCom
170 0100 2AE0 ldi r18,lo8(10)
171 0102 40E0 ldi r20,lo8(TaskTetrisStk+99)
172 0104 50E0 ldi r21,hi8(TaskTetrisStk+99)
173 0106 60E0 ldi r22,lo8(0)
174 0108 70E0 ldi r23,hi8(0)
175 010a 80E0 ldi r24,lo8(pm(TaskTetris))
176 010c 90E0 ldi r25,hi8(pm(TaskTetris))
177 010e 0E94 0000 call OSTaskCreate
178 /* epilogue: frame size=0 */
179 0112 0895 ret
180 /* epilogue end (size=1) */
181 /* function StartTetris size 79 (78) */
182 .size StartTetris, .-StartTetris
183 .global BlockCopy
184 .type BlockCopy, @function
185 BlockCopy:
186 /* prologue: frame size=0 */
187 /* prologue end (size=0) */
188 0114 60E0 ldi r22,lo8(0)
189 0116 70E0 ldi r23,hi8(0)
190 0118 AB01 movw r20,r22
191 .L14:
192 011a DA01 movw r26,r20
193 011c A050 subi r26,lo8(-(OldBlock))
194 011e B040 sbci r27,hi8(-(OldBlock))
195 0120 FA01 movw r30,r20
196 0122 E050 subi r30,lo8(-(NewBlock))
197 0124 F040 sbci r31,hi8(-(NewBlock))
198 0126 21E0 ldi r18,lo8(1)
199 0128 30E0 ldi r19,hi8(1)
200 .L13:
201 012a 8191 ld r24,Z+
202 012c 8D93 st X+,r24
203 012e 2150 subi r18,lo8(-(-1))
204 0130 3040 sbci r19,hi8(-(-1))
205 0132 37FF sbrs r19,7
206 0134 FACF rjmp .L13
207 0136 6F5F subi r22,lo8(-(1))
208 0138 7F4F sbci r23,hi8(-(1))
209 013a 4E5F subi r20,lo8(-(2))
210 013c 5F4F sbci r21,hi8(-(2))
211 013e 6430 cpi r22,4
212 0140 7105 cpc r23,__zero_reg__
213 0142 5CF3 brlt .L14
214 /* epilogue: frame size=0 */
215 0144 0895 ret
216 /* epilogue end (size=1) */
217 /* function BlockCopy size 25 (24) */
218 .size BlockCopy, .-BlockCopy
219 .global LookBlock
220 .type LookBlock, @function
GAS LISTING C:\DOCUME~1\捞悼荐\LOCALS~1\Temp/cccXaaaa.s page 5
221 LookBlock:
222 /* prologue: frame size=0 */
223 0146 0F93 push r16
224 0148 1F93 push r17
225 014a CF93 push r28
226 014c DF93 push r29
227 /* prologue end (size=4) */
228 014e EC01 movw r28,r24
229 0150 8B01 movw r16,r22
230 0152 BA01 movw r22,r20
231 0154 40E0 ldi r20,lo8(0)
232 0156 50E0 ldi r21,hi8(0)
233 0158 4817 cp r20,r24
234 015a 5907 cpc r21,r25
235 015c 14F5 brge .L26
236 015e A0E0 ldi r26,lo8(NewBlock)
237 0160 B0E0 ldi r27,hi8(NewBlock)
238 .L24:
239 0162 2C91 ld r18,X
240 0164 FD01 movw r30,r26
241 0166 8181 ldd r24,Z+1
242 0168 FB01 movw r30,r22
243 016a E80F add r30,r24
244 016c F11D adc r31,__zero_reg__
245 016e CF01 movw r24,r30
246 0170 EE0F lsl r30
247 0172 FF1F rol r31
248 0174 EE0F lsl r30
249 0176 FF1F rol r31
250 0178 EE0F lsl r30
251 017a FF1F rol r31
252 017c E80F add r30,r24
253 017e F91F adc r31,r25
254 0180 E80F add r30,r24
255 0182 F91F adc r31,r25
256 0184 E00F add r30,r16
257 0186 F11F adc r31,r17
258 0188 E20F add r30,r18
259 018a F11D adc r31,__zero_reg__
260 018c E050 subi r30,lo8(-(Fild))
261 018e F040 sbci r31,hi8(-(Fild))
262 0190 8081 ld r24,Z
263 0192 8823 tst r24
264 0194 49F4 brne .L27
265 0196 4F5F subi r20,lo8(-(1))
266 0198 5F4F sbci r21,hi8(-(1))
267 019a 1296 adiw r26,2
268 019c 4C17 cp r20,r28
269 019e 5D07 cpc r21,r29
270 01a0 04F3 brlt .L24
271 .L26:
272 01a2 81E0 ldi r24,lo8(1)
273 01a4 90E0 ldi r25,hi8(1)
274 01a6 02C0 rjmp .L19
275 .L27:
276 01a8 80E0 ldi r24,lo8(0)
277 01aa 90E0 ldi r25,hi8(0)
GAS LISTING C:\DOCUME~1\捞悼荐\LOCALS~1\Temp/cccXaaaa.s page 6
278 .L19:
279 /* epilogue: frame size=0 */
280 01ac DF91 pop r29
281 01ae CF91 pop r28
282 01b0 1F91 pop r17
283 01b2 0F91 pop r16
284 01b4 0895 ret
285 /* epilogue end (size=5) */
286 /* function LookBlock size 56 (47) */
287 .size LookBlock, .-LookBlock
288 .global BlockMove
289 .type BlockMove, @function
290 BlockMove:
291 /* prologue: frame size=0 */
292 01b6 CF93 push r28
293 01b8 DF93 push r29
294 /* prologue end (size=2) */
295 01ba AC01 movw r20,r24
296 01bc EC01 movw r28,r24
297 01be C050 subi r28,lo8(-(NewBlock))
298 01c0 D040 sbci r29,hi8(-(NewBlock))
299 01c2 8881 ld r24,Y
300 01c4 860F add r24,r22
301 01c6 8883 st Y,r24
302 01c8 DE01 movw r26,r28
303 01ca 1296 adiw r26,2
304 01cc FA01 movw r30,r20
305 01ce E050 subi r30,lo8(-(BlockCode+2))
306 01d0 F040 sbci r31,hi8(-(BlockCode+2))
307 01d2 22E0 ldi r18,lo8(2)
308 01d4 30E0 ldi r19,hi8(2)
309 .L32:
310 01d6 8881 ld r24,Y
311 01d8 9081 ld r25,Z
312 01da 3296 adiw r30,2
313 01dc 890F add r24,r25
314 01de 8C93 st X,r24
315 01e0 1296 adiw r26,2
316 01e2 2150 subi r18,lo8(-(-1))
317 01e4 3040 sbci r19,hi8(-(-1))
318 01e6 37FF sbrs r19,7
319 01e8 F6CF rjmp .L32
320 /* epilogue: frame size=0 */
321 01ea DF91 pop r29
322 01ec CF91 pop r28
323 01ee 0895 ret
324 /* epilogue end (size=3) */
325 /* function BlockMove size 29 (24) */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -