📄 ks0108.lst
字号:
1 .file "ks0108.c"
2 .arch atmega8
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 ks0108ReadFontData
20 ks0108ReadFontData:
21 .LFB9:
22 .LM1:
23 /* prologue: frame size=0 */
24 /* prologue end (size=0) */
25 .LVL0:
26 .LBB2:
27 .LM2:
28 0000 FC01 movw r30,r24
29 /* #APP */
30 0002 8491 lpm r24, Z
31
32 .LVL1:
33 /* #NOAPP */
34 .LBE2:
35 .LM3:
36 0004 9927 clr r25
37 .LVL2:
38 /* epilogue: frame size=0 */
39 0006 0895 ret
40 /* epilogue end (size=1) */
41 /* function ks0108ReadFontData size 7 (6) */
42 .LFE9:
44 .global ks0108SelectFont
46 ks0108SelectFont:
47 .LFB10:
48 .LM4:
49 /* prologue: frame size=0 */
50 /* prologue end (size=0) */
51 .LVL3:
52 .LM5:
53 0008 9093 0000 sts (ks0108Font)+1,r25
54 000c 8093 0000 sts ks0108Font,r24
55 .LM6:
56 0010 7093 0000 sts (ks0108FontRead)+1,r23
57 0014 6093 0000 sts ks0108FontRead,r22
58 .LM7:
59 0018 4093 0000 sts ks0108FontColor,r20
60 /* epilogue: frame size=0 */
61 001c 0895 ret
62 /* epilogue end (size=1) */
63 /* function ks0108SelectFont size 11 (10) */
64 .LFE10:
66 .global ks0108CharWidth
68 ks0108CharWidth:
69 .LFB14:
70 .LM8:
71 /* prologue: frame size=0 */
72 001e 0F93 push r16
73 0020 1F93 push r17
74 /* prologue end (size=2) */
75 .LVL4:
76 0022 082F mov r16,r24
77 .LM9:
78 0024 8091 0000 lds r24,ks0108Font
79 0028 9091 0000 lds r25,(ks0108Font)+1
80 .LVL5:
81 002c E091 0000 lds r30,ks0108FontRead
82 0030 F091 0000 lds r31,(ks0108FontRead)+1
83 0034 0496 adiw r24,4
84 0036 0995 icall
85 0038 182F mov r17,r24
86 .LVL6:
87 .LM10:
88 003a 8091 0000 lds r24,ks0108Font
89 003e 9091 0000 lds r25,(ks0108Font)+1
90 0042 E091 0000 lds r30,ks0108FontRead
91 0046 F091 0000 lds r31,(ks0108FontRead)+1
92 004a 0596 adiw r24,5
93 004c 0995 icall
94 .LM11:
95 004e 0117 cp r16,r17
96 0050 00F0 brlo .L6
97 .LM12:
98 0052 202F mov r18,r16
99 0054 3327 clr r19
100 .LVL7:
101 0056 810F add r24,r17
102 0058 912D mov r25,__zero_reg__
103 005a 911D adc r25,__zero_reg__
104 .LVL8:
105 005c 2817 cp r18,r24
106 005e 3907 cpc r19,r25
107 0060 04F4 brge .L6
108 .LVL9:
109 .LM13:
110 0062 011B sub r16,r17
111 0064 8091 0000 lds r24,ks0108Font
112 0068 9091 0000 lds r25,(ks0108Font)+1
113 006c 800F add r24,r16
114 006e 911D adc r25,__zero_reg__
115 0070 E091 0000 lds r30,ks0108FontRead
116 0074 F091 0000 lds r31,(ks0108FontRead)+1
117 0078 0696 adiw r24,6
118 007a 0995 icall
119 .LVL10:
120 007c 8F5F subi r24,lo8(-(1))
121 .LVL11:
122 007e 00C0 rjmp .L9
123 .LVL12:
124 .L6:
125 0080 80E0 ldi r24,lo8(0)
126 .LVL13:
127 .L9:
128 .LM14:
129 0082 9927 clr r25
130 .LVL14:
131 /* epilogue: frame size=0 */
132 0084 1F91 pop r17
133 0086 0F91 pop r16
134 0088 0895 ret
135 /* epilogue end (size=3) */
136 /* function ks0108CharWidth size 54 (49) */
137 .LFE14:
139 .global ks0108StringWidth
141 ks0108StringWidth:
142 .LFB15:
143 .LM15:
144 /* prologue: frame size=0 */
145 008a 0F93 push r16
146 008c 1F93 push r17
147 008e CF93 push r28
148 0090 DF93 push r29
149 /* prologue end (size=4) */
150 .LVL15:
151 0092 EC01 movw r28,r24
152 0094 00E0 ldi r16,lo8(0)
153 0096 10E0 ldi r17,hi8(0)
154 .LVL16:
155 0098 00C0 rjmp .L12
156 .LVL17:
157 .L13:
158 .LM16:
159 009a 2196 adiw r28,1
160 009c 00D0 rcall ks0108CharWidth
161 009e 080F add r16,r24
162 00a0 111D adc r17,__zero_reg__
163 .LVL18:
164 .L12:
165 .LM17:
166 00a2 8881 ld r24,Y
167 00a4 8823 tst r24
168 00a6 01F4 brne .L13
169 .LM18:
170 00a8 C801 movw r24,r16
171 /* epilogue: frame size=0 */
172 00aa DF91 pop r29
173 00ac CF91 pop r28
174 00ae 1F91 pop r17
175 00b0 0F91 pop r16
176 00b2 0895 ret
177 /* epilogue end (size=5) */
178 /* function ks0108StringWidth size 21 (12) */
179 .LFE15:
181 .global ks0108StringWidth_P
183 ks0108StringWidth_P:
184 .LFB16:
185 .LM19:
186 /* prologue: frame size=0 */
187 00b4 0F93 push r16
188 00b6 1F93 push r17
189 00b8 CF93 push r28
190 00ba DF93 push r29
191 /* prologue end (size=4) */
192 .LVL19:
193 00bc EC01 movw r28,r24
194 00be 00E0 ldi r16,lo8(0)
195 00c0 10E0 ldi r17,hi8(0)
196 .LVL20:
197 00c2 00C0 rjmp .L17
198 .LVL21:
199 .L18:
200 .LBB3:
201 .LM20:
202 00c4 2196 adiw r28,1
203 00c6 F901 movw r30,r18
204 /* #APP */
205 00c8 8491 lpm r24, Z
206
207 .LVL22:
208 /* #NOAPP */
209 .LBE3:
210 00ca 00D0 rcall ks0108CharWidth
211 .LVL23:
212 00cc 080F add r16,r24
213 00ce 111D adc r17,__zero_reg__
214 .LVL24:
215 .L17:
216 00d0 9E01 movw r18,r28
217 .LVL25:
218 .LBB4:
219 .LM21:
220 00d2 FE01 movw r30,r28
221 /* #APP */
222 00d4 8491 lpm r24, Z
223
224 .LVL26:
225 /* #NOAPP */
226 .LBE4:
227 00d6 8823 tst r24
228 00d8 01F4 brne .L18
229 .LM22:
230 00da C801 movw r24,r16
231 .LVL27:
232 /* epilogue: frame size=0 */
233 00dc DF91 pop r29
234 00de CF91 pop r28
235 00e0 1F91 pop r17
236 00e2 0F91 pop r16
237 00e4 0895 ret
238 /* epilogue end (size=5) */
239 /* function ks0108StringWidth_P size 31 (22) */
240 .LFE16:
242 .global ks0108Enable
244 ks0108Enable:
245 .LFB19:
246 .LM23:
247 /* prologue: frame size=1 */
248 00e6 CF93 push r28
249 00e8 DF93 push r29
250 00ea CDB7 in r28,__SP_L__
251 00ec DEB7 in r29,__SP_H__
252 00ee 2197 sbiw r28,1
253 00f0 0FB6 in __tmp_reg__,__SREG__
254 00f2 F894 cli
255 00f4 DEBF out __SP_H__,r29
256 00f6 0FBE out __SREG__,__tmp_reg__
257 00f8 CDBF out __SP_L__,r28
258 /* prologue end (size=10) */
259 .LM24:
260 00fa AA9A sbi 53-0x20,2
261 .LM25:
262 /* #APP */
263 00fc 0000 nop
264 00fe 0000 nop
265 0100 0000 nop
266
267 .LM26:
268 /* #NOAPP */
269 0102 AA98 cbi 53-0x20,2
270 .LBB5:
271 .LM27:
272 0104 1982 std Y+1,__zero_reg__
273 .LVL28:
274 0106 00C0 rjmp .L22
275 .L23:
276 .LM28:
277 0108 8981 ldd r24,Y+1
278 010a 8F5F subi r24,lo8(-(1))
279 010c 8983 std Y+1,r24
280 .L22:
281 010e 8981 ldd r24,Y+1
282 0110 8830 cpi r24,lo8(8)
283 0112 00F0 brlo .L23
284 .LBE5:
285 /* epilogue: frame size=1 */
286 0114 2196 adiw r28,1
287 0116 0FB6 in __tmp_reg__,__SREG__
288 0118 F894 cli
289 011a DEBF out __SP_H__,r29
290 011c 0FBE out __SREG__,__tmp_reg__
291 011e CDBF out __SP_L__,r28
292 0120 DF91 pop r29
293 0122 CF91 pop r28
294 0124 0895 ret
295 /* epilogue end (size=9) */
296 /* function ks0108Enable size 37 (18) */
297 .LFE19:
299 .global ks0108WriteCommand
301 ks0108WriteCommand:
302 .LFB22:
303 .LM29:
304 /* prologue: frame size=0 */
305 /* prologue end (size=0) */
306 .LVL29:
307 0126 982F mov r25,r24
308 .LM30:
309 0128 6623 tst r22
310 012a 01F4 brne .L27
311 .LVL30:
312 .LM31:
313 012c AC98 cbi 53-0x20,4
314 .LM32:
315 012e AB9A sbi 53-0x20,3
316 0130 00C0 rjmp .L29
317 .L27:
318 .LM33:
319 0132 6130 cpi r22,lo8(1)
320 0134 01F4 brne .L29
321 .LM34:
322 0136 AB98 cbi 53-0x20,3
323 .LM35:
324 0138 AC9A sbi 53-0x20,4
325 .L29:
326 .LM36:
327 013a A898 cbi 53-0x20,0
328 .LM37:
329 013c A998 cbi 53-0x20,1
330 .LM38:
331 013e 8FEF ldi r24,lo8(-1)
332 0140 81BB out 49-0x20,r24
333 .LM39:
334 0142 92BB out 50-0x20,r25
335 .LM40:
336 0144 00D0 rcall ks0108Enable
337 .LVL31:
338 .LM41:
339 0146 12BA out 50-0x20,__zero_reg__
340 /* epilogue: frame size=0 */
341 0148 0895 ret
342 /* epilogue end (size=1) */
343 /* function ks0108WriteCommand size 18 (17) */
344 .LFE22:
346 .global ks0108GotoXY
348 ks0108GotoXY:
349 .LFB17:
350 .LM42:
351 /* prologue: frame size=0 */
352 014a 1F93 push r17
353 /* prologue end (size=1) */
354 .LVL32:
355 .LM43:
356 014c 87FD sbrc r24,7
357 .LM44:
358 014e 80E0 ldi r24,lo8(0)
359 .L33:
360 .LM45:
361 0150 6034 cpi r22,lo8(64)
362 0152 00F0 brlo .L35
363 0154 60E0 ldi r22,lo8(0)
364 .L35:
365 .LM46:
366 0156 8093 0000 sts ks0108Coord,r24
367 .LM47:
368 015a 6093 0000 sts ks0108Coord+1,r22
369 .LM48:
370 015e 6695 lsr r22
371 0160 6695 lsr r22
372 0162 6695 lsr r22
373 0164 6093 0000 sts ks0108Coord+2,r22
374 .LM49:
375 0168 8034 cpi r24,lo8(64)
376 016a 00F4 brsh .L37
377 016c 60E0 ldi r22,lo8(0)
378 .LVL33:
379 016e 00C0 rjmp .L39
380 .LVL34:
381 .L37:
382 .LM50:
383 0170 8054 subi r24,lo8(-(-64))
384 0172 61E0 ldi r22,lo8(1)
385 .LVL35:
386 .L39:
387 .LM51:
388 0174 8064 ori r24,lo8(64)
389 .LVL36:
390 0176 00D0 rcall ks0108WriteCommand
391 .LVL37:
392 .LM52:
393 0178 1091 0000 lds r17,ks0108Coord+2
394 .LVL38:
395 017c 186B ori r17,lo8(-72)
396 .LM53:
397 017e 60E0 ldi r22,lo8(0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -