📄 main.lst
字号:
1 .file "main.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
17 .Ltext0:
18 .global app_start
19 .global app_start
20 .section .bss
23 app_start:
24 0000 0000 .skip 2,0
25 .global pagesz
26 .data
29 pagesz:
30 0000 80 .byte -128
31 .text
32 .global putchar_bt
34 putchar_bt:
35 .LFB6:
36 .LM1:
37 /* prologue: frame size=0 */
38 /* prologue end (size=0) */
39 .L2:
40 .LM2:
41 0000 5D9B sbis 43-0x20,5
42 0002 FECF rjmp .L2
43 .LM3:
44 0004 8CB9 out 44-0x20,r24
45 /* epilogue: frame size=0 */
46 0006 0895 ret
47 /* epilogue end (size=1) */
48 /* function putchar_bt size 4 (3) */
49 .LFE6:
51 .global getch
53 getch:
54 .LFB7:
55 .LM4:
56 /* prologue: frame size=0 */
57 /* prologue end (size=0) */
58 .L5:
59 .LM5:
60 0008 5F9B sbis 43-0x20,7
61 000a FECF rjmp .L5
62 .LM6:
63 000c 8CB1 in r24,44-0x20
64 .LM7:
65 000e 9927 clr r25
66 /* epilogue: frame size=0 */
67 0010 0895 ret
68 /* epilogue end (size=1) */
69 /* function getch size 5 (4) */
70 .LFE7:
72 .global nothing_response
74 nothing_response:
75 .LFB10:
76 .LM8:
77 /* prologue: frame size=0 */
78 /* prologue end (size=0) */
79 .LM9:
80 0012 0E94 0000 call getch
81 0016 8032 cpi r24,lo8(32)
82 0018 31F4 brne .L7
83 .LM10:
84 001a 84E1 ldi r24,lo8(20)
85 001c 0E94 0000 call putchar_bt
86 .LM11:
87 0020 80E1 ldi r24,lo8(16)
88 0022 0E94 0000 call putchar_bt
89 .L7:
90 0026 0895 ret
91 /* epilogue: frame size=0 */
92 0028 0895 ret
93 /* epilogue end (size=1) */
94 /* function nothing_response size 12 (11) */
95 .LFE10:
97 .global byte_response
99 byte_response:
100 .LFB9:
101 .LM12:
102 /* prologue: frame size=0 */
103 002a CF93 push r28
104 /* prologue end (size=1) */
105 002c C82F mov r28,r24
106 .LM13:
107 002e 0E94 0000 call getch
108 0032 8032 cpi r24,lo8(32)
109 0034 49F4 brne .L9
110 .LM14:
111 0036 84E1 ldi r24,lo8(20)
112 0038 0E94 0000 call putchar_bt
113 .LM15:
114 003c 8C2F mov r24,r28
115 003e 0E94 0000 call putchar_bt
116 .LM16:
117 0042 80E1 ldi r24,lo8(16)
118 0044 0E94 0000 call putchar_bt
119 .L9:
120 /* epilogue: frame size=0 */
121 0048 CF91 pop r28
122 004a 0895 ret
123 /* epilogue end (size=2) */
124 /* function byte_response size 17 (14) */
125 .LFE9:
127 .global getNch
129 getNch:
130 .LFB8:
131 .LM17:
132 /* prologue: frame size=0 */
133 /* prologue end (size=0) */
134 004c 282F mov r18,r24
135 .LM18:
136 004e 90E0 ldi r25,lo8(0)
137 .L23:
138 .LM19:
139 0050 9217 cp r25,r18
140 0052 28F4 brsh .L19
141 .L22:
142 .LM20:
143 0054 5F9B sbis 43-0x20,7
144 0056 FECF rjmp .L22
145 .LM21:
146 0058 8CB1 in r24,44-0x20
147 .LM22:
148 005a 9F5F subi r25,lo8(-(1))
149 005c F9CF rjmp .L23
150 .L19:
151 005e 0895 ret
152 /* epilogue: frame size=0 */
153 /* epilogue: noreturn */
154 /* epilogue end (size=0) */
155 /* function getNch size 10 (10) */
156 .LFE8:
158 .global main
160 main:
161 .LFB5:
162 .LM23:
163 /* prologue: frame size=0 */
164 0060 C0E0 ldi r28,lo8(__stack - 0)
165 0062 D0E0 ldi r29,hi8(__stack - 0)
166 0064 DEBF out __SP_H__,r29
167 0066 CDBF out __SP_L__,r28
168 /* prologue end (size=4) */
169 .LM24:
170 0068 B898 cbi 55-0x20,0
171 .LM25:
172 006a C09A sbi 56-0x20,0
173 .LM26:
174 /* #APP */
175 006c 0000 nop
176
177 .LM27:
178 /* #NOAPP */
179 006e 80E0 ldi r24,lo8(0)
180 0070 90E0 ldi r25,hi8(0)
181 0072 0E94 0000 call GetFlashByte
182 0076 8F3F cpi r24,lo8(-1)
183 0078 39F0 breq .L25
184 .LM28:
185 007a B09B sbis 54-0x20,0
186 007c 05C0 rjmp .L25
187 007e E091 0000 lds r30,app_start
188 0082 F091 0000 lds r31,(app_start)+1
189 0086 0995 icall
190 .L25:
191 .LM29:
192 0088 83E0 ldi r24,lo8(3)
193 008a 89B9 out 41-0x20,r24
194 .LM30:
195 008c 1092 9000 sts 144,__zero_reg__
196 .LM31:
197 0090 1BB8 out 43-0x20,__zero_reg__
198 .LM32:
199 0092 86E0 ldi r24,lo8(6)
200 0094 8093 9500 sts 149,r24
201 .LM33:
202 0098 88E1 ldi r24,lo8(24)
203 009a 8AB9 out 42-0x20,r24
204 .LM34:
205 009c 80E0 ldi r24,lo8(0)
206 .L100:
207 009e 0E94 0000 call putchar_bt
208 .L109:
209 .LM35:
210 00a2 0E94 0000 call getch
211 .LM36:
212 00a6 9927 clr r25
213 00a8 8335 cpi r24,83
214 00aa 9105 cpc r25,__zero_reg__
215 00ac 1CF5 brge .L86
216 00ae 8035 cpi r24,80
217 00b0 9105 cpc r25,__zero_reg__
218 00b2 0CF0 brlt .+2
219 00b4 8EC0 rjmp .L101
220 00b6 8134 cpi r24,65
221 00b8 9105 cpc r25,__zero_reg__
222 00ba 09F4 brne .+2
223 00bc 60C0 rjmp .L35
224 00be 8234 cpi r24,66
225 00c0 9105 cpc r25,__zero_reg__
226 00c2 7CF4 brge .L87
227 00c4 8133 cpi r24,49
228 00c6 9105 cpc r25,__zero_reg__
229 00c8 B1F1 breq .L31
230 00ca 8233 cpi r24,50
231 00cc 9105 cpc r25,__zero_reg__
232 00ce 24F4 brge .L88
233 00d0 C097 sbiw r24,48
234 00d2 09F4 brne .+2
235 00d4 7EC0 rjmp .L101
236 00d6 E5CF rjmp .L109
237 .L88:
238 00d8 8034 cpi r24,64
239 00da 9105 cpc r25,__zero_reg__
240 00dc 09F4 brne .+2
241 00de 48C0 rjmp .L33
242 00e0 E0CF rjmp .L109
243 .L87:
244 00e2 8234 cpi r24,66
245 00e4 9105 cpc r25,__zero_reg__
246 00e6 09F4 brne .+2
247 00e8 66C0 rjmp .L43
248 00ea 8534 cpi r24,69
249 00ec 9105 cpc r25,__zero_reg__
250 00ee 09F4 brne .+2
251 00f0 64C0 rjmp .L44
252 00f2 D7CF rjmp .L109
253 .L86:
254 00f4 8436 cpi r24,100
255 00f6 9105 cpc r25,__zero_reg__
256 00f8 09F4 brne .+2
257 00fa 72C0 rjmp .L50
258 00fc 8536 cpi r24,101
259 00fe 9105 cpc r25,__zero_reg__
260 0100 4CF4 brge .L89
261 0102 8535 cpi r24,85
262 0104 9105 cpc r25,__zero_reg__
263 0106 09F4 brne .+2
264 0108 5CC0 rjmp .L48
265 010a 8635 cpi r24,86
266 010c 9105 cpc r25,__zero_reg__
267 010e 09F4 brne .+2
268 0110 63C0 rjmp .L49
269 0112 C7CF rjmp .L109
270 .L89:
271 0114 8537 cpi r24,117
272 0116 9105 cpc r25,__zero_reg__
273 0118 09F4 brne .+2
274 011a 4BC1 rjmp .L82
275 011c 8637 cpi r24,118
276 011e 9105 cpc r25,__zero_reg__
277 0120 2CF4 brge .L90
278 0122 8437 cpi r24,116
279 0124 9105 cpc r25,__zero_reg__
280 0126 09F4 brne .+2
281 0128 E2C0 rjmp .L68
282 012a BBCF rjmp .L109
283 .L90:
284 012c 8637 cpi r24,118
285 012e 9105 cpc r25,__zero_reg__
286 0130 09F4 brne .+2
287 0132 4FC1 rjmp .L84
288 0134 B6CF rjmp .L109
289 .L31:
290 .LM37:
291 0136 0E94 0000 call getch
292 013a C82F mov r28,r24
293 013c 8032 cpi r24,lo8(32)
294 013e 09F0 breq .+2
295 0140 B0CF rjmp .L109
296 .LM38:
297 0142 84E1 ldi r24,lo8(20)
298 0144 0E94 0000 call putchar_bt
299 .LM39:
300 0148 81E4 ldi r24,lo8(65)
301 014a 0E94 0000 call putchar_bt
302 .LM40:
303 014e 86E5 ldi r24,lo8(86)
304 0150 0E94 0000 call putchar_bt
305 .LM41:
306 0154 82E5 ldi r24,lo8(82)
307 0156 0E94 0000 call putchar_bt
308 .LM42:
309 015a 8C2F mov r24,r28
310 015c 0E94 0000 call putchar_bt
311 .LM43:
312 0160 89E4 ldi r24,lo8(73)
313 0162 0E94 0000 call putchar_bt
314 .LM44:
315 0166 83E5 ldi r24,lo8(83)
316 0168 0E94 0000 call putchar_bt
317 .LM45:
318 016c 80E5 ldi r24,lo8(80)
319 016e BBC0 rjmp .L107
320 .L33:
321 .LM46:
322 0170 0E94 0000 call getch
323 .LM47:
324 0174 8638 cpi r24,lo8(-122)
325 0176 68F1 brlo .L101
326 0178 0E94 0000 call getch
327 017c 2AC0 rjmp .L101
328 .L35:
329 .LM48:
330 017e 0E94 0000 call getch
331 .LM49:
332 0182 9927 clr r25
333 0184 8138 cpi r24,129
334 0186 9105 cpc r25,__zero_reg__
335 0188 81F0 breq .L38
336 018a 8238 cpi r24,130
337 018c 9105 cpc r25,__zero_reg__
338 018e 24F4 brge .L42
339 0190 8038 cpi r24,128
340 0192 9105 cpc r25,__zero_reg__
341 0194 41F0 breq .L37
342 0196 1DC1 rjmp .L84
343 .L42:
344 0198 8238 cpi r24,130
345 019a 9105 cpc r25,__zero_reg__
346 019c 41F0 breq .L39
347 019e 8839 cpi r24,152
348 01a0 9105 cpc r25,__zero_reg__
349 01a2 39F0 breq .L40
350 01a4 16C1 rjmp .L84
351 .L37:
352 .LM50:
353 01a6 82E0 ldi r24,lo8(2)
354 01a8 15C1 rjmp .L102
355 .L38:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -