📄 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 DelayUs
20 DelayUs:
21 .LFB2:
22 .LM1:
23 /* prologue: frame size=0 */
24 /* prologue end (size=0) */
25 .LVL0:
26 /* epilogue: frame size=0 */
27 0000 0895 ret
28 /* epilogue end (size=1) */
29 /* function DelayUs size 1 (0) */
30 .LFE2:
32 .global DelayMs
34 DelayMs:
35 .LFB3:
36 .LM2:
37 /* prologue: frame size=0 */
38 0002 1F93 push r17
39 0004 CF93 push r28
40 0006 DF93 push r29
41 /* prologue end (size=3) */
42 .LVL1:
43 0008 EC01 movw r28,r24
44 000a 00C0 rjmp .L4
45 .LVL2:
46 .L5:
47 .LM3:
48 000c 13E0 ldi r17,lo8(3)
49 .L6:
50 .LM4:
51 000e 8AEF ldi r24,lo8(-6)
52 0010 0E94 0000 call DelayUs
53 .LM5:
54 0014 1150 subi r17,1
55 0016 00F4 brcc .L6
56 .LVL3:
57 .L4:
58 .LM6:
59 0018 2197 sbiw r28,1
60 001a 8FEF ldi r24,hi8(-1)
61 001c CF3F cpi r28,lo8(-1)
62 001e D807 cpc r29,r24
63 0020 01F4 brne .L5
64 /* epilogue: frame size=0 */
65 0022 DF91 pop r29
66 0024 CF91 pop r28
67 0026 1F91 pop r17
68 0028 0895 ret
69 /* epilogue end (size=4) */
70 /* function DelayMs size 21 (14) */
71 .LFE3:
73 .global delay4us
75 delay4us:
76 .LFB4:
77 .LM7:
78 /* prologue: frame size=0 */
79 /* prologue end (size=0) */
80 /* epilogue: frame size=0 */
81 002a 0895 ret
82 /* epilogue end (size=1) */
83 /* function delay4us size 1 (0) */
84 .LFE4:
86 .global delay100ms
88 delay100ms:
89 .LFB5:
90 .LM8:
91 /* prologue: frame size=0 */
92 /* prologue end (size=0) */
93 .LM9:
94 002c 84E6 ldi r24,lo8(100)
95 002e 90E0 ldi r25,hi8(100)
96 0030 0E94 0000 call DelayMs
97 /* epilogue: frame size=0 */
98 0034 0895 ret
99 /* epilogue end (size=1) */
100 /* function delay100ms size 5 (4) */
101 .LFE5:
103 .global delay500ms
105 delay500ms:
106 .LFB6:
107 .LM10:
108 /* prologue: frame size=0 */
109 /* prologue end (size=0) */
110 .LM11:
111 0036 84EF ldi r24,lo8(500)
112 0038 91E0 ldi r25,hi8(500)
113 003a 0E94 0000 call DelayMs
114 /* epilogue: frame size=0 */
115 003e 0895 ret
116 /* epilogue end (size=1) */
117 /* function delay500ms size 5 (4) */
118 .LFE6:
120 .global delay1s
122 delay1s:
123 .LFB7:
124 .LM12:
125 /* prologue: frame size=0 */
126 /* prologue end (size=0) */
127 .LM13:
128 0040 88EE ldi r24,lo8(1000)
129 0042 93E0 ldi r25,hi8(1000)
130 0044 0E94 0000 call DelayMs
131 /* epilogue: frame size=0 */
132 0048 0895 ret
133 /* epilogue end (size=1) */
134 /* function delay1s size 5 (4) */
135 .LFE7:
137 .global Lcd_Busy
139 Lcd_Busy:
140 .LFB8:
141 .LM14:
142 /* prologue: frame size=0 */
143 /* prologue end (size=0) */
144 .LM15:
145 004a 17BA out 55-0x20,__zero_reg__
146 .LM16:
147 004c 9798 cbi 50-0x20,7
148 004e 9598 cbi 50-0x20,5
149 0050 969A sbi 50-0x20,6
150 .LM17:
151 0052 82E0 ldi r24,lo8(2)
152 0054 0E94 0000 call DelayUs
153 .LM18:
154 0058 979A sbi 50-0x20,7
155 .LM19:
156 005a 82E0 ldi r24,lo8(2)
157 005c 0E94 0000 call DelayUs
158 .LM20:
159 0060 86B3 in r24,54-0x20
160 .LM21:
161 0062 9798 cbi 50-0x20,7
162 .LM22:
163 0064 9FEF ldi r25,lo8(-1)
164 0066 97BB out 55-0x20,r25
165 0068 8078 andi r24,lo8(-128)
166 .LM23:
167 006a 9927 clr r25
168 /* epilogue: frame size=0 */
169 006c 0895 ret
170 /* epilogue end (size=1) */
171 /* function Lcd_Busy size 18 (17) */
172 .LFE8:
174 .global Lcd_Command
176 Lcd_Command:
177 .LFB9:
178 .LM24:
179 /* prologue: frame size=0 */
180 006e 1F93 push r17
181 /* prologue end (size=1) */
182 .LVL4:
183 0070 182F mov r17,r24
184 .LVL5:
185 .L23:
186 .LM25:
187 0072 0E94 0000 call Lcd_Busy
188 0076 8823 tst r24
189 0078 01F4 brne .L23
190 .LM26:
191 007a 9798 cbi 50-0x20,7
192 007c 9598 cbi 50-0x20,5
193 007e 9698 cbi 50-0x20,6
194 .LM27:
195 0080 82E0 ldi r24,lo8(2)
196 0082 0E94 0000 call DelayUs
197 .LM28:
198 0086 979A sbi 50-0x20,7
199 .LM29:
200 0088 18BB out 56-0x20,r17
201 .LM30:
202 008a 82E0 ldi r24,lo8(2)
203 008c 0E94 0000 call DelayUs
204 .LM31:
205 0090 9798 cbi 50-0x20,7
206 /* epilogue: frame size=0 */
207 0092 1F91 pop r17
208 0094 0895 ret
209 /* epilogue end (size=2) */
210 /* function Lcd_Command size 20 (17) */
211 .LFE9:
213 .global Lcd_Write
215 Lcd_Write:
216 .LFB10:
217 .LM32:
218 /* prologue: frame size=0 */
219 0096 1F93 push r17
220 /* prologue end (size=1) */
221 .LVL6:
222 0098 182F mov r17,r24
223 .LVL7:
224 .L30:
225 .LM33:
226 009a 0E94 0000 call Lcd_Busy
227 009e 8823 tst r24
228 00a0 01F4 brne .L30
229 .LM34:
230 00a2 9798 cbi 50-0x20,7
231 00a4 959A sbi 50-0x20,5
232 00a6 9698 cbi 50-0x20,6
233 .LM35:
234 00a8 82E0 ldi r24,lo8(2)
235 00aa 0E94 0000 call DelayUs
236 .LM36:
237 00ae 979A sbi 50-0x20,7
238 .LM37:
239 00b0 18BB out 56-0x20,r17
240 .LM38:
241 00b2 82E0 ldi r24,lo8(2)
242 00b4 0E94 0000 call DelayUs
243 .LM39:
244 00b8 9798 cbi 50-0x20,7
245 /* epilogue: frame size=0 */
246 00ba 1F91 pop r17
247 00bc 0895 ret
248 /* epilogue end (size=2) */
249 /* function Lcd_Write size 20 (17) */
250 .LFE10:
252 .global SendByte
254 SendByte:
255 .LFB11:
256 .LM40:
257 /* prologue: frame size=0 */
258 00be 0F93 push r16
259 00c0 1F93 push r17
260 /* prologue end (size=2) */
261 .LVL8:
262 00c2 182F mov r17,r24
263 00c4 062F mov r16,r22
264 .LVL9:
265 .L37:
266 .LM41:
267 00c6 0E94 0000 call Lcd_Busy
268 00ca 8823 tst r24
269 00cc 01F4 brne .L37
270 .LM42:
271 00ce 9798 cbi 50-0x20,7
272 .LM43:
273 00d0 1123 tst r17
274 00d2 01F0 breq .L39
275 .LM44:
276 00d4 959A sbi 50-0x20,5
277 00d6 00C0 rjmp .L41
278 .L39:
279 .LM45:
280 00d8 9598 cbi 50-0x20,5
281 .L41:
282 .LM46:
283 00da 9698 cbi 50-0x20,6
284 .LM47:
285 00dc 979A sbi 50-0x20,7
286 .LM48:
287 00de 08BB out 56-0x20,r16
288 .LM49:
289 00e0 9798 cbi 50-0x20,7
290 /* epilogue: frame size=0 */
291 00e2 1F91 pop r17
292 00e4 0F91 pop r16
293 00e6 0895 ret
294 /* epilogue end (size=3) */
295 /* function SendByte size 21 (16) */
296 .LFE11:
298 .global Lcd_Init
300 Lcd_Init:
301 .LFB12:
302 .LM50:
303 /* prologue: frame size=0 */
304 /* prologue end (size=0) */
305 .LM51:
306 00e8 8FEF ldi r24,lo8(-1)
307 00ea 87BB out 55-0x20,r24
308 .LM52:
309 00ec 81BB out 49-0x20,r24
310 .LM53:
311 00ee 88E3 ldi r24,lo8(56)
312 00f0 0E94 0000 call Lcd_Command
313 .LM54:
314 00f4 88E3 ldi r24,lo8(56)
315 00f6 0E94 0000 call Lcd_Command
316 .LM55:
317 00fa 88E3 ldi r24,lo8(56)
318 00fc 0E94 0000 call Lcd_Command
319 .LM56:
320 0100 88E3 ldi r24,lo8(56)
321 0102 0E94 0000 call Lcd_Command
322 .LM57:
323 0106 88E0 ldi r24,lo8(8)
324 0108 0E94 0000 call Lcd_Command
325 .LM58:
326 010c 81E0 ldi r24,lo8(1)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -