📄 gui.lst
字号:
1 .file "gui.c"
2 __SREG__ = 0x3f
3 __SP_H__ = 0x3e
4 __SP_L__ = 0x3d
5 __CCP__ = 0x34
6 __tmp_reg__ = 0
7 __zero_reg__ = 1
8 .global __do_copy_data
9 .global __do_clear_bss
17 .Ltext0:
18 .global GUI_DisPicture
20 GUI_DisPicture:
21 .LFB13:
22 .LM1:
23 .LVL0:
24 0000 8F92 push r8
25 0002 9F92 push r9
26 0004 AF92 push r10
27 0006 BF92 push r11
28 0008 CF92 push r12
29 000a DF92 push r13
30 000c EF92 push r14
31 000e FF92 push r15
32 0010 0F93 push r16
33 .LVL1:
34 0012 1F93 push r17
35 0014 CF93 push r28
36 0016 DF93 push r29
37 /* prologue: function */
38 /* frame size = 0 */
39 0018 E82E mov r14,r24
40 001a 6B01 movw r12,r22
41 001c A42E mov r10,r20
42 001e 4901 movw r8,r18
43 .LM2:
44 0020 482F mov r20,r24
45 .LVL2:
46 0022 50E0 ldi r21,lo8(0)
47 0024 62E0 ldi r22,lo8(2)
48 .LVL3:
49 0026 80E0 ldi r24,lo8(0)
50 .LVL4:
51 0028 0E94 0000 call LCD_WriteCommand
52 .LVL5:
53 .LM3:
54 002c A601 movw r20,r12
55 002e 63E0 ldi r22,lo8(3)
56 0030 81E0 ldi r24,lo8(1)
57 0032 0E94 0000 call LCD_WriteCommand
58 .LM4:
59 0036 FF24 clr r15
60 .LVL6:
61 0038 0894 sec
62 003a E108 sbc r14,__zero_reg__
63 003c F108 sbc r15,__zero_reg__
64 .LVL7:
65 003e BB24 clr r11
66 .LVL8:
67 0040 EA0C add r14,r10
68 0042 FB1C adc r15,r11
69 .LVL9:
70 0044 A701 movw r20,r14
71 0046 64E0 ldi r22,lo8(4)
72 0048 80E0 ldi r24,lo8(0)
73 004a 0E94 0000 call LCD_WriteCommand
74 .LM5:
75 004e 0894 sec
76 0050 C108 sbc r12,__zero_reg__
77 0052 D108 sbc r13,__zero_reg__
78 0054 C80C add r12,r8
79 0056 D91C adc r13,r9
80 0058 A601 movw r20,r12
81 005a 65E0 ldi r22,lo8(5)
82 005c 81E0 ldi r24,lo8(1)
83 005e 0E94 0000 call LCD_WriteCommand
84 .LM6:
85 0062 8A9C mul r8,r10
86 0064 6001 movw r12,r0
87 0066 8B9C mul r8,r11
88 0068 D00C add r13,r0
89 006a 9A9C mul r9,r10
90 006c D00C add r13,r0
91 006e 1124 clr r1
92 .LVL10:
93 0070 CC0C lsl r12
94 0072 DD1C rol r13
95 .LM7:
96 0074 8EE0 ldi r24,lo8(14)
97 0076 0E94 0000 call LCD_WriteRegister
98 007a E801 movw r28,r16
99 007c EE24 clr r14
100 007e FF24 clr r15
101 .LVL11:
102 .L2:
103 .LM8:
104 0080 1981 ldd r17,Y+1
105 0082 00E0 ldi r16,lo8(0)
106 0084 8881 ld r24,Y
107 0086 90E0 ldi r25,lo8(0)
108 0088 802B or r24,r16
109 008a 912B or r25,r17
110 008c 0E94 0000 call LCD_WriteData
111 .LM9:
112 0090 82E0 ldi r24,lo8(2)
113 0092 90E0 ldi r25,hi8(2)
114 0094 E80E add r14,r24
115 0096 F91E adc r15,r25
116 0098 2296 adiw r28,2
117 .LM10:
118 009a EC14 cp r14,r12
119 009c FD04 cpc r15,r13
120 009e 00F0 brlo .L2
121 /* epilogue start */
122 .LM11:
123 00a0 DF91 pop r29
124 00a2 CF91 pop r28
125 00a4 1F91 pop r17
126 00a6 0F91 pop r16
127 00a8 FF90 pop r15
128 .LVL12:
129 00aa EF90 pop r14
130 .LVL13:
131 00ac DF90 pop r13
132 00ae CF90 pop r12
133 .LVL14:
134 00b0 BF90 pop r11
135 .LVL15:
136 00b2 AF90 pop r10
137 .LVL16:
138 00b4 9F90 pop r9
139 00b6 8F90 pop r8
140 .LVL17:
141 00b8 0895 ret
142 .LFE13:
144 .global GUI_RLine
146 GUI_RLine:
147 .LFB12:
148 .LM12:
149 .LVL18:
150 00ba CF92 push r12
151 00bc DF92 push r13
152 00be FF92 push r15
153 00c0 0F93 push r16
154 00c2 1F93 push r17
155 00c4 CF93 push r28
156 00c6 DF93 push r29
157 /* prologue: function */
158 /* frame size = 0 */
159 00c8 F82E mov r15,r24
160 00ca 8B01 movw r16,r22
161 00cc EA01 movw r28,r20
162 00ce 6901 movw r12,r18
163 .LM13:
164 00d0 482F mov r20,r24
165 .LVL19:
166 00d2 50E0 ldi r21,lo8(0)
167 00d4 62E0 ldi r22,lo8(2)
168 .LVL20:
169 00d6 80E0 ldi r24,lo8(0)
170 .LVL21:
171 00d8 0E94 0000 call LCD_WriteCommand
172 .LVL22:
173 .LM14:
174 00dc A801 movw r20,r16
175 00de 63E0 ldi r22,lo8(3)
176 00e0 81E0 ldi r24,lo8(1)
177 00e2 0E94 0000 call LCD_WriteCommand
178 .LM15:
179 00e6 4F2D mov r20,r15
180 00e8 50E0 ldi r21,lo8(0)
181 00ea 64E0 ldi r22,lo8(4)
182 00ec 80E0 ldi r24,lo8(0)
183 00ee 0E94 0000 call LCD_WriteCommand
184 .LM16:
185 00f2 0150 subi r16,lo8(-(-1))
186 00f4 1040 sbci r17,hi8(-(-1))
187 00f6 0C0F add r16,r28
188 00f8 1D1F adc r17,r29
189 00fa A801 movw r20,r16
190 00fc 65E0 ldi r22,lo8(5)
191 00fe 81E0 ldi r24,lo8(1)
192 0100 0E94 0000 call LCD_WriteCommand
193 .LM17:
194 0104 8EE0 ldi r24,lo8(14)
195 0106 0E94 0000 call LCD_WriteRegister
196 .L6:
197 .LM18:
198 010a C601 movw r24,r12
199 010c 0E94 0000 call LCD_WriteData
200 .LM19:
201 0110 2197 sbiw r28,1
202 .LM20:
203 0112 01F4 brne .L6
204 /* epilogue start */
205 .LM21:
206 0114 DF91 pop r29
207 0116 CF91 pop r28
208 .LVL23:
209 0118 1F91 pop r17
210 011a 0F91 pop r16
211 .LVL24:
212 011c FF90 pop r15
213 .LVL25:
214 011e DF90 pop r13
215 0120 CF90 pop r12
216 .LVL26:
217 0122 0895 ret
218 .LFE12:
220 .global GUI_HLine
222 GUI_HLine:
223 .LFB11:
224 .LM22:
225 .LVL27:
226 0124 DF92 push r13
227 0126 EF92 push r14
228 0128 FF92 push r15
229 012a 0F93 push r16
230 012c 1F93 push r17
231 012e CF93 push r28
232 0130 DF93 push r29
233 /* prologue: function */
234 /* frame size = 0 */
235 0132 082F mov r16,r24
236 0134 7B01 movw r14,r22
237 0136 D42E mov r13,r20
238 0138 E901 movw r28,r18
239 .LM23:
240 013a 482F mov r20,r24
241 .LVL28:
242 013c 50E0 ldi r21,lo8(0)
243 013e 62E0 ldi r22,lo8(2)
244 .LVL29:
245 0140 80E0 ldi r24,lo8(0)
246 .LVL30:
247 0142 0E94 0000 call LCD_WriteCommand
248 .LVL31:
249 .LM24:
250 0146 A701 movw r20,r14
251 0148 63E0 ldi r22,lo8(3)
252 014a 81E0 ldi r24,lo8(1)
253 014c 0E94 0000 call LCD_WriteCommand
254 .LM25:
255 0150 10E0 ldi r17,lo8(0)
256 .LVL32:
257 0152 0150 subi r16,lo8(-(-1))
258 0154 1040 sbci r17,hi8(-(-1))
259 .LVL33:
260 0156 0D0D add r16,r13
261 0158 111D adc r17,__zero_reg__
262 .LVL34:
263 015a A801 movw r20,r16
264 015c 64E0 ldi r22,lo8(4)
265 015e 80E0 ldi r24,lo8(0)
266 0160 0E94 0000 call LCD_WriteCommand
267 .LM26:
268 0164 A701 movw r20,r14
269 0166 65E0 ldi r22,lo8(5)
270 0168 81E0 ldi r24,lo8(1)
271 016a 0E94 0000 call LCD_WriteCommand
272 .LM27:
273 016e 8EE0 ldi r24,lo8(14)
274 0170 0E94 0000 call LCD_WriteRegister
275 .L10:
276 .LM28:
277 0174 CE01 movw r24,r28
278 0176 0E94 0000 call LCD_WriteData
279 .LM29:
280 017a DA94 dec r13
281 .LM30:
282 017c 01F4 brne .L10
283 /* epilogue start */
284 .LM31:
285 017e DF91 pop r29
286 0180 CF91 pop r28
287 .LVL35:
288 0182 1F91 pop r17
289 .LVL36:
290 0184 0F91 pop r16
291 .LVL37:
292 0186 FF90 pop r15
293 0188 EF90 pop r14
294 .LVL38:
295 018a DF90 pop r13
296 .LVL39:
297 018c 0895 ret
298 .LFE11:
300 .global GUI_Point
302 GUI_Point:
303 .LFB7:
304 .LM32:
305 .LVL40:
306 018e CF92 push r12
307 0190 DF92 push r13
308 0192 EF92 push r14
309 0194 FF92 push r15
310 0196 1F93 push r17
311 /* prologue: function */
312 /* frame size = 0 */
313 0198 182F mov r17,r24
314 019a 7B01 movw r14,r22
315 019c 6A01 movw r12,r20
316 .LM33:
317 019e 482F mov r20,r24
318 .LVL41:
319 01a0 50E0 ldi r21,lo8(0)
320 01a2 62E0 ldi r22,lo8(2)
321 .LVL42:
322 01a4 80E0 ldi r24,lo8(0)
323 .LVL43:
324 01a6 0E94 0000 call LCD_WriteCommand
325 .LM34:
326 01aa A701 movw r20,r14
327 01ac 63E0 ldi r22,lo8(3)
328 01ae 81E0 ldi r24,lo8(1)
329 01b0 0E94 0000 call LCD_WriteCommand
330 .LM35:
331 01b4 412F mov r20,r17
332 01b6 50E0 ldi r21,lo8(0)
333 01b8 64E0 ldi r22,lo8(4)
334 01ba 80E0 ldi r24,lo8(0)
335 01bc 0E94 0000 call LCD_WriteCommand
336 .LM36:
337 01c0 A701 movw r20,r14
338 01c2 65E0 ldi r22,lo8(5)
339 01c4 81E0 ldi r24,lo8(1)
340 01c6 0E94 0000 call LCD_WriteCommand
341 .LM37:
342 01ca 8EE0 ldi r24,lo8(14)
343 01cc 0E94 0000 call LCD_WriteRegister
344 .LM38:
345 01d0 C601 movw r24,r12
346 01d2 0E94 0000 call LCD_WriteData
347 /* epilogue start */
348 .LM39:
349 01d6 1F91 pop r17
350 .LVL44:
351 01d8 FF90 pop r15
352 01da EF90 pop r14
353 .LVL45:
354 01dc DF90 pop r13
355 01de CF90 pop r12
356 .LVL46:
357 01e0 0895 ret
358 .LFE7:
360 .global GUI_line
362 GUI_line:
363 .LFB14:
364 .LM40:
365 .LVL47:
366 01e2 2F92 push r2
367 01e4 3F92 push r3
368 01e6 4F92 push r4
369 01e8 5F92 push r5
370 01ea 6F92 push r6
371 01ec 7F92 push r7
372 01ee 8F92 push r8
373 01f0 9F92 push r9
374 01f2 AF92 push r10
375 01f4 BF92 push r11
376 01f6 CF92 push r12
377 01f8 DF92 push r13
378 01fa EF92 push r14
379 01fc FF92 push r15
380 01fe 0F93 push r16
381 .LVL48:
382 0200 1F93 push r17
383 0202 DF93 push r29
384 0204 CF93 push r28
385 0206 CDB7 in r28,__SP_L__
386 0208 DEB7 in r29,__SP_H__
387 020a 2897 sbiw r28,8
388 020c 0FB6 in __tmp_reg__,__SREG__
389 020e F894 cli
390 0210 DEBF out __SP_H__,r29
391 0212 0FBE out __SREG__,__tmp_reg__
392 0214 CDBF out __SP_L__,r28
393 /* prologue: function */
394 /* frame size = 8 */
395 0216 7A01 movw r14,r20
396 .LVL49:
397 0218 1C83 std Y+4,r17
398 021a 0B83 std Y+3,r16
399 .LVL50:
400 .LM41:
401 021c E81A sub r14,r24
402 021e F90A sbc r15,r25
403 .LM42:
404 0220 261B sub r18,r22
405 0222 370B sbc r19,r23
406 0224 3887 std Y+8,r19
407 0226 2F83 std Y+7,r18
408 .LVL51:
409 .LM43:
410 0228 1E14 cp __zero_reg__,r14
411 022a 1F04 cpc __zero_reg__,r15
412 022c 04F4 brge .L16
413 .LVL52:
414 022e 21E0 ldi r18,lo8(1)
415 0230 30E0 ldi r19,hi8(1)
416 .LVL53:
417 0232 3A83 std Y+2,r19
418 0234 2983 std Y+1,r18
419 .LVL54:
420 0236 00C0 rjmp .L17
421 .LVL55:
422 .L16:
423 .LM44:
424 0238 E114 cp r14,__zero_reg__
425 023a F104 cpc r15,__zero_reg__
426 023c 01F4 brne .L18
427 023e 1A82 std Y+2,__zero_reg__
428 0240 1982 std Y+1,__zero_reg__
429 .LVL56:
430 0242 00C0 rjmp .L17
431 .LVL57:
432 .L18:
433 .LM45:
434 0244 F094 com r15
435 0246 E194 neg r14
436 0248 F108 sbc r15,__zero_reg__
437 024a F394 inc r15
438 024c EFEF ldi r30,lo8(-1)
439 024e FFEF ldi r31,hi8(-1)
440 0250 FA83 std Y+2,r31
441 0252 E983 std Y+1,r30
442 .LVL58:
443 .L17:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -