📄 main.lst
字号:
1 .file "main.c"
2 .arch atmega16
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 sendbyte
20 sendbyte:
21 .LFB6:
22 .LM1:
23 /* prologue: frame size=0 */
24 /* prologue end (size=0) */
25 .LVL0:
26 0000 482F mov r20,r24
27 .LM2:
28 0002 8FEF ldi r24,lo8(-1)
29 .LVL1:
30 0004 8ABB out 58-0x20,r24
31 .LM3:
32 0006 DB9A sbi 59-0x20,3
33 .LM4:
34 0008 D998 cbi 59-0x20,1
35 000a 20E0 ldi r18,lo8(0)
36 000c 30E0 ldi r19,hi8(0)
37 .LVL2:
38 000e E1E0 ldi r30,lo8(1)
39 0010 F0E0 ldi r31,hi8(1)
40 .LVL3:
41 .L2:
42 .LM5:
43 0012 47FF sbrs r20,7
44 0014 00C0 rjmp .L3
45 .LM6:
46 0016 DA9A sbi 59-0x20,2
47 0018 00C0 rjmp .L5
48 .L3:
49 .LM7:
50 001a DA98 cbi 59-0x20,2
51 .L5:
52 .LBB72:
53 .LBB73:
54 .LBB74:
55 .LBB75:
56 .LM8:
57 001c CF01 movw r24,r30
58 .LVL4:
59 /* #APP */
60 001e 0197 1: sbiw r24,1
61 0020 01F4 brne 1b
62 /* #NOAPP */
63 .LBE75:
64 .LBE74:
65 .LBE73:
66 .LBE72:
67 .LM9:
68 0022 D99A sbi 59-0x20,1
69 .LM10:
70 0024 D998 cbi 59-0x20,1
71 .LBB76:
72 .LBB77:
73 .LBB78:
74 .LBB79:
75 .LM11:
76 0026 CF01 movw r24,r30
77 .LVL5:
78 /* #APP */
79 0028 0197 1: sbiw r24,1
80 002a 01F4 brne 1b
81 /* #NOAPP */
82 .LBE79:
83 .LBE78:
84 .LBE77:
85 .LBE76:
86 .LM12:
87 002c 2F5F subi r18,lo8(-(1))
88 002e 3F4F sbci r19,hi8(-(1))
89 0030 2830 cpi r18,8
90 0032 3105 cpc r19,__zero_reg__
91 0034 01F0 breq .L6
92 .LM13:
93 0036 440F lsl r20
94 0038 00C0 rjmp .L2
95 .L6:
96 .LM14:
97 003a DB98 cbi 59-0x20,3
98 /* epilogue: frame size=0 */
99 003c 0895 ret
100 /* epilogue end (size=1) */
101 /* function sendbyte size 35 (34) */
102 .LFE6:
104 .global readByte
106 readByte:
107 .LFB7:
108 .LM15:
109 /* prologue: frame size=0 */
110 /* prologue end (size=0) */
111 .LVL6:
112 .LM16:
113 003e 9FEF ldi r25,lo8(-1)
114 0040 9ABB out 58-0x20,r25
115 .LM17:
116 0042 0E94 0000 call sendbyte
117 .LVL7:
118 .LM18:
119 0046 DB9A sbi 59-0x20,3
120 .LM19:
121 0048 D998 cbi 59-0x20,1
122 .LM20:
123 004a 8BEF ldi r24,lo8(-5)
124 004c 8ABB out 58-0x20,r24
125 004e 20E0 ldi r18,lo8(0)
126 0050 30E0 ldi r19,hi8(0)
127 .LVL8:
128 0052 60E0 ldi r22,lo8(0)
129 .LVL9:
130 0054 E0ED ldi r30,lo8(2000)
131 0056 F7E0 ldi r31,hi8(2000)
132 .LVL10:
133 .L10:
134 .LM21:
135 0058 D99A sbi 59-0x20,1
136 .LBB80:
137 .LBB81:
138 .LBB82:
139 .LBB83:
140 .LM22:
141 005a CF01 movw r24,r30
142 .LVL11:
143 /* #APP */
144 005c 0197 1: sbiw r24,1
145 005e 01F4 brne 1b
146 /* #NOAPP */
147 .LBE83:
148 .LBE82:
149 .LBE81:
150 .LBE80:
151 .LM23:
152 0060 CA99 sbic 57-0x20,2
153 .LM24:
154 0062 6160 ori r22,lo8(1)
155 .L11:
156 .LM25:
157 0064 660F lsl r22
158 .LM26:
159 0066 D998 cbi 59-0x20,1
160 .LBB84:
161 .LBB85:
162 .LBB86:
163 .LBB87:
164 .LM27:
165 0068 CF01 movw r24,r30
166 .LVL12:
167 /* #APP */
168 006a 0197 1: sbiw r24,1
169 006c 01F4 brne 1b
170 /* #NOAPP */
171 .LBE87:
172 .LBE86:
173 .LBE85:
174 .LBE84:
175 .LM28:
176 006e 2F5F subi r18,lo8(-(1))
177 0070 3F4F sbci r19,hi8(-(1))
178 0072 2730 cpi r18,7
179 0074 3105 cpc r19,__zero_reg__
180 0076 01F4 brne .L10
181 .LM29:
182 0078 D99A sbi 59-0x20,1
183 .LM30:
184 007a D998 cbi 59-0x20,1
185 007c 40E0 ldi r20,lo8(0)
186 007e 50E0 ldi r21,hi8(0)
187 .LVL13:
188 0080 20E0 ldi r18,lo8(0)
189 .LVL14:
190 0082 E0ED ldi r30,lo8(2000)
191 0084 F7E0 ldi r31,hi8(2000)
192 .LVL15:
193 .L14:
194 .LM31:
195 0086 D99A sbi 59-0x20,1
196 .LBB88:
197 .LBB89:
198 .LBB90:
199 .LBB91:
200 .LM32:
201 0088 CF01 movw r24,r30
202 .LVL16:
203 /* #APP */
204 008a 0197 1: sbiw r24,1
205 008c 01F4 brne 1b
206 /* #NOAPP */
207 .LBE91:
208 .LBE90:
209 .LBE89:
210 .LBE88:
211 .LM33:
212 008e CA99 sbic 57-0x20,2
213 .LM34:
214 0090 2160 ori r18,lo8(1)
215 .L15:
216 .LM35:
217 0092 220F lsl r18
218 .LM36:
219 0094 D998 cbi 59-0x20,1
220 .LBB92:
221 .LBB93:
222 .LBB94:
223 .LBB95:
224 .LM37:
225 0096 CF01 movw r24,r30
226 .LVL17:
227 /* #APP */
228 0098 0197 1: sbiw r24,1
229 009a 01F4 brne 1b
230 /* #NOAPP */
231 .LBE95:
232 .LBE94:
233 .LBE93:
234 .LBE92:
235 .LM38:
236 009c 4F5F subi r20,lo8(-(1))
237 009e 5F4F sbci r21,hi8(-(1))
238 00a0 4730 cpi r20,7
239 00a2 5105 cpc r21,__zero_reg__
240 00a4 01F4 brne .L14
241 .LM39:
242 00a6 D99A sbi 59-0x20,1
243 .LM40:
244 00a8 8FEF ldi r24,lo8(-1)
245 .LVL18:
246 00aa 8ABB out 58-0x20,r24
247 .LM41:
248 00ac DB98 cbi 59-0x20,3
249 00ae 607F andi r22,lo8(-16)
250 00b0 2295 swap r18
251 00b2 2F70 andi r18,0x0f
252 00b4 262B or r18,r22
253 .LM42:
254 00b6 822F mov r24,r18
255 00b8 9927 clr r25
256 /* epilogue: frame size=0 */
257 00ba 0895 ret
258 /* epilogue end (size=1) */
259 /* function readByte size 73 (72) */
260 .LFE7:
262 .global busywait
264 busywait:
265 .LFB8:
266 .LM43:
267 /* prologue: frame size=0 */
268 /* prologue end (size=0) */
269 .L25:
270 .LM44:
271 00bc 8CEF ldi r24,lo8(-4)
272 00be 0E94 0000 call readByte
273 .LM45:
274 00c2 87FD sbrc r24,7
275 00c4 00C0 rjmp .L25
276 /* epilogue: frame size=0 */
277 00c6 0895 ret
278 /* epilogue end (size=1) */
279 /* function busywait size 6 (5) */
280 .LFE8:
282 .global wr_comm_lcd
284 wr_comm_lcd:
285 .LFB9:
286 .LM46:
287 /* prologue: frame size=0 */
288 00c8 1F93 push r17
289 /* prologue end (size=1) */
290 .LVL19:
291 00ca 182F mov r17,r24
292 .LM47:
293 00cc 88EF ldi r24,lo8(-8)
294 .LVL20:
295 00ce 0E94 0000 call sendbyte
296 .LM48:
297 00d2 812F mov r24,r17
298 00d4 807F andi r24,lo8(-16)
299 00d6 0E94 0000 call sendbyte
300 .LM49:
301 00da 812F mov r24,r17
302 00dc 8295 swap r24
303 00de 807F andi r24,0xf0
304 00e0 0E94 0000 call sendbyte
305 /* epilogue: frame size=0 */
306 00e4 1F91 pop r17
307 00e6 0895 ret
308 /* epilogue end (size=2) */
309 /* function wr_comm_lcd size 16 (13) */
310 .LFE9:
312 .global wr_data_lcd
314 wr_data_lcd:
315 .LFB10:
316 .LM50:
317 /* prologue: frame size=0 */
318 00e8 1F93 push r17
319 /* prologue end (size=1) */
320 .LVL21:
321 00ea 182F mov r17,r24
322 .LM51:
323 00ec 8AEF ldi r24,lo8(-6)
324 .LVL22:
325 00ee 0E94 0000 call sendbyte
326 .LM52:
327 00f2 812F mov r24,r17
328 00f4 807F andi r24,lo8(-16)
329 00f6 0E94 0000 call sendbyte
330 .LM53:
331 00fa 812F mov r24,r17
332 00fc 8295 swap r24
333 00fe 807F andi r24,0xf0
334 0100 0E94 0000 call sendbyte
335 /* epilogue: frame size=0 */
336 0104 1F91 pop r17
337 0106 0895 ret
338 /* epilogue end (size=2) */
339 /* function wr_data_lcd size 16 (13) */
340 .LFE10:
342 .global init_lcd
344 init_lcd:
345 .LFB11:
346 .LM54:
347 /* prologue: frame size=0 */
348 0108 0F93 push r16
349 010a 1F93 push r17
350 /* prologue end (size=2) */
351 .LM55:
352 010c D898 cbi 59-0x20,0
353 .LBB96:
354 .LBB97:
355 .LBB98:
356 .LBB99:
357 .LM56:
358 010e 00ED ldi r16,lo8(2000)
359 0110 17E0 ldi r17,hi8(2000)
360 0112 C801 movw r24,r16
361 .LVL23:
362 /* #APP */
363 0114 0197 1: sbiw r24,1
364 0116 01F4 brne 1b
365 /* #NOAPP */
366 .LBE99:
367 .LBE98:
368 .LBE97:
369 .LBE96:
370 .LM57:
371 0118 D89A sbi 59-0x20,0
372 .LM58:
373 011a 8FEF ldi r24,lo8(-1)
374 .LVL24:
375 011c 8ABB out 58-0x20,r24
376 .LM59:
377 011e 80E3 ldi r24,lo8(48)
378 0120 0E94 0000 call wr_comm_lcd
379 .LBB100:
380 .LBB101:
381 .LBB102:
382 .LBB103:
383 .LM60:
384 0124 C801 movw r24,r16
385 .LVL25:
386 /* #APP */
387 0126 0197 1: sbiw r24,1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -